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编辑  收藏  举报

导航