在监控大量服务器时,如果将所有的请求都发送到一个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:
选择模式,添加proxy主机:
配置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: