CentOS 7.9 生产级部署 Zabbix Agent 2 实战全流程(基于主动模式)
📝 环境说明
- 操作系统: CentOS 7.9
- 主机名:
zabbix-agent2-go - Zabbix 版本: 6.0.46 (LTS)
- 上游数据接收端: Zabbix Proxy (
192.168.108.30) - 核心策略: 全局采用 Active(主动推数据)模式,通过自动获取主机名实现标准化部署。
🛠️ 步骤一:安装 Zabbix 6.0 YUM 仓库
首先导入 Zabbix 官方的源。此步骤会自动配置官方的 RPM 仓库路径。
[root@zabbix-agent2-go ~]# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
获取https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
警告:/var/tmp/rpm-tmp.gr9iAr: 头V4 RSA/SHA512 Signature, 密钥 ID a14fe591: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:zabbix-release-6.0-4.el7 ################################# [100%]
# 清理缓存并重新生成 yum 缓存
[root@zabbix-agent2-go ~]# yum clean all && yum makecache
🛠️ 步骤二:安装 Zabbix Agent 2
得益于 Agent 2 的 Go 语言架构,大部分主流监控插件已直接编译在二进制文件中,直接通过 yum 一键安装即可,无需额外处理繁杂的依赖。
[root@zabbix-agent2-go ~]# yum install -y zabbix-agent2
🛠️ 步骤三:生产级配置文件优化
这是部署中最核心的一步。我们首先备份默认配置,然后重写核心参数。
[root@zabbix-agent2-go ~]# cp /etc/zabbix/zabbix_agent2.conf /etc/zabbix/zabbix_agent2.conf.bak
# 过滤查看当前生效的核心配置
[root@zabbix-agent2-go ~]# egrep -v '^#|^$' /etc/zabbix/zabbix_agent2.conf
PidFile=/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
ServerActive=192.168.108.30 #这是指向proxy的地址
HostnameItem=system.hostname
Timeout=30
Include=/etc/zabbix/zabbix_agent2.d/*.conf
PluginSocket=/run/zabbix/agent.plugin.sock
ControlSocket=/run/zabbix/agent.sock
Include=./zabbix_agent2.d/plugins.d/*.conf
💡 配置原理解析(最佳实践):
ServerActive=192.168.108.30:配置为纯主动模式,Agent 2 会主动将采集的数据推送给 Zabbix Proxy。这极大降低了服务端的网络轮询开销。(注意:配置中去除了被动模式的Server=参数,实现彻底解耦)。HostnameItem=system.hostname:使用系统自带的主机名作为 Zabbix 注册名称。这种配置方式非常适合批量自动化部署 (如 Ansible/SaltStack),无需逐台手动修改 Agent 配置文件中的Hostname。Timeout=30:全局超时时间设置为最大值 30 秒。防止某些慢速脚本或慢查询(如数据库深度监控)由于默认 3 秒超时而导致采集失败。
🛠️ 步骤四:开机自启与日志验证
启动服务并验证配置是否真正生效,特别是自动获取主机名是否成功。
# 启动并设置开机自启
[root@zabbix-agent2-go ~]# systemctl enable --now zabbix-agent2
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent2.service to /usr/lib/systemd/system/zabbix-agent2.service.
# 查看 Agent 2 启动日志
[root@zabbix-agent2-go ~]# tail -f /var/log/zabbix/zabbix_agent2.log
2026/05/17 13:12:22.977834 Zabbix Agent 2 stopped. (6.0.46)
2026/05/17 13:12:23.069633 Starting Zabbix Agent 2 (6.0.46)
2026/05/17 13:12:23.070550 OpenSSL library (OpenSSL 1.0.2k-fips 26 Jan 2017) initialized
2026/05/17 13:12:23.070733 using configuration file: /etc/zabbix/zabbix_agent2.conf
...
2026/05/17 13:12:23.071778 using plugin 'ZabbixSync' (built-in) providing following interfaces: exporter, maximum capacity: 1, active checks on start enabled: false
2026/05/17 13:12:23.071982 Plugin communication protocol version is 6.0.13
2026/05/17 13:12:24.001198 Zabbix Agent2 hostname: [zabbix-agent2-go]
✅ 重点观察日志最后一行: Zabbix Agent2 hostname: [zabbix-agent2-go]。这证明 HostnameItem 参数成功读取到了当前系统的计算机名,通信底层构建成功。
🖥️ 步骤五:Zabbix Server Web 端配置接入
回到 Zabbix Web 管理页面,将该主机纳入监控体系:
- 导航至 配置 (Configuration) -> 主机 (Hosts),点击右上角 创建主机 (Create host)。
- 主机名称 (Host name): 严格填写
zabbix-agent2-go(必须与刚才日志中获取到的名字一模一样)。 - 模板 (Templates): 选择适配 Agent 2 主动模式的模板,如
Linux by Zabbix agent active。 - 主机群组 (Groups): 根据业务归属选择(如
Linux servers)。 - 由代理监控 (Monitored by proxy): ⚠️ 极其重要! 由于我们的 Agent 数据推给了 Proxy,这里必须在下拉菜单中选择你的代理程序名称 (即对应 192.168.108.30 的 Proxy)。如果不选,Server 将拒绝接收数据。
- 点击 添加 (Add)。



最后,导航至 监测 (Monitoring) -> 最新数据 (Latest data),通过主机名过滤,确认数据指标已经带上时间戳持续刷新,部署圆满完成!
浙公网安备 33010602011771号