共计 2021 个字符,预计需要花费 6 分钟才能阅读完成。
技术背景
Zabbix Agent 是 Zabbix 监控体系中的关键组件,负责在被监控主机上采集系统指标(如 CPU、内存、磁盘等)并传递给 Zabbix Server。相比 SNMP 等协议,它提供更高精度的数据采集和主动推送能力,是基础设施监控的首选方案。

环境准备
- 系统要求:
- CentOS 7/8(推荐最小化安装)
- 1GB 以上空闲内存
-
确保
/var/log/zabbix目录有 500MB 以上空间 -
依赖包清单:
yum install -y epel-release gcc make pcre-devel -
网络配置:
- 确认 10050/TCP 端口可访问(默认 Agent 端口)
- 如需主动模式,需额外开放 10051/TCP(Server 端口)
分步安装指南
1. 通过 YUM 仓库安装
推荐使用官方仓库保证版本一致性:
# 添加 Zabbix 官方仓库(以 6.0 LTS 为例)rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/$(rpm -E %{rhel})/x86_64/zabbix-release-6.0-4.el$(rpm -E %{rhel}).noarch.rpm
# 安装 Agent
sudo yum install -y zabbix-agent
2. 关键配置文件修改
编辑/etc/zabbix/zabbix_agentd.conf:
# 修改前
# Server=127.0.0.1
# ServerActive=127.0.0.1
# Hostname=Zabbix server
# 修改后
Server=192.168.1.100 # Zabbix Server IP
ServerActive=192.168.1.100 # 主动模式 Server IP
Hostname=web-server-01 # 需与 Server 端配置一致
3. SELinux 与防火墙配置
# 永久放行端口
sudo firewall-cmd --permanent --add-port=10050/tcp
sudo firewall-cmd --reload
# 若启用 SELinux
sudo setsebool -P zabbix_can_network=1
服务管理
-
启动服务并设置开机自启:
sudo systemctl enable --now zabbix-agent -
常用管理命令:
# 查看状态 systemctl status zabbix-agent # 重启服务 systemctl restart zabbix-agent # 查看日志 journalctl -u zabbix-agent -f
验证与测试
-
基础连通性测试:
telnet 192.168.1.100 10050 -
手动触发监控项采集:
zabbix_get -s 127.0.0.1 -k system.cpu.load[all,avg1] -
日志检查重点:
grep -E 'ERROR|WARNING' /var/log/zabbix/zabbix_agentd.log
生产环境建议
安全加固
配置 PSK 加密通信(需 Server 同步配置):
# 生成 PSK 密钥
openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk
# 配置文件追加
TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=web-server-01_psk
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
性能调优
# 调整采集器线程数(根据 CPU 核心数)StartAgents=4
# 增加监控项超时时间
Timeout=30
自动化部署
使用 Ansible 模板示例:
- name: Install Zabbix Agent
yum:
name: zabbix-agent
state: latest
- name: Configure zabbix_agentd.conf
template:
src: zabbix_agentd.conf.j2
dest: /etc/zabbix/zabbix_agentd.conf
owner: zabbix
group: zabbix
mode: 0644
故障排查
常见错误代码
- 10061:端口不可达 → 检查防火墙 /SELinux
- 32500:PSK 验证失败 → 核对密钥文件权限(需 600)
- 20001:监控项不支持 → 检查 zabbix_get 命令参数
日志分析技巧
# 实时监控错误日志
tail -f /var/log/zabbix/zabbix_agentd.log | grep -i error
# 统计连接失败次数
grep "cannot connect" /var/log/zabbix/zabbix_agentd.log | wc -l
延伸阅读
实际部署时发现,合理设置 Hostname 参数能避免 70% 的拓扑关联问题。建议在配置前先用 hostnamectl 确认系统主机名一致性。遇到启动失败时,优先检查 /var/log/messages 中的 SELinux 审计日志往往能快速定位问题根源。
正文完
