一.为什么要这么做?
说的通俗一点,就是server要是每次找agent要数据的话,server还要想要什么数据,这样就很消耗cpu,所以就让agent主动向server发送数据,server负责接收就好。
二.环境设定
base2 172.25.78.12 zabbix-server
base3 172.25.78.13 zabbix-agent
在服务端
[root@base2 ~]# systemctl start zabbix-server
[root@base2 ~]# systemctl start zabbix-agent
[root@base2 ~]# systemctl start httpd
[root@base2 ~]# systemctl start zabbix-java-gateway
[root@base2 ~]# systemctl start mariadb
在客户端
[root@base3 bin]# systemctl start zabbix-agent
[root@base3 ~]# cd /usr/local/tomcat/
[root@base3 tomcat]# cd bin/
[root@base3 bin]# ./startup.sh
三.在前端页面上
我们克隆一个模块来实现我们的功能,实验完就可以删除了,原来的模板不受影响
四.回到agent端配置
[root@base3 zabbix]# pwd
/etc/zabbix
[root@base3 zabbix]# vim zabbix_agentd.conf
98 # Server=172.25.78.12 # 关闭服务端的被动连接
123 StartAgents=0 # 在被动模式下,此参数用于设置控制监听进程可启用的子进程的数量,若监控项较多
且采集很频繁,建议加大此数值 ;若此数值为0,则禁止使用被动模式。另外,一般
情况,不建议修改此数值,当且仅当某些监控项无法采集到数据,或数据采集数据
有延迟现象时,可调整。第四,启用线程越多,则相对越耗系统资源。此处只想说明
有这个功能
[root@base3 zabbix]# systemctl restart zabbix-agent
[root@base3 zabbix]# netstat -antlp | grep 10050 # 查看不到agent端口,说明此主机已经不是agent了
刷新网页,base3的zabbix不可用,此时的base3为服务端
这个只是验证,还要在恢复过来
恢复agent身份
[root@base3 zabbix]# vim zabbix_agentd.conf
98 Server=172.25.78.12
123 # StartAgents=3
[root@base3 zabbix]# systemctl restart zabbix-agent
[root@base3 zabbix]# netstat -antlp |grep :10050 # agent端口出现,身份恢复