CentOS环境下Zabbix Agent高效部署指南:从安装到生产环境调优

1次阅读
没有评论

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

image.webp

技术背景

Zabbix Agent 是 Zabbix 监控系统中部署在被监控主机上的轻量级代理程序,负责收集本地系统指标(如 CPU、内存、磁盘等)并上报给 Zabbix Server。在 CentOS 环境下部署时,我们需要考虑以下特点:

CentOS 环境下 Zabbix Agent 高效部署指南:从安装到生产环境调优

  • CentOS 7/ 8 默认使用 systemd 管理服务
  • 安全机制严格(SELinux、firewalld 默认开启)
  • 生产环境通常需要长期稳定运行

安装方案对比

RPM 包安装(推荐大多数场景)

优点:

  • 安装快捷,自动解决依赖
  • 官方仓库保持版本更新
  • 标准化服务管理脚本

操作步骤(需要 root 权限):

# 添加 Zabbix 官方仓库
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm

# 安装 agent
yum install zabbix-agent

常见依赖问题解决:

  • 若缺少 fping 等工具:yum install fping
  • 老旧系统需升级 OpenSSL:yum update openssl

源码编译安装(适合定制化需求)

适用场景:

  • 需要特定版本或功能模块
  • 深度性能调优
  • 特殊架构支持

编译示例:

tar -zxvf zabbix-6.0.0.tar.gz
cd zabbix-6.0.0
./configure --enable-agent
make install

核心配置详解

关键配置文件位置:/etc/zabbix/zabbix_agentd.conf

基础参数模板

# 被动模式连接地址(需与 Server 配置一致)Server=192.168.1.100

# 主动模式地址(可选)ServerActive=192.168.1.100

# 主机名(需唯一)Hostname=web-server-01

# 日志设置
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=50
DebugLevel=3

自定义监控项示例

  1. 简单示例:监控登录用户数
UserParameter=users.count,who | wc -l
  1. 中级示例:监控 Nginx 活跃连接数
UserParameter=nginx.active_conn,curl -s http://localhost/nginx_status | awk '/Active connections/{print $3}'
  1. 复杂示例:带参数的 MySQL 查询监控
UserParameter=mysql.query[*],mysql -u$1 -p$2 -e "SELECT $3 FROM $4" | sed -n '2p'

服务管理

systemd 单元配置

查看服务状态:

systemctl status zabbix-agent

自定义服务参数(创建覆盖文件):

# /etc/systemd/system/zabbix-agent.service.d/override.conf
[Service]
LimitNOFILE=65535
Environment="ZBX_ARGS=--config /etc/zabbix/zabbix_agentd.conf"

日志轮转配置

编辑/etc/logrotate.d/zabbix-agent

/var/log/zabbix/zabbix_agentd.log {
    weekly
    missingok
    rotate 12
    compress
    delaycompress
    notifempty
    create 0640 zabbix zabbix
}

生产环境适配

SELinux 策略调整

临时放行:

setsebool -P zabbix_can_network=1

永久解决方案(建议):

semanage port -a -t zabbix_port_t -p tcp 10050

防火墙规则

firewall-cmd --permanent --add-port=10050/tcp
firewall-cmd --reload

性能调优参数

# 连接池大小
StartAgents=10

# 超时设置
Timeout=30

# 监控项缓存
BufferSize=1000

避坑指南

常见错误代码

  • 32500:权限被拒绝 → 检查 SELinux 和文件权限
  • 111:连接被拒绝 → 检查防火墙和 Server 地址
  • 105:超时 → 检查网络延迟或增大 Timeout 值

连接测试方法

从 Agent 端测试:

zabbix_get -s 127.0.0.1 -k "system.cpu.util[,idle]"

验证与测试

完整检查清单:

  1. 服务状态验证

    systemctl is-active zabbix-agent

  2. 端口监听检查

    ss -tlnp | grep zabbix

  3. 日志检查

    tail -20 /var/log/zabbix/zabbix_agentd.log

  4. Server 端测试

    zabbix_get -s <agent_ip> -k "system.uname"

延伸阅读

实际部署时,建议先在测试环境验证配置,再批量推送到生产环境。遇到问题可通过 DebugLevel=4 获取详细日志,多数连接问题都能通过 telnet <server_ip> 10050 快速定位网络层问题。

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