在监控大量服务器时,如果将所有的请求都发送到一个zabbix server上,将会对我们的zabbix server造成很大的压力,我们在规划多个区域或机房进行监控的时候,会考虑到使用zabbix proxy 来代理zabbix server 的部分功能。zabbix server 通过管理多个代理来对所有服务器进行监控。


zabbix proxy 安装配置

zabbix proxy 的安装配置也很简单,如果有官方的yum 源,直接yum 安装即可。需要注意的是,zabbix proxy 需要配置数据库,对于受监控的客户端来说,它就是一个zabbix server 的角色,只不过与他直接交互的不是zabbix server,而是zabbix proxy。

安装zabbix proxy:

yum install -y zabbix-proxy-mysql  mariadb mariadb-server

与配置server 相同,配置好数据库后,需要导入数据表:

create database zabbix_proxy character set utf8 collate utf8_bin;
grant all on zabbix_proxy.* to zabbix_proxy@192.168.20.55 identified by 'zabbix_proxy';
cd /usr/share/doc/zabbix-proxy-mysql-3.0.13/
zcat schema.sql.gz| mysql -h 192.168.20.55 -uzabbix_proxy -pzabbix_proxy zabbix_proxy

配置zabbix proxy:

# grep '^[a-Z]'/etc/zabbix/zabbix_proxy.conf 
 
Server=192.168.20.50                   # zabbix server IP 地址
Hostname=zabbix-proxy
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
DBHost=192.168.20.55                    # zabbix proxy数据库地址
DBName=zabbix_proxy
DBUser=zabbix_proxy
DBPassword=zabbix_proxy
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000

启动zabbix proxy:

 systemctl start zabbix-proxy

web界面配置zabbix proxy 

在web界面添加proxy:

8f0455c1b952132c55251d92b2dd432b.jpg

选择模式,添加proxy主机:

417ac98c9cbc75fd22c1a8f413111f1b.jpg

配置zabbix agent

连接zabbix proxy 的 zabbix agent 配置:

# grep '^[a-Z]'/etc/zabbix/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.20.55                      # zabbix proxy 地址  
ServerActive=192.168.20.55
Hostname=agent1
Include=/etc/zabbix/zabbix_agentd.d/

启动zabbix  agent:

systemctl start zabbix-agent

在web 界面添加主机,修改主机为使用proxy, zabbix-proxy:

768701243f04f8983f437899b03a823c.jpg