分布式监控
zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力。
此外,当所有agents和proxies报告给一个Zabbix server并且所有数据都集中收集时,使用proxy是实现集中式和分布式监控的最简单方法。
应用场景
- 监控远程区域设备
- 监控本地网络不稳定区域
- 当 zabbix 监控上千设备时,使用它来减轻 server 的压力
- 简化分布式监控的维护
注意:zabbix_proxy的数据库必须与zabbix_server的数据库分开。不过可以同时在server端创建zabbix数据库与zabbix_proxy数据库,记得授权即可。
实战部署
实验环境
监控端:192.168.161.89
代理端:192.168.161.90
被监控端:192.168.161.92
监控端配置
编辑配置文件 /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbixsrv/zabbix_server.log
LogFileSize=0
PidFile=/run/zabbixsrv/zabbix_server.pid
# 指定数据库服务器地址,如果是单机部署,这里也可以直接指定localhost
DBHost=localhost
# 下面三行,与数据库授权信息保持一致
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
Timeout=4
ExternalScripts=/var/lib/zabbixsrv/externalscripts
LogSlowQueries=3000
TmpDir=/var/lib/zabbixsrv/tmp
proxy配置主动模式
代理端安装proxy
yum install zabbix40-proxy zabbix40-proxy-mysql zabbix40-dbfiles-mysql -y
代理端创建数据库
create database zabbix_proxy charset=utf8;
grant all on zabbix_proxy.* to "zabbix"@"localhost" identified by "zabbix_proxy";
flush privileges;
代理端导入初始数据
mysql -uzabbix -pzabbix_proxy zabbix_proxy < /us