概述:
本文将分两部分深入剖析Zabbix Agent:首先介绍如何在主流 Linux 系统(CentOS)上安装与配置 Zabbix Agent,包括仓库添加、软件安装、配置文件关键参数说明及常见问题处理;其次讲解 Zabbix Agent 与 Zabbix Server 之间的通信机制。
一、Zabbix Agent 的安装与配置
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核心参数如下:
4. 启动与常见问题排查
[if !supportLists]l [endif]启动服务:
$#:systemctl enable --now zabbix-agent
[if !supportLists]l [endif]查看状态与日志:
$#:systemctl status zabbix-agent
$#:tail -f /var/log/zabbix/zabbix_agentd.log
常见问题
防火墙或SELinux 阻挡 10050 端口,需放行或关闭防护。
]配置文件Syntax 错误,可通过 zabbix_agentd -t 测试语法。
主机名与前端不一致,前端无法接收数据。
二、Agent 与 Server 的通信机制
1. 主动 (Active) 与被动 (Passive) 检查
被动检查(Passive Checks)
Zabbix Server 直接向 Agent 发起请求,Agent 接收后返回数据,使用 JSON 协议通信,默认端口 10050。
主动检查(Active Checks)
Agent 按配置的 ServerActive 地址主动向 Server 发起连接并推送监控数据,使用端口 10051。
2. 默认端口与协议
三、数据采集流程
配置分发:在Zabbix 前端定义监控项后,Server 将监控项配置下发给 Agent。
数据收集:Agent 根据配置执行本地检查、脚本或 UserParameter 并收集数据。
数据上报:
被动检查:Server 请求时即时返回最新数据。
主动检查:Agent 定时向 ServerActive 推送历史数据。
存储与告警:Server 接收并写入数据库,根据触发器发送告警通知。