监控利器Zabbix之主动模式和被动模式

一:zabbix的主动模式和被动模式

zabbix客户端分数据给服务端分为主被动两种模式,主动模式是zabbix客户端主动向服务端发送数据,被动模式是被动等待客户端来取数据。

主动模式的流程:

客户端每隔一段时间主动向服务端发起连接请求–>服务端收到请求,查询客户端需要取的item信息,发送给客户端–>客户端收集数据发送服务端–>结束。
被动模式的流程:
客户端开一个端口默认10050,等待服务端来取数据,然后客户端收集数据发送到服务端,然后结束。

二:主动模式使用的一个场景

当服务端监控的主机达到一定数量之后,由Server端去收集数据,Zabbix会出现严重的性能问题,主要表现如下:

1、当被监控端到达一个量级的时候,Web操作很卡,容易出现502
2、图层断裂
3、开启的进程(Pollar)太多,即使减少item数量,以后加入一定量的机器也会有问题

所以下面主要往两个优化方向考虑:

1、添加Proxy节点或者Node模式做分布式监控
2、调整Agentd为主动模式

由于第一个方案需要增加物理机器,所以首先尝试第二方案。

三:被动模式配置

1、agent配置如下:

[root@zabbix_client ]# grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf 
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
StartAgents=3
Server=10.0.0.64
ServerActive=10.0.0.64
Hostname=zabbix_client
HostMetadataItem=system.uname

重启zabbix:

systemctl restart zabbix-agent

2、zabbix-server端:

因为zabbix监控模板默认使用的就是被动模式,所以zabbix-server端直接添加hosts默认使用的就是被动模式。

四:主动模式

1、agent配置如下:

[root@zabbix_master zabbix-server-mysql-3.2.7]# grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf 
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
StartAgents=0
ServerActive=10.0.0.64
Hostname=zabbix_master
Include=/etc/zabbix/zabbix_agentd.d/*.conf

重启zabbix:

systemctl restart zabbix-agent

agent的端口已经没有了:

[root@zabbix_master zabbix-server-mysql-3.2.7]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      10215/mysqld        
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1160/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      3042/master         
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      10366/zabbix_server 
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::80                   :::*                    LISTEN      10357/httpd         
tcp6       0      0 :::22                   :::*                    LISTEN      1160/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      3042/master         
tcp6       0      0 :::10051                :::*                    LISTEN      10366/zabbix_server 
udp        0      0 0.0.0.0:29925           0.0.0.0:*                           975/dhclient        

2、zabbix-server端:

创建一个主动模式的模板:

克隆一个模板,把所有的类型改为Zabbix agent(Active)主动模式:
克隆模板:Configuration–》Template–》Template OS Linux(选择需要克隆的模板)–》Full clone(最下面)–》Template name:Template OS Linux Active–》Add
把这个模板软连接的模板remove掉,,添加一个新的克隆的类型为主动的。另外,克隆模板成功后,记得修改类型,改为主动模式。

去掉链接模板

修改模板的items:

把改好的模板连接到主机:

通过查看出图情况,确定了主动模式成功了。

标签:监控Zabbix 发布于:2019-10-30 05:04:03