共计 2057 个字符,预计需要花费 6 分钟才能阅读完成。
1. 背景与常见问题
在 CentOS 最小化安装环境下部署 Zabbix Agent 时,新手常会遇到以下典型问题:

- 基础依赖缺失:最小化安装的 CentOS 默认不包含 gcc、make 等编译工具,导致源码编译安装失败
- 仓库配置问题:未正确配置 EPEL(Extra Packages for Enterprise Linux)仓库时,无法通过 yum 直接安装预编译包
- 服务注册失败:手动安装时容易遗漏 systemd 服务文件配置,导致 agent 无法作为服务运行
- 网络连接问题:防火墙和 SELinux(安全增强型 Linux)策略未调整,造成 Zabbix Server 无法采集数据
2. 安装方式对比
2.1 官方 RPM 包安装(推荐)
优点:
– 自动解决依赖关系
– 版本经过稳定性测试
– 包含完整的服务管理文件
缺点:
– 版本更新可能滞后于官方源码
2.2 源码编译安装
优点:
– 可获取最新功能
– 支持深度定制化编译
缺点:
– 依赖手动解决编译环境
– 服务管理需自行配置
3. 详细安装步骤
3.1 配置 EPEL 仓库
# CentOS 7:
sudo yum install -y epel-release
# CentOS 8:
sudo dnf install -y epel-release
3.2 安装 Zabbix Agent
# 添加 Zabbix 官方仓库(以 6.0 LTS 为例)sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-3.el7.noarch.rpm
# 安装 Agent
sudo yum install -y zabbix-agent
3.3 关键配置文件调整
编辑/etc/zabbix/zabbix_agentd.conf:
Server=192.168.1.100 # Zabbix Server IP
ServerActive=192.168.1.100 # 主动模式服务器 IP
Hostname=centos-web-01 # 本机唯一标识
4. 服务管理与自动化
4.1 systemd 服务控制
# 启动服务并设置开机自启
sudo systemctl enable --now zabbix-agent
# 查看服务状态
sudo systemctl status zabbix-agent
4.2 自动注册脚本示例
#!/bin/bash
# 自动获取本机 IP 并更新配置文件
LOCAL_IP=$(hostname -I | awk '{print $1}')
sed -i "s/^Server=.*/Server=${LOCAL_IP}/" /etc/zabbix/zabbix_agentd.conf
systemctl restart zabbix-agent
5. 安全加固方案
5.1 TLS 证书配置
# 生成证书请求(需提前准备 CA 证书)openssl req -new -keyout agent.key -out agent.csr -nodes
# 配置 zabbix_agentd.conf
TLSCertFile=/etc/zabbix/ssl/agent.crt
TLSKeyFile=/etc/zabbix/ssl/agent.key
TLSCAFile=/etc/zabbix/ssl/ca.crt
5.2 SELinux 策略调整
# 允许 Zabbix 网络访问
sudo setsebool -P zabbix_can_network=1
# 如使用非标准端口
sudo semanage port -a -t zabbix_port_t -p tcp 10051
6. 常见问题解决方案
6.1 连接超时错误
现象:ZBX_TCP_READ() timed out
解决方案:
1. 检查防火墙规则
sudo firewall-cmd --add-port=10050/tcp --permanent
sudo firewall-cmd --reload
2. 验证网络连通性
telnet zabbix_server_ip 10050
6.2 多网卡环境配置
在 zabbix_agentd.conf 中添加:
ListenIP=192.168.1.50 # 指定监听的内网 IP
7. 验证与扩展
7.1 基础验证
# 从 Server 端测试数据采集
zabbix_get -s 客户端 IP -k "system.cpu.load[all,avg1]"
7.2 自定义监控项
示例配置(/etc/zabbix/zabbix_agentd.d/user_parameters.conf):
UserParameter=app.requests.count,sh /etc/zabbix/scripts/check_requests.sh
总结建议
- 生产环境推荐使用 RPM 包安装方式,确保稳定性
- 修改配置后务必重启服务:
systemctl restart zabbix-agent - 定期检查 Zabbix 官方的安全公告,及时更新补丁
- 复杂环境建议配合 Zabbix Proxy 使用,降低 Server 压力
下一步可以尝试:
– 配置主动模式(Active 模式)减轻 Server 负担
– 学习使用 Low-level Discovery 实现自动发现
– 探索 Zabbix API 实现自动化管理
正文完
发表至: 未分类
近两天内
