zabbix配置主动模式
Zabbix 有两种工作模式: 主动和被动模式
但无论是模式还是被动模式,都是站在zabbix agent 角度来说的工作模式。
Zabbix 的主动和被动模式工作原理:
Zabbix 监控流程中agent收集数据分为主动和被动两种模式:
被动模式: Server 向 Agent 请求获取监控项的数据,agent返回数据。此为默认模式,如果有100个监控项,则需要100次交互。
主动模式: Agent 请求 Server 获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy,如有100个监控项,只需要1次交互即可。
注意: 两种模式可以在Zabbix Server上同时存在,可以将一部分监控项设为主动,其它设为被动模式。
实验环境:
OS:Ubuntu18.04
Zabbix-server:10.0.0.200
Zabbix-agent:10.0.0.203
1.打开agent配置文件进行以下修改后重启开启active模式。
vim /etc/zabbix/zabbix_agentd.conf
Server=10.0.0.200 #指向zabbix-server的IP
ServerActive=10.0.0.200 #指向zabbix-server的IP
Hostname=10.0.0.203 #指向本机IP
systemctl restart zabbix-agent.service
2.查看日志可以得到已经开启active模式信息。
tail -f /var/log/zabbix/zabbix_agentd.log
3.将已经支持active模式的agent加入到zabbix-server的主机监控列表中。
1)添加主机
2)添加模板
3)等待几分钟后可以看到 "ZBX"亮绿灯。
4.此刻虽然zabbix-agent已经支持active模式但监控项获取数据仍旧不是以主动模式进行数据传输给zabbix-server,这是由于内置模板的监控项列表中的监控项本身的定义,定义监控项获取到数据后以active模式还是passive模式进行数据传输(默认为passive模式)从以下几点可以看出。
1)看zabbix-server获取监控项数据的时间段,active模式agent会主动连接zabbix-server将收集到的监控项数据"统一"发送,那么zabbix-server获取监控项数据的时间应该是一致的,图中显然不一致.
2)添加模板后,ping这个监控项为active模式时,“ZBX”根本不会亮绿灯。
5.将10.0.0.203导入的模板进行完全克隆(选择完全克隆是为了在做出修改后避免破坏原模板)
<克隆后的模板如果是要修改监控项为主动模式,后缀可以改成 active>
<完全克隆会将与其链接的模板链接关系一并克隆,但这些链接模板倘若监控项修改成active模式仍旧需要再次完全克隆,因此直接“取消并清除”>
<清理后添加两个内置active模板>
6.找到克隆后的模板"监控项"全选后进行"批量更新"。
7.修改监控项配置。
1)将选中的监控项都设置为active模式
2)设置zabbix-server监控项数据每隔多长时间更新一次(这里测试环境选择10s,实际生产中应该是5分钟 10分钟更新一次)
8.取消掉原先导入的passive模式下的模板,添加克隆并修改为active模式的模板。
9.配置完后静待结果。
<可以看出,虽然未亮绿灯但是zabbix-server已经能够成功获取监控项数据且获取的数据的时间点是一致的>
10.之所以不亮绿灯有两个原因1.ping监控项为active模式 2.导入的模板缺少ping这个监控。而经过排查后也确定为第二种可能,因此需要手动未模板添加ping这个监控项并设置为passive模式。
<再通过ping监控项的"测试"功能根据返回结果显示监控线已经应用成功>
<而"ZBX"也再次亮绿灯>
结论:
zabbix-agent开启active模式说明agent支持active模式并不是说agent获取到zabbix-server的监控项列表收集的数据都是以主动模式发送给server,而是根据监控项列表中监控项本身的定义,定义这个监控项的本身是以主动或是被动的方式将数据反馈给server。即说明不仅要agent启动active模式还需server将监控项设置成active模式,agent才能够真正以active模式将收集到的监控项数据发送给server。
注意事项:
1)第一次导入模板后,后续再导入模板可能会出现无法成功应用的情况(虽然不提示失败),需删除主机重新配置。
2)agent.ping的功能只能是passive模式,用于让ZBX亮绿灯。
3)Passive模式下Zabbix-server配置文件中调大StartPollers进程数(被动模式下用来接收监控项数据的进程)。
4)Active模式下Zabbix-server配置文件中调大StartTrappers进程数(主动模式下用来接收监控项数据的进程)。
PS :倘若开启太多进程会无法启动zabbix-server服务,日志中显示连接数据库的进程数过多
posted on 2021-08-14 16:58 1251618589 阅读(21) 评论(0) 编辑 收藏 举报