本文将分两部分深入剖析 Zabbix Agent:首先介绍如何在主流 Linux 系统(CentOS)上安装与配置 Zabbix Agent,包括仓库添加、软件安装、配置文件关键参数说明及常见问题处理;其次讲解 Zabbix Agent 与 Zabbix Server 之间的通信机制。
1. 添加 Zabbix 仓库:
CentOS (7/8) 系统:
$#:rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/7/x86_64/zabbix-release-6.4-1.el7.noarch.rpm
$#:yum clean all
2. 安装 Zabbix Agent:
$#:yum install zabbix-agent
3. 关键配置文件介绍
Zabbix Agent 的主配置文件位于 /etc/zabbix/zabbix_agentd.conf核心参数如下:
参数 | 说明 |
Server= | 允许主动和被动检查的 Zabbix Server IP 或域名 |
ServerActive= | 仅限主动模式发送数据的 Zabbix Server 地址 |
Hostname= | 在 Zabbix 前端显示的主机名 |
ListenPort= | 被动检查监听端口(默认 10050) |
LogFile= | 日志文件路径 |
4. 启动与常见问题排查
启动服务:
$#:systemctl enable --now zabbix-agent
查看状态与日志:
$#:systemctl status zabbix-agent
$#:tail -f /var/log/zabbix/zabbix_agentd.log
常见问题
防火墙或 SELinux 阻挡 10050 端口,需放行或关闭防护。
配置文件 Syntax 错误,可通过 zabbix_agentd -t 测试语法。
主机名与前端不一致,前端无法接收数据。
1. 主动 (Active) 与被动 (Passive) 检查
被动检查 (Passive Checks)
Zabbix Server 直接向 Agent 发起请求,Agent 接收后返回数据,使用 JSON 协议通信,默认端口 10050。
主动检查 (Active Checks)
Agent 按配置的 ServerActive 地址主动向 Server 发起连接并推送监控数据,使用端口 10051。
2. 默认端口与协议
类型 | 端口 | 协议 |
被动检查 (TCP) | 10050 | JSON |
主动检查 (TCP) | 10051 | JSON |
配置分发:在 Zabbix 前端定义监控项后,Server 将监控项配置下发给 Agent。
数据收集:Agent 根据配置执行本地检查、脚本或 UserParameter 并收集数据。
数据上报:
·被动检查:Server 请求时即时返回最新数据。
·主动检查:Agent 定时向 ServerActive 推送历史数据。
存储与告警:Server 接收并写入数据库,根据触发器发送告警通知。
错误信息