CentOS 7/8 环境下 Zabbix Agent 安装配置全指南及常见避坑方案

1次阅读
没有评论

共计 2057 个字符,预计需要花费 6 分钟才能阅读完成。

image.webp

1. 背景与常见问题

在 CentOS 最小化安装环境下部署 Zabbix Agent 时,新手常会遇到以下典型问题:

CentOS 7/8 环境下 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

总结建议

  1. 生产环境推荐使用 RPM 包安装方式,确保稳定性
  2. 修改配置后务必重启服务:systemctl restart zabbix-agent
  3. 定期检查 Zabbix 官方的安全公告,及时更新补丁
  4. 复杂环境建议配合 Zabbix Proxy 使用,降低 Server 压力

下一步可以尝试:
– 配置主动模式(Active 模式)减轻 Server 负担
– 学习使用 Low-level Discovery 实现自动发现
– 探索 Zabbix API 实现自动化管理

正文完
 0
评论(没有评论)