zabbix proxy分布式监控配置

zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.zabbix proxy可以非常简便的实现了集中式、分布式监控.

zabbix proxy使用场景:

监控远程区域设备
监控本地网络不稳定区域
当zabbix监控上千设备时,使用它来减轻server的压力
简化zabbix的维护

zabbix proxy仅仅需要一条tcp连接到zabbix server,所以防火墙上仅仅需要加上一条规则即可.zabbix proxy数据库必须和server分开,否则数据会被破坏,毕竟这两个数据库的表大部分都相同。总之记住,数据库分开即可。

proxy收集到数据之后,首先将数据缓存在本地,然后在一定得时间之后传递给zabbix server.这个时间由proxy配置文件中参数ProxyLocalBuffer and ProxyOfflineBuffer决定. 
zabbix proxy是一个数据收集器,它不计算触发器、不处理事件、不发送报警

备注:使用agent active模式,一定要记住在agent的配置文件参数ServerActive加上proxy的IP地址.切记,还有就是Hostname最好用IP不要用域名类的,没有dns解析的最好不要用

zabbix-proxy安装

[root@localhost ~]# ls
anaconda-ks.cfg  install.log.syslog  zabbix-get-3.0.2-1.el6.x86_64.rpm
install.log      schema.sql          zabbix-proxy-mysql-3.0.2-1.el6.x86_64.rpm
[root@localhost ~]# yum -y install *.rpm

zabbix-proxy数据导入

[root@localhost ~]# cp /usr/share/doc/zabbix-proxy-mysql-3.0.2/schema.sql.gz ./
[root@localhost ~]# gzip -d schema.sql.gz
[root@localhost ~]# mysql
mysql> create database zabbix_proxy;
mysql> GRANT ALL ON zabbix_proxy.* TO 'zbxuser'@'localhost' IDENTIFIED BY 'zbxpass';
mysql> flush privileges;
[root@localhost ~]# mysql -u zbxuser -pzbxpass -h localhost zabbix_proxy <schema.sql

修改配置proxy的文件

[root@localhost ~]# vim /etc/zabbix/zabbix_proxy.conf
Hostname=10.1.252.100   //本机ip地址
Server=10.1.252.96          //Zabbix Server主机地址;
DBName=zabbix_proxy //数据库名字
DBUser=zbxuser              //数据库用户
DBPassword=zbxpass      //数据库密码
ConfigFrequency=60      //取得配置数据的频率
DataSenderFrequency=5 //zabbix proxy发送监控到的数据给zabbix server的频率

客户端指定新的proxy地址

ServerActive=10.1.252.96,10.1.252.100
Server=10.1.252.96,10.1.252.100

web设置

添加proxy

1、在管理的agent代理里面添加proxy

wKiom1gd40eDDUMHAABv1BTKXA0394.png

2、设置proxy的地址

wKioL1gd41LQwbzcAAB7zXARxdo178.png


客户机添加时候(加入proxy)

1、在添加主机时候,可以选择代理的proxy

wKiom1gd417gPLiLAAB-Cb_9ICo473.png

2、可以看到新添加的主机前面都有一个代理的IP

wKiom1gd42zBp64kAAEGFwRrSss049.png

3、通过代理的数据已经可以正常获取

wKioL1gd43rhcCdSAACZCappNr4561.png