Zabbix proxy 是一个监控代理服务器,可以实现集中或者分布式的监控。通过proxy代理可以实现多节点,跨区域,成百上千服务器的监控。proxy代理主要适用于下面情况。
proxy可以部署为主动(Active)模式或被动(passive)模式,通常为了减轻Server端的压力,proxy部署为主动(Active)模式。当proxy部署为主动模式(Active)时,Zabbix Server的负载最小。

系统 | 服务器IP | 角色 |
|---|---|---|
CentOS 7.6.1810 | 10.1.1.200 | zabbix-server |
CentOS 7.6.1810 | 10.1.1.15(外)\172.16.1.15(内) | zabbix-proxy |
EulerOS 2.0 | 172.16.1.240 | zabbix-agent |
在zabbix-proxy上:
yum -y install zabbix-proxy-mysqlproxy需要一个独立的数据库,请勿和server同库:
yum -y install mariadb-server
mysql -uroot -p
create database zabbix_proxy defaults charset utf8;
grant all privileges on zabbix_proxy.* to zabbix_proxy@'localhost' identified by '123456';导入zabbix-proxy SQL:
cd /usr/share/doc/zabbix-proxy-mysql-4.0.27/
zcat schema.sql.gz |mysql -uzabbix_proxy -p zabbix_proxyzabbix-proxy配置:
[root@bj_proxy ~]$grep ^[a-Z] /etc/zabbix/zabbix_proxy.conf
ProxyMode=0 //默认主动模式0,被动模式1
Server=10.1.1.200 //zabbix_server的外网IP
ServerPort=10051
Hostname=bj_proxy //需要和主机名一致
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0 //不切割日志,默认1M
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBName=zabbix_proxy
DBSchema=zabbix_proxy
DBUser=zabbix_proxy
DBPassword=123456
ConfigFrequency=600 //多久从zabbix-server接受配置
DataSenderFrequency=60 //多久向zabbix-server发送收集数据
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4 //等待agent回应超时时间
ExternalScripts=/usr/lib/zabbix/externalscripts //也需要放一份到代理
LogSlowQueries=3000
### 启动proxy
systemctl restart zabbix-proxy.service
systemctl enable zabbix-proxy.service wget https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.27-1.el7.x86_64.rpm
rpm -ivh zabbix-agent-4.0.27-1.el7.x86_64.rpm
[root@euler ~]# grep ^[a-Z] /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
EnableRemoteCommands=1
Server=172.16.1.15
ServerActive=172.16.1.15
Hostname=Euler
Include=/etc/zabbix/zabbix_agentd.d/*.conf
### 启动agent
systemctl restart zabbix-agent.service
systemctl enable zabbix-agent.service在我们的zabbix界面上点击管理–>agent代理程序–>创建代理 agent代理程序名称 为 zabbix_proxy的主机名 (建议一致 )


## 重启server来加速
[root@zabbix ~]# systemctl restart zabbix-server.service
### 重启proxy
[root@bj_proxy ~]$systemctl restart zabbix-proxy.service
[root@bj_proxy ~]$tailf /var/log/zabbix/zabbix_proxy.log
60540:20210120:163621.926 only character set "utf8" and collation "utf8_bin" should be used in database
60540:20210120:163621.926 proxy #0 started [main process]
60545:20210120:163621.926 proxy #1 started [configuration syncer #1]
60545:20210120:163621.939 received configuration data from server at "10.1.1.200", datalen 3516

