zabbix_server端当主机数量过多的时候,由Server端去收集数据,Zabbix会出现严重的性能问题,主要表现如下:

1、当被监控端到达一个量级的时候,Web操作很卡,容易出现502

2、图层断裂

3、开启的进程(Pollar)太多,即使减少item数量,以后加入一定量的机器也会有问题

 

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

1、添加Proxy节点或者Node模式做分布式监控

2、调整Agentd为主动模式

本文章主要讲配置调整Agentd为主动模式

1.被监控端 zabbix_Agentd.conf 的配置调整

[root@linux-node1 ~]# 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 #客户端agent模式,设置为0表示关闭被动模式,被监控端的 zabbix_agentd 不监听本地端口

ServerActive=192.168.10.129#主动模式的server IP地址

Hostname=linux-node1.example.com#客户端的hostname,不配置则使用主机名

Include=/etc/zabbix/zabbix_agentd.d/

2.调整监控模块为active模式

克隆模块template os linux

克隆之后改个名字

清除模块template os linux的链接模块

template os linux 模块中的监控项type改为active模式(主动模式)

克隆链接模块template app zabbix agent

重命名链接模块并添加

将这两个模块重新连接

Template App Zabbix Agent Active 模块中的监控项type改为active模式(主动模式)

添加主机

添加设置为active模式的模块

监控好之后这个灯是不亮的,为服务器是基于被动模式的,如果服务端无法直接连接到客户端被动模式端口这个灯是不绿的,就算是使用主被模式数据上来,这个灯也不绿

但是是监控上的,可以看到有数据