Zabbix agent主动模式与被动模式的区别
Zabbix agent的运行模式有以下两种:
1、被动模式:此模式为Zabbix默认的工作模式,由Zabbix server 向Zabbix agent 发出指令获取数据,Zabbix agent被动地去获取数据并返回给Zabbix server,Zabbix server会周期性地向agent索取数据。此模式的最大问题就是会增加Zabbix server的工作量,在大量的服务器环境下,Zabbix server不能及时获取到最新的数据。
2、主动模式:即由Zabbix agent 主动采集数据并返回给Zabbix server,不需要Zabbix server 的另行干预,因此使用主动模式能在一定程序上减轻Zabbix server的压力。
Zabbix_server端当主机数量过多的时候,会怎么样
Zabbix_server端当主机数量过多的时候,由Server端去收集数据,Zabbix会出现严重的性能问题,主要表现如下:
1、当被监控端到达一个量级的时候,Web操作很卡,容易出现502
2、图层断裂
3、开启的进程(Pollar)太多,即使减少item数量,以后加入一定量的机器也会有问题
所以下面主要往两个优化方向考虑
1、添加Proxy节点或者Node模式做分布式监控
2、调整Agentd为主动模式
由于第一个方案需要增加物理机器,所以首先尝试第二方案。
一、被监控端 zabbix_agentd.conf 的配置调整
LogFileSize=0 # Agent产生日志大小控制,日志达到多少M里就轮转;此参数值默认为0,则不轮转,日志将不断变大,数字范围(0-1024M)视情况是否设置成轮转
# Server=192.168.5.57 # 如果设置为纯主动模式,则应该注释掉这一条配置
StartAgents=0 # 客户端agent模式,设置为0表示关闭被动模式,被监控端的 zabbix_agentd 不监听本地端口,所以无法在 netstat -tunpl 中查看到zabbix_agentd进程
ServerActive=192.168.5.57 # 主动模式的Zabbix服务器IP地址
Hostname=Web01 # 重要:客户端的hostname,不配置默认使用系统主机名
RefreshActiveChecks=120 # 被监控端到服务器获取监控项的周期,默认120s即可
BufferSize=100 # 被监控端在内存中保存采集数据的容量大小
Timeout=3 # 超时时间
查看zabbix_agentd.conf 的最终配置
[root@CentOS7 ~]# grep -v ^# /etc/zabbix/zabbix_agentd.conf |grep -v ^$
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
StartAgents=0
ServerActive=192.168.5.57
Hostname=Web01
Include=/etc/zabbix/zabbix_agentd.d/*.conf
注:纯主动模式下的Zabbix agent,只能支持Zabbix Agent (Active)类型的监控项。
二、调整监控模板
建议完整克隆一个Template OS Linux 模板来改
1.点击Template OS Linux 模板名称
点击下方的全克隆
修改模板名称,点击最下方的添加
进入模板列表找到刚才添加的模板并点击监控项
全选,点击批量更新
类型打钩,选择Zabbix客户端(主动式),点击最下方的更新
配置—>主机—>点击要设置的主机名称—>模板
选择取消原来的链接并清理,点击选择
添加刚才的模板(Template OS Linux-Active)
点击更新
在配置—>主机,查看主机可用性,ZBX显示为红色
在检测—>图形,查看主机已经监控上了
如何查看zabbix客户端是主动模式还是被动模式
查看监控主机的监控项类型
在类型处可以看到Zabbix客户端是主动模式还是被动模式
本文参考自:
(1)https://blog.csdn.net/qq_38484607/article/details/99086067
(2)https://blog.csdn.net/weixin_39845407/article/details/80764200