Zabbix proxy: 是一个数据收集器,它不计算触发器、不处理事件、不发送报警。为IT基础设施提供有效和可用的分布式监控,代替Zabbix Server采集数据,然后将数据报告给服务器zabbix server,从而分担Zabbix Server负载的进程
zabbix proxy 使用场景:
监控远程区域设备 监控本地网络不稳定区域 简化分布式监控的维护
当 zabbix 监控上千设备时,使用它来减轻 server 的压力proxy 收集到数据之后,首先将数据缓存在本地,然后在一定得时间之后传递给 zabbix server,这样就不会因为服务器的任何临时通信问题而丢失数据。这个时间由 proxy配置文件中参数 ProxyLocalBuffer 和 ProxyOfflineBuffer 决定。
server1 | zabbix-server |
server2 | zabbix-agent |
server3 | zabbix-proxy |
######1.安装######
###1.删除server3,停止agent###
[root@server3 ~]# systemctl stop zabbix-agent
[root@server3 ~]# systemctl disable zabbix-agent
Removed symlink /etc/systemd/system/multi-user.target.wants/zabbix-agent.service.
###2.安装proxy###
###1.配置zabbix仓库###
因为proxy有依赖,直接安装要解决依赖,所以要配yum源
[root@server3 ~]# cd 4.0/
[root@server3 4.0]# ls
fping-3.10-1.el7.x86_64.rpm
iksemel-1.4-2.el7.centos.x86_64.rpm
php-bcmath-5.4.16-42.el7.x86_64.rpm
php-mbstring-5.4.16-42.el7.x86_64.rpm
zabbix-agent-4.0.5-1.el7.x86_64.rpm
zabbix-get-4.0.5-1.el7.x86_64.rpm
zabbix-java-gateway-4.0.5-1.el7.x86_64.rpm
zabbix-proxy-mysql-4.0.5-1.el7.x86_64.rpm
zabbix-sender-4.0.5-1.el7.x86_64.rpm
zabbix-server-mysql-4.0.5-1.el7.x86_64.rpm
zabbix-web-4.0.5-1.el7.noarch.rpm
zabbix-web-mysql-4.0.5-1.el7.noarch.rpm
[root@server3 4.0]# yum install -y createrepo
[root@server3 4.0]# createrepo /root/4.0/
###2.配置yum源###
[root@server3 4.0]# cd /etc/yum.repos.d/
[root@server3 yum.repos.d]# ls
dvd.repo redhat.repo
[root@server3 yum.repos.d]# vim zabbix.repo
[zabbix]
name=zabbix
baseurl=file:///root/4.0/
gpgcheck=0
###3.安装proxy###
[root@server3 ~]# yum install -y zabbix-proxy
修改主机名,配置本地解析(可做可不做)
[root@server3 ~]# hostnamectl set-hostname proxy
[root@server3 ~]# vim /etc/hosts
172.25.1.3 server3 proxy
[root@server3 ~]# logout
[kiosk@foundation1 ~]$ ssh root@172.25.1.3
[root@proxy ~]#
[root@server2 ~]# vim /etc/hosts
172.25.1.3 server3 proxy
[root@server1 ~]# vim /etc/hosts
172.25.1.3 server3 proxy
###3.安装mysql###
对于zabbix-server和proxy守护进程而言,数据库是必须的;而运行zabbix-agent是不需要的。
如果zabbix-server和zabbix-proxy安装在相同的主机上,它们必须创建不同名字的数据库。
[root@proxy ~]# yum install -y mariadb-server
[root@proxy ~]# systemctl start mariadb
[root@proxy ~]# systemctl enable mariadb
[root@proxy ~]# mysql_secure_installation
[root@proxy ~]# mysql -p
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';
导入数据:
[root@proxy ~]# zcat /usr/share/doc/zabbix-proxy-mysql-4.0.5/schema.sql.gz | mysql -p zabbix_proxy
Enter password:
###4.开启proxy###
1.编辑配置文件
[root@proxy ~]# vim /etc/zabbix/zabbix_proxy.conf
30 Server=172.25.1.1
39 ServerPort=10051
49 Hostname=proxy
162 DBHost=localhost
173 DBName=zabbix_proxy
188 DBUser=zabbix
196 DBPassword=redhat
2.开启服务
[root@proxy ~]# systemctl start zabbix-proxy
[root@proxy ~]# systemctl enable zabbix-proxy
######2.配置web端######
###1.创建代理程序###
(点击管理----->agent代理程序----->创建代理)
(填写名称,代理地址)
###2.设置proxy采集server2:ZBX的数据###
[root@server2 ~]# vim /etc/zabbix/zabbix_agentd.conf
98 Server=172.25.1.3 ##被动采集数据
139 ServerActive=172.25.1.3 ##主动提交数据
[root@server2 ~]# systemctl restart zabbix-agent
(点击配置----->主机----->server2)
(将“由agent代理程序监测”设置为proxy----->更新)
(server2变为proxy:server2,后面的可用性全部没有亮灯)
###3.server端和proxy端同步数据###
[root@server1 ~]# zabbix_server -R config_cache_reload ##同步数据
[root@server1 ~]# cat /var/log/zabbix/zabbix_server.log ##查看日志
###4.设置proxy采集server2:JMX的数据###
[root@proxy ~]# vim /etc/zabbix/zabbix_proxy.conf
328 JavaGateway=172.25.1.1
336 JavaGatewayPort=10052
344 StartJavaPollers=5
[root@proxy ~]# systemctl restart zabbix-proxy
(server2的可用性JMX灯亮起)
更多zabbix-proxy内容请见官网:https://www.zabbix.com/documentation/4.0/zh/manual/distributed_monitoring