zabbix proxy的核心目标是代理server对接agent,实现本地采集、缓存与周期上报,从而降载、适配跨网段/高延迟网络并提升可扩展性与容错能力;部署需确保server、proxy、agent三端网络互通,proxy须用独立mariadb,配置中server、hostname、db参数须准确,web端添加代理并指向proxy后验证主机可用性。

搭建 Zabbix Proxy 的核心目标是让代理节点代替 Server 直接对接 Agent,完成本地数据采集、缓存和周期性上报,从而降低 Server 负载、适配跨网段/高延迟网络,并提升整体监控系统的可扩展性与容错能力。
Proxy 部署前的关键准备
确保三类角色机器网络互通且职责清晰:
- Server 端:已有正常运行的 Zabbix Server(含 Web 和数据库),IP 如 192.168.1.17;
- Proxy 端:独立服务器或虚拟机,不运行 Server 服务,需安装 MariaDB(仅存配置,非监控数据);
- Agent 端:被监控主机,后续只需指向 Proxy,不再直连 Server。
关闭防火墙与 SELinux(生产环境建议按需开放端口 10051):systemctl stop firewalld && setenforce 0
Proxy 服务端安装与数据库配置
Zabbix Proxy 必须使用独立数据库,不能复用 Server 的库,否则会导致配置冲突或数据损坏。
- 安装 MariaDB 并启动:
yum install -y mariadb-server && systemctl start mariadb; - 创建专用数据库并授权:
mysql -e "CREATE DATABASE zabbix_proxy CHARACTER SET utf8 COLLATE utf8_bin;"mysql -e "GRANT ALL ON zabbix_proxy.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix'; FLUSH PRIVILEGES;"; - 导入 Proxy 初始表结构(路径依 Zabbix 版本而异,如 6.0 对应:
zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -pzabbix zabbix_proxy。
Proxy 主配置文件修改要点
编辑 /etc/zabbix/zabbix_proxy.conf,重点调整以下几项:
-
Server= 填写 Zabbix Server 的 IP(如
192.168.1.17); -
Hostname= 必须与 Web 界面中添加 Proxy 时填写的“代理程序名称”完全一致(如
proxy-shanghai); - DBName=、DBUser=、DBPassword= 配置为上一步创建的数据库信息;
- 可选调优:
ProxyLocalBuffer=4(本地缓存小时数)、ProxyOfflineBuffer=72(离线时最长保留小时数)。
保存后启动服务:systemctl enable --now zabbix-proxy,检查端口监听:ss -tlnp | grep :10051。
Web 界面配置与 Agent 接入验证
登录 Zabbix Server Web 页面执行两步操作:
-
添加代理程序:进入「管理 → Agent 代理程序 → 创建代理」,类型选 Zabbix proxy,名称填与配置文件中
Hostname一致的值(如proxy-shanghai),状态启用; -
配置被监控主机:编辑目标主机,将「Agent 接口」中的 IP 改为 Proxy 的内网地址,端口保持 10050;同时在 Agent 配置中设置:
Server=192.168.1.14(Proxy 地址)ServerActive=192.168.1.14(主动模式必填)Hostname=host01(需与 Web 中主机名一致)。
重启 Agent 后,等待 1–2 分钟,观察 Web 中该主机的「可用性」是否变为绿色,且最新数据时间持续更新,即表示 Proxy 采集与转发链路已通。











