乐于分享
好东西不私藏

CentOS 安装 Zabbix Agent 完整教程

CentOS 安装 Zabbix Agent 完整教程

CentOS 安装 Zabbix Agent 完整教程

unsetunset一、环境说明unsetunset

项目
信息
被监控机器
CentOS 7/8/9
Zabbix Server
WSL2 + Docker
Server IP
172.19.180.153
Agent IP
192.168.124.131

unsetunset二、安装 Zabbix Agentunsetunset

第1步:添加 Zabbix 官方仓库

CentOS 7:

sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpmsudo yum clean all

CentOS 8 / Rocky Linux 8:

sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpmsudo dnf clean all

CentOS 9 / Rocky Linux 9:

sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-4.el9.noarch.rpmsudo dnf clean all

第2步:安装 Agent

CentOS 7:

sudo yum install zabbix-agent -y

CentOS 8/9:

sudo dnf install zabbix-agent -y

unsetunset三、配置 Zabbix Agentunsetunset

第1步:找到正确的配置文件

CentOS 上 Agent 配置文件有两个可能位置:

  • /etc/zabbix_agentd.conf(默认)
  • /etc/zabbix/zabbix_agentd.conf

查看实际使用的是哪个:

ps aux | grep zabbix_agentd | grep -v grep# 如果没有显示 -c 参数,说明用的是默认配置 /etc/zabbix_agentd.conf

第2步:修改配置

sudo vi /etc/zabbix_agentd.conf

修改以下参数:

# Zabbix Server IP(WSL2 的 IP)Server=172.19.180.153# 主动检查的 Server IPServerActive=172.19.180.153# 本机主机名(或被监控机器的标识)Hostname=192.168.124.131# 如果有 ListenIP,改为 0.0.0.0ListenIP=0.0.0.0

第3步:保存并退出

Esc → :wq → Enter


unsetunset四、启动 Agentunsetunset

# 启动sudo systemctl start zabbix-agent# 设置开机自启sudo systemctl enable zabbix-agent# 查看状态sudo systemctl status zabbix-agent

unsetunset五、配置防火墙unsetunset

# 开放 10050 端口sudo firewall-cmd --add-port=10050/tcp --permanentsudo firewall-cmd --reload# 或者临时关闭防火墙测试sudo systemctl stop firewalld

unsetunset六、在 Zabbix Server 端测试unsetunset

第1步:进入 Zabbix Server 容器

docker exec -it zabbix-server /bin/bash

第2步:测试连接

zabbix_get -s 192.168.124.131 -k system.hostname

预期返回:192.168.124.131


unsetunset七、常见问题及解决unsetunset

问题1:连接被拒绝

错误日志:

failed to accept an incoming connection: connection from "X.X.X.X" rejected, allowed hosts: "127.0.0.1"

原因: Agent 配置中 Server 还是默认的 127.0.0.1

解决:

sudo vi /etc/zabbix_agentd.conf# 修改 Server=你的Zabbix Server IPsudo systemctl restart zabbix-agent

问题2:允许的主机正确但仍然被拒绝

错误日志:

failed to accept an incoming connection: connection from "192.168.124.1" rejected, allowed hosts: "172.19.180.153"

原因: 实际连接的源 IP 是 192.168.124.1(网关/虚拟网卡),不是 WSL2 的 IP

解决: 添加实际来源 IP 到允许列表

Server=172.19.180.153,192.168.124.1# 或允许整个网段Server=172.19.180.153,192.168.124.0/24

问题3:找不到配置文件

解决:

# 查找所有配置文件sudo find /etc -name "*zabbix*agent*.conf" 2>/dev/null# 查看进程使用的配置文件ps aux | grep zabbix_agentd

问题4:端口不通

检查:

# 在 CentOS 上检查端口监听sudo netstat -tlnp | grep 10050# 应该显示 0.0.0.0:10050 或 :::10050# 检查防火墙sudo systemctl status firewalldsudo firewall-cmd --list-all

unsetunset八、在 Zabbix Web 添加主机unsetunset

  1. 登录 Zabbix Web:http://localhost:8088
  2. 左侧菜单:配置 → 主机
  3. 点击 创建主机
  4. 填写:
    • 主机名称:192.168.124.131
    • 群组:Linux servers
    • Agent 接口:192.168.124.131:10050
  5. 点击 添加

unsetunset九、验证成功unsetunset

检查项
成功标志
Zabbix Web
ZBX 图标变成 🟢 绿色
zabbix_get
返回主机名
Agent 日志
无拒绝连接错误
# 查看 Agent 日志确认sudo tail -f /var/log/zabbix/zabbix_agentd.log

unsetunset十、完整配置示例unsetunset

# /etc/zabbix_agentd.conf# Zabbix ServerServer=172.19.180.153,192.168.124.1# Active checksServerActive=172.19.180.153# HostnameHostname=192.168.124.131# Listen on all interfacesListenIP=0.0.0.0# Enable remote commandsEnableRemoteCommands=1# Log fileLogFile=/var/log/zabbix/zabbix_agentd.log# Debug level (3 = info)DebugLevel=3

unsetunset总结unsetunset

步骤
命令
安装
yum/dnf install zabbix-agent
配置
vi /etc/zabbix_agentd.conf
启动
systemctl start zabbix-agent
测试
zabbix_get -s <IP> -k system.hostname
日志
tail -f /var/log/zabbix/zabbix_agentd.log

按照这个教程,应该能成功添加主机并开始监控!