基于 K8s 的物联网平台运维体系:Ansible+Zabbix 自动化监控与故障自愈(二)—— Zabbix Agent 部署与主机监控
一、前情回顾
在上一篇(一)中,我们完成了:
-
Ansible 批量管理环境搭建
-
Zabbix Server 6.0 + MySQL 数据库部署
-
PHP 升级到 7.4
-
Zabbix Web 界面安装与登录
此时,Zabbix Server 已正常运行,但还没有任何监控数据。本篇的任务是:在三台机器上部署 Zabbix Agent,将它们纳入监控体系。
二、实验环境
| 节点 | IP | 角色 |
|---|---|---|
| master | 192.168.116.168 | Zabbix Server + 被监控对象 |
| node1 | 192.168.116.169 | 数据节点(MySQL + Agent) |
| node2 | 192.168.116.170 | 业务节点(K8s Pod + Agent) |
Zabbix Server 已安装在 master 上,并成功登录。
三、Zabbix Agent 安装排错记录
在 node1 和 node2 上安装 Zabbix Agent 时,遇到了版本问题,以下是完整的排查和解决过程。
1. 尝试安装,发现没有软件包
yum install -y zabbix-agent # 没有可用软件包 zabbix-agent。错误:无须任何处理

原因是 node1 和 node2 上没有安装 Zabbix 官方 YUM 源。
2. 安装官方 6.0 源
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
3. 再次安装,发现装的是 7.0 版本
检查发现系统里残留了 zabbix-release-7.0 包没有被完全删除,导致 6.0 源无法正常生效。
4. 强制删除所有 zabbix-release
rpm -e --allmatches --nodeps zabbix-release

5. 确认包已被移除
rpm -qa | grep zabbix-release
6. 重新安装 6.0 源,但仍是 7.0 版本
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm yum install -y zabbix-agent zabbix_agentd --version # 还是 7.0.26

排查发现,虽然 zabbix-release 包已经是 6.0 版本,但 yum 源配置文件中可能还残留 7.0 的仓库地址,或者 yum 缓存里还记录了 7.0 的软件包信息。
7. 彻底清理 yum 缓存和源文件
rm -rf /etc/yum.repos.d/zabbix*.repo yum clean all rm -rf /var/cache/yum rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm yum install -y zabbix-agent zabbix_agentd --version # 仍然是 7.0.26
8. 发现根本原因
Zabbix 官方把 7.0 的包也放进了 6.0 的仓库里,或者仓库元数据被污染了。yum list 显示 6.0 仓库里只有 7.0 版本的 agent。

根据 Zabbix 官方文档,Zabbix Agent 的版本必须不高于 Zabbix Server 的主版本号。Server 是 6.0,所以 Agent 必须是 6.0.x。
9.最终解决方案:彻底删除所有 zabbix 相关包和源:
yum remove -y zabbix-agent zabbix-release rm -f /etc/yum.repos.d/zabbix*.repo yum clean all # 重新安装 6.0 源 rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm # 再次安装 yum install -y zabbix-agent![]()
复盘:本次排错的核心是 Zabbix 6.0 仓库中的 zabbix-agent 包实际指向了 7.0 版本,导致安装版本不兼容。解决思路是:彻底清理所有 zabbix-release 包和源文件,重新安装 6.0 源,最后安装专用包 zabbix60-agent。经验:yum 源混乱时直接彻底重来,安装前先用 yum list 确认包版本。
更多推荐






所有评论(0)