zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力. 此外,当所有agents和proxies报告给一个Zabbix server并且所有数据都集中收集时,使用proxy是实现集中式和分布式监控的最简单方法。 zabbix proxy 使用场景: 监控远程区域设备,监控本地网络不稳定区域,当 zabbix 监控上千设备时,使用它来减轻 server 的压力,简化分布式监控的维护。 zabbix proxy 仅仅需要一条 tcp 连接到 zabbix server,所以防火墙上仅仅需要加上一条规则即可。 zabbix proxy 数据库必须和 server 分开,否则数据会被破坏。
proxy 收集到数据之后,首先将数据缓存在本地,然后在一定得时间之后传递给 zabbix server,这样就不会因为服务器的任何临时通信问题而丢失数据。这个时间由 proxy配置文件中参数 ProxyLocalBuffer 和 ProxyOfflineBuffer 决定。
注意从Zabbix server数据库直接更新最新配置的proxy可能会比Zabbix server新,而Zabbix server的配置由于 CacheUpdateFrequency 的原因而无法快速更新。
实验环境: server5:zabbix-server 192.168.1.25 server6:zabbix-agent 192.168.1.16 server7:zabbix-proxy 192.168.1.17 更改三台server的解析
mysql -uroot -p创建zabbix proxy数据库
MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin; MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'redhat'; zcat /usr/share/doc/zabbix-proxy-mysql-4.4.1/schema.sql.gz | mysql -p zabbix_proxy导入数据在server6中
vim /etc/zabbix/zabbix_agentd.conf Server=192.168.1.17 ServerActive=192.168.1.17 systemctl restart zabbix-agent.service
可以自己绘制