前言
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决定.
备注:使用agent active模式,一定要记住在agent的配置文件参数ServerActive加上proxy的IP地址.切记
zabbix分布式监控部署演示
zabbix服务器端:10.220.5.13
zabbix代理服务器端:10.220.5.138
zabbix被监控节点:10.220.5.139
配置代理服务器端
第一步:下载zabbix-proxy软件
[root@proxy ~]# yum install zabbix-proxy-mysql -y
第二步:导入文件到数据库
[root@proxy ~]# rpm -ql zabbix-proxy-mysql /usr/share/doc/zabbix-proxy-mysql-3.0.24/schema.sql.gz [root@proxy ~]# cp /usr/share/doc/zabbix-proxy-mysql-3.0.24/schema.sql.gz ./ [root@proxy ~]# gunzip schema.sql.gz
第三步:登录数据库
[root@proxy ~]# mysql -uroot -p123 MariaDB [(none)]> create database zabbix; MariaDB [(none)]> use zabbix; MariaDB [zabbix]> source /root/schema.sql MariaDB [zabbix]> grant all on *.* to zabbix@localhost identified by '123';
第四步:修改配置文件
[root@proxy ~]# grep -v -E '^#|^$' /etc/zabbix/zabbix_proxy.conf ProxyMode=0 #开启主动模式 Server=10.220.5.13 #指向主监控服务器端 HostnameItem=system.hostname #主机名自动获取 LogFile=/var/log/zabbix/zabbix_proxy.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_proxy.pid DBName=zabbix #代理节点自己的数据库 DBUser=zabbix DBPassword=123 SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=4 ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000
第五步:重启
[root@proxy ~]# systemctl restart zabbix-proxy
配置被监控客户端
第一步:下载客户端
[root@agent ~]# yum install zabbix-agent -y
第二步:配置客户端文件
客户端不需要开启serveractive,否则会一直尝试给监控的主机点发信息。
[root@agent ~]# grep -v -E '^#|^$' /etc/zabbix/zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=10.220.5.138 #指向代理服务器端 HostnameItem=system.hostname #主机名自动获取 Include=/etc/zabbix/zabbix_agentd.d/
第三步:不要重启
配置完zabbix-proxy之后不要重启!!
等配置完zabbix网页后再重启!!
配置zabbix的网页端
第一步:添加主机
添加被监控节点的主机
点击创建主机
主机名称可以随便填写
这里填写的是被监控节点的IP地址
这里的选择无代理程序,现在也只有这个选项
待会创建一个代理之后他会自动补上去
第二步:创建代理
点击创建代理
注意:
1.代理程序名称代理服务器的主机名,不需要在主机上面解析,但是一定确保是代理服务器的主机名
现在代理服务器端10.220.5.138的主机名为proxy,所以下面的代理程序名称就是proxy
2.选择主动式
3.加入你想要代理的被监控节点。前提是这个被监控节点的server指向了代理服务器节点
第三步:重启zabbix-proxy
代理服务器端一定要在网页端配置完成之后才能重启!
[root@proxy ~]# systemctl restart zabbix-proxy
第四步:查看
可以发现原本server指向10.220.5.138代理服务器端的被监控节点,现在也能被10.220.5.13监控了
名称也变成 代理服务器名称:主机名