第6章Zabbix分布式监控

p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; text-indent: 5.0pt; line-height: 150%; font-size: 10.5pt; font-family: Consolas }
h1 { margin-top: 17.0pt; margin-right: 0cm; margin-bottom: 16.5pt; margin-left: 0cm; text-align: justify; text-indent: 0cm; line-height: 240%; page-break-after: avoid; font-size: 20.0pt; font-family: Consolas }
h2 { margin-top: 13.0pt; margin-right: 0cm; margin-bottom: 13.0pt; margin-left: 0cm; text-align: justify; text-indent: 0cm; line-height: 172%; page-break-after: avoid; font-size: 18.0pt; font-family: Consolas }
h3 { margin-top: 13.0pt; margin-right: 0cm; margin-bottom: 13.0pt; margin-left: 0cm; text-align: justify; text-indent: 0cm; line-height: 150%; page-break-after: avoid; font-size: 16.0pt; font-family: Consolas }
h4 { margin-top: 14.0pt; margin-right: 0cm; margin-bottom: 14.5pt; margin-left: 0cm; text-align: justify; text-indent: 0cm; line-height: 157%; page-break-after: avoid; font-size: 14.0pt; font-family: Consolas }
p.MsoListParagraph,li.MsoListParagraph,div.MsoListParagraph { margin: 0cm; margin-bottom: .0001pt; text-align: justify; text-indent: 21.0pt; line-height: 150%; font-size: 10.5pt; font-family: Consolas }
span.1Char
{ font-family: Consolas; font-weight: bold }
span.2Char
{ font-family: Consolas; font-weight: bold }
span.3Char
{ font-family: Consolas; font-weight: bold }
span.4Char
{ font-family: Consolas; font-weight: bold }
p.a,li.a,div.a { margin-top: 0cm; margin-right: 5.0pt; margin-left: 5.0pt; margin-bottom: .0001pt; text-indent: 5.0pt; line-height: 12.0pt; background: #F2F2F2; font-size: 10.5pt; font-family: Consolas; color: #333333 }
span.Char { font-family: Consolas; color: #333333; background: #F2F2F2 }
.MsoChpDefault { font-family: "Calibri", "sans-serif" }
div.WordSection1 { }
ol { margin-bottom: 0cm }
ul { margin-bottom: 0cm }

Zabbix是一个分布式的监控系统。分布式监控适合跨机房、跨地域的网络监控。从多个Proxy收集数据,而每个Proxy可以采集多个设备的数据,从而轻松地构建分布式监控系统。

ZabbixProxy可以用在以下环境中。

1.监控远程区域。

2.监控拥有不可靠网络连接的区域。

3.当监控以千计的设备时分担Zabbix-Server服务器的压力。

4.简化分布式监控的维护。

Proxy架构的使用环境可以用6-1来表示。

图6-1

1.Proxy和Server之间只需要一个TCP端口连接。因此,从安全方面考虑,需要一条防火墙规则来确保数据传输的安全。

2.Proxy采集到的数据在传送给服务器之前都报错在本地。这样保证Proxy和Server断开数据不丢失。ProxyLocalBuffer和ProxyOfflineBuffer控制数据在本地保存的时间。

1.1准备部署Proxy环境

下面要开始实践了,首先说明下实践环境:


主机名


IP地址


描述


系统版本


linux-node1.com


192.168.90.11


Zabbix-Server


CentOS7


linux-node2.com


192.168.90.12


Zabbix-Proxy


CentOS7


linux-node4.com


192.168.90.14


Zabbix-Agent


CentOS6

1.2安装Zabbix-proxy

源码安装Zabbix的时候加上--enable-proxy参数。

1.采用yum安装,yum安装方式如下:

[[email protected]
~]# rpm -ivh
http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

[[email protected]
~]# yum install zabbix-proxy zabbix-proxy-mysql mariadb -y

1.  导入Zabbix-Proxy的数据库

[[email protected]
~]# systemctl start mariadb

MariaDB
[(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;

MariaDB
[(none)]> grant all privileges on zabbix_proxy.* to [email protected]
identified by ‘zabbix_proxy‘;

MariaDB
[(none)]> flush privileges;

[[email protected]
~]# cd /usr/share/doc/zabbix-proxy-mysql-3.0.3/

[[email protected]
zabbix-proxy-mysql-3.0.3]# zcat schema.sql.gz |mysql -uroot zabbix_proxy

3.配置Zabbix-Proxy.conf

zabbix-proxy配置文件详解:https://www.zabbix.com/documentation/3.0/manual/appendix/config/zabbix_proxy

[[email protected]
~]# grep ‘^[a-Z]‘ /etc/zabbix/zabbix_proxy.conf

Server=192.168.90.11

Hostname=Zabbix
proxy

LogFile=/var/log/zabbix/zabbix_proxy.log

LogFileSize=0

PidFile=/var/run/zabbix/zabbix_proxy.pid

DBName=zabbix_proxy

DBUser=zabbix_proxy

DBPassword=zabbix_proxy

SNMPTrapperFile=/var/log/snmptrap/snmptrap.log

Timeout=4

ExternalScripts=/usr/lib/zabbix/externalscripts

LogSlowQueries=3000

4.启动Zabbix-Proxy服务

[[email protected]
~]# systemctl start zabbix-proxy

[[email protected]
~]# systemctl enable zabbix-proxy

1.3Web界面配置Proxy

在Zabbix
Server GUI中配置zabbix-proxy:单击Administrator→Prxies 如图6-2所示

图6-2

1.4监控Proxy架构主机

1.监控一台Agent主机,Agent端调整为主动模式,以及监听的Server为Proxy的IP

[[email protected]
~]# grep ‘^[a-Z]‘ /etc/zabbix/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid

LogFile=/var/log/zabbix/zabbix_agentd.log

LogFileSize=0

Server=127.0.0.1

ServerActive=192.168.90.12

Hostname=linux-node4.com

Include=/etc/zabbix/zabbix_agentd.d/

2.添加主机的方式和正常模式一样。唯一的不同是Monitored by Proxy选项选择的是Proxy名称。如图6-3

图6-3

3.添加主动模式)模板,如图6-4所示

图6-4

4.查看使用Proxy监控,如图6-5、图6-6

图6-5

图6-6

如果zabbix_proxy出现错误:started to fail (ZBX_TCP_READ() failed: [4] Interrupted system call)

解决办法:注释server以及Proxy主机上hosts中取消Zabbix
Agent,重启server以及Proxy

1.5Proxy主被模式

zabbix-agent的工作方式有Active(主动模式)和Passive(被动模式)。Zabbix-Server和Zabbix-Agent之间的通信是Zabbix的专用协议,数据格式为JSON。主动模式由于是Agent将采集到的数据主动发送给Server,而不要需要Server每次连接Agent等待采集,所以采用主动模式会使Zabbix-Server具有最好的性能,在实际生产环境中,一定要将工作模式设置为主动模式,并尽可能地采用更多的Proxy,以降低Server的负担。

1.5.1Porxy被动模式

默认情况下,Zabbix-Agent工作在被动模式下,工作的模式是由Key和Zabbix_agent.conf参数配置决定的。

图6-7

在zabbix-agent.conf文件中设置被动模式,即将Server参数设置为允许连接的Server,修改配置文件需要重启Zabbix-agent

Server
= 127.0.0.1,192.168.90.11

被动模式的流程

1.Server打开一个TCP连接。

2.Server发送一个Key为Agent.ping

3.Agent接受到这个请求,然后响应数据

4.Server对接收到的数据进行处理。

5.TCP连接关闭。

1.5.2Proxy主动模式

在zabbix-agent.conf文件中设置主动模式,即将ServerActive参数设置为允许连接的{Server|Proxy},即可配置主动模式。修改配置文件需要重启Zabbix-agent

ServerActive
= 127.0.0.1,192.168.90.11

在item中,将Items的检测方式修改为主动模式(默认为被动模式),为了提高性能或者环境需要,将所有的items批量修改为主动模式。

图6-8

图6-9

Agent向Server请求检测列表

1.Agent向Server建立一个TCP的连接。

2.Agent请求需要检测的数据列表。

3.Server响应Agent,发送一个Items列表。

4.Agent响应请求。

5.TCP连接完成本次会话后关闭。

6.Agent开始周期性地收集数据。

Agent发送数据给Server

1.Agent向Server建立一个TCP连接。

2.Agent发送在采集周期内,需要采集数据给server

3.Server处理Agent发送的数据。

4.TCP连接关闭。

时间: 2024-10-28 23:26:12

第6章Zabbix分布式监控的相关文章

LNMP+zabbix分布式监控搭建及版本升级

LNMP+zabbix分布式监控搭建需要组件:gcc gcc-c++ openssl* pcre pcre-devel gd gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel autoconf automake imake expat-devel cmake libaio libaio-devel bzr bison libtool ncurses5-devel ncurses-devel ne

自动化运维工具之Zabbix分布式监控应用(五)

分布式监控概述proxy and nodeZabbix常用3种架构-->Server-agent-->Server-Node-agent-->Server-Proxy-agent Zabbix能高效地监控分布式IT架构在大型环境中Zabbix提供两种解决方案-->使用代理(proxy)-->使用节点(node)Proxy or Node?-->代理(proxy)用于本区域数据收集,并将数据发送给server-->节点(node)提供完整的Zabbix server

Zabbix分布式监控(zabbix-proxy)的配置关键点

Zabbix Proxy简介 Zabbix Proxy是实现Zabbix分布式监控的重要组成部分,是连接Zabbix Agent和Zabbix Server的"中间人"."连接器"."路由器"等.Zabbix Proxy将来自Agent的数据推送(push)到Zabbix Server或者由Zabbix Server来拿取(fetch). 与Zabbix Server相比Zabbix Proxy不需要使用或安装GUI(Graphical User

zabbix分布式监控部署proxy安装

之前写过一篇源码安装zabbix2.2.9版本,server端安装文档: http://mofansheng.blog.51cto.com/8792265/1679728 下面分享一下zabbix分布式监控proxy安装过程: 环境说明:centos6.6 64位系统:LAMP环境: 前提是zabbix server端已经安装完毕,server IP为192.168.20.10,proxy本机 IP 为192.168.20.11 :agent IP为192.168.20.12: 1.编译安装za

Zabbix分布式监控系统的初步搭建

昨天搞了整整一天,各种问题.搭建环境为LAMP,我天真的用LNMP去搭建,结果死活运行不起来zabbix的前台页面. 还有PHP的时区问题.mysql的连接问题.今天从开始安装,尽量整理重现碰到的所有问题,以及后续的解决办法 1.linux系统安装,用的是6.0minimal,安装过程就不写了. 2.环境搭建 LAMP apache我直接使用的yum安装 yum -y install httpd PHP同样也是yum 安装,也可以用源码. yum安装 yum install php php-fp

Zabbix分布式监控系统简介

Zabbix是一个企业级的开源分布式监控解决方案,Zabbix软件可以自由下载使用,运作团队靠提供收费的技术支持赢利.官方网站为http://www.zabbix.com,官方文档为https://www.zabbix.com/documentation/3.0/,Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置.Zabbix由Zabbix Server和Zabbix Agent两部分构成. Zabbix Server可以单独监视远程服务器的服务状态:同时也可以与Zabbi

Zabbix分布式监控proxy实现

分布式监控概述 分布式监控,主要用在与机房分布在多个城市,在各地机房部署zabbix proxy服务器,由zabbix proxy服务器收集各个机房的agent数据,然后将这些数据主动或被动发送到zabbix Server. Zabbix提供了两种分布式解决方案: 使用代理(proxy):zabbix-proxy负载收集数据,并把数据发送到zabbixserver,数据在本地缓存一段时间,但不会保存在本地 使用节点(node):完整的zabbixserver,把自己监控到的数据信息发送给主节点一

zabbix分布式监控4(2.4)

zabbix_server端当主机数量过多的时候,由Server端去收集数据,Zabbix会出现严重的性能问题,主要表现如下: 1.当被监控端到达一个量级的时候,Web操作很卡,容易出现502 2.图层断裂 3.开启的进程(Pollar)太多,即使减少item数量,以后加入一定量的机器也会有问题 所以下面主要往两个优化方向考虑: 1.添加Proxy节点或者Node模式做分布式监控 2.调整Agentd为主动模式 本文章主要讲配置调整Agentd为主动模式 1.被监控端 zabbix_Agentd

Centos7 zabbix 分布式监控

分布式监控 zabbix Server ===> zabbix agent (只能同一个局域网监控) ????分布式监控: ????????a. 分担压力,降低负载 ????????b. 多机房监控 ???????? zabbix Server(北京) ==> zabbix proxy(每个机房搭建) ==> 环境 ????????ZABBIX SERVER m01 ????????zabbix proxy web01 ????????zabbix agent web02 第一步:在代理