Ubuntu下Zabbix Proxy配置指南
在 Ubuntu 系统上配置 Zabbix Proxy 是一个分步进行的过程,主要涉及安装软件、配置数据库、修改核心配置文件以及在前端界面进行注册。以下是基于 Zabbix 6.0/7.0 LTS 版本的详细配置教程。
1. 环境准备与软件安装
首先,需要在 Ubuntu 系统上添加 Zabbix 官方仓库并安装zabbix-proxy及其数据库组件。这里以 MySQL 为例。
# 更新系统包列表 sudo apt update # 安装必要的依赖,如 wget 和 gnupg sudo apt install wget gnupg2 -y # 下载并安装 Zabbix 官方仓库的发布包 # 以 Zabbix 7.0 LTS 为例,请根据你的版本调整 URL 中的版本号 wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-1+ubuntu24.04_all.deb sudo dpkg -i zabbix-release_7.0-1+ubuntu24.04_all.deb # 再次更新包列表,使新添加的仓库生效 sudo apt update # 安装 Zabbix Proxy 及其 MySQL 支持包 sudo apt install zabbix-proxy-mysql -y如果系统没有预装 MySQL,需要先安装 MySQL 服务器 。
# 安装 MySQL 服务器 sudo apt install mysql-server -y # 启动 MySQL 服务并设置开机自启 sudo systemctl start mysql sudo systemctl enable mysql2. 数据库初始化
安装完成后,需要为 Zabbix Proxy 创建一个专用的数据库并导入初始表结构。
登录 MySQL:
sudo mysql -u root -p首次登录可能无需密码,直接按回车。如果提示需要密码,请输入 root 密码。
创建数据库和用户:
在 MySQL 提示符下执行以下命令,将your_password替换为强密码。-- 创建 zabbix_proxy 数据库 CREATE DATABASE zabbix_proxy CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; -- 创建 zabbix_proxy 用户并授予权限 CREATE USER 'zabbix_proxy'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON zabbix_proxy.* TO 'zabbix_proxy'@'localhost'; -- 刷新权限 FLUSH PRIVILEGES; -- 退出 MySQL EXIT;导入初始表结构:
Zabbix 提供了数据库 schema 文件。导入时,请确保文件名与你的 Zabbix Proxy 版本和数据库类型匹配。# 切换到 schema 文件所在目录(通常随 zabbix-proxy-mysql 安装) # 对于 Zabbix 7.0,文件路径类似如下 sudo zcat /usr/share/doc/zabbix-sql-scripts/mysql/proxy.sql.gz | mysql -u zabbix_proxy -p zabbix_proxy系统会提示输入
zabbix_proxy用户的密码。此步骤会创建 Proxy 运行所需的所有表 。
3. 核心配置文件修改
Zabbix Proxy 的核心配置位于/etc/zabbix/zabbix_proxy.conf。需要修改以下几个关键参数。
sudo vim /etc/zabbix/zabbix_proxy.conf找到并修改以下配置项:
| 配置项 | 说明 | 示例值/修改建议 |
|---|---|---|
Server | Zabbix Server 的 IP 地址或主机名。Proxy 会向它报告数据。 | ` |
| 192.168.1.100` | ||
Hostname | 至关重要。这是 Proxy 在前端注册的唯一标识,必须与后续在前端添加的 Proxy 名称完全一致。 | Ubuntu-Proxy-01 |
DBHost | 数据库主机地址。如果是本地数据库,通常是localhost。 | localhost |
DBName | Proxy 使用的数据库名。 | zabbix_proxy |
DBUser | 连接数据库的用户名。 | zabbix_proxy |
DBPassword | 连接数据库的密码。 | your_password |
ConfigFrequency | Proxy 从 Server 获取配置信息的频率(秒)。在主动模式下尤其重要。 | ` |
| 60` | ||
DataSenderFrequency | Proxy 将收集的数据发送给 Server 的频率(秒)。 | ` |
| 1` |
一个典型的配置文件片段如下:
# /etc/zabbix/zabbix_proxy.conf 关键部分 Server=192.168.1.100 ServerPort=10051 Hostname=Ubuntu-Proxy-01 DBHost=localhost DBName=zabbix_proxy DBUser=zabbix_proxy DBPassword=your_strong_password_here ConfigFrequency=60 DataSenderFrequency=1配置模式说明:
- 被动模式:Server 主动连接 Proxy 获取数据。需要确保 Server 能访问到 Proxy 的
ListenPort(默认 10051)。 - 主动模式(推荐):Proxy 主动连接 Server 获取任务并上报数据。需要在配置文件中设置
ProxyMode=0(默认即为主动模式),并确保 Proxy 能访问 Server 的Server和ServerPort。主动模式更有利于穿越防火墙或 NAT 。
4. 启动服务与验证
重启 Zabbix Proxy 服务以使配置生效:
sudo systemctl restart zabbix-proxy检查服务状态,确保其运行正常:
sudo systemctl status zabbix-proxy如果状态为
active (running),则服务启动成功。查看日志以排查问题:
sudo tail -f /var/log/zabbix/zabbix_proxy.log关注是否有连接 Server 成功或报错的日志。常见的启动问题包括数据库连接失败(密码错误、权限不足)或与 Server 的网络不通。
5. Zabbix Web 前端配置
Proxy 服务端配置完成后,需要在 Zabbix Server 的 Web 管理界面将其添加。
- 登录 Zabbix Web 前端。
- 进入管理(Administration)->代理(Proxies)。
- 点击创建代理(Create proxy)。
- 在表单中填写:
- 代理名称(Proxy name):必须与配置文件中的
Hostname一字不差。 - 代理模式(Proxy mode):选择“主动式(Active)”或“被动式(Passive)”,与
zabbix_proxy.conf中的模式对应。 - (可选)填写描述信息。
- 代理名称(Proxy name):必须与配置文件中的
- 点击添加(Add)。
添加成功后,稍等片刻(取决于ConfigFrequency),该 Proxy 的状态应从“已禁用(Disabled)”或“离线(Offline)”变为“在线(Online)” 。
6. 通过 Proxy 添加被监控主机
Proxy 上线后,便可用于监控其所在网络区域的主机。
- 在配置(Configuration)->主机(Hosts)中创建新主机。
- 在主机配置的代理(Monitored by proxy)下拉框中,选择你刚添加的 Proxy。
- 配置该主机的接口(IP地址)、模板等信息。
- 保存后,该主机的所有监控项数据将通过此 Proxy 汇总并转发给 Zabbix Server。
常见问题与排查
| 问题现象 | 可能原因 | 排查步骤 |
|---|---|---|
Proxy 状态为Offline | 1. 网络不通。 2. Hostname不匹配。3. 防火墙阻止连接。 | 1. 在 Proxy 上ping和telnetServer 的 10051 端口。2. 核对配置文件 Hostname与前端添加的名称。3. 检查双方防火墙规则 。 |
| 无法连接到数据库 | 1. 数据库服务未启动。 2. 用户名/密码错误。 3. 用户权限不足。 | 1.systemctl status mysql。2. 用 mysql -u zabbix_proxy -p测试登录。3. 在 MySQL 中检查用户权限 。 |
日志报错cannot open shared memory | Proxy 进程所需共享内存不足。 | 编辑/etc/zabbix/zabbix_proxy.conf,适当增大StartPollers,StartPreprocessors等参数的值,或者增加系统共享内存限制 。 |
通过以上步骤,你可以在 Ubuntu 上完成 Zabbix Proxy 的部署和配置,实现分布式监控,有效减轻 Zabbix Server 的压力并扩展监控范围 。
参考来源
- zabbix frontend php,zabbix ubuntu 部署(示例代码)
- Zabbix proxy 安装
- Ubuntu24安装Zabbix7 proxy记录
- Zabbix-proxy安装(zabbix 6.0LTS)
- Ubuntu下Zabbix Proxy配置要点
- ubuntu18.04安装zabbix-proxy实现自动注册
