Zabbix监控国产化:一篇搞定银河麒麟V10系统下Agent的编译、配置与开机自启
Zabbix监控国产化:银河麒麟V10系统下Agent的编译、配置与开机自启实战指南
在信息技术应用创新的大背景下,国产操作系统正逐步成为企业关键基础设施的新选择。作为国产操作系统的代表之一,银河麒麟V10凭借其安全可靠的特性和良好的生态兼容性,正在金融、政务、能源等行业加速部署。然而,当企业将业务系统迁移至国产平台时,如何确保原有监控体系的平稳过渡成为技术团队必须面对的挑战。
Zabbix作为企业级监控解决方案的佼佼者,其Agent端的部署质量直接关系到监控数据的准确性和实时性。本文将深入探讨在银河麒麟V10系统上从源码编译安装Zabbix-Agent的全过程,不仅涵盖基础安装步骤,更会针对国产系统的特性提供配置优化建议,并详细说明如何将其规范集成到系统服务管理体系,实现生产环境级别的稳定运行。
1. 银河麒麟V10系统特性与准备工作
银河麒麟V10基于Linux内核开发,针对企业级应用场景进行了多项优化和安全加固。在部署Zabbix-Agent前,了解这些系统特性对后续的编译安装和配置调整至关重要。
1.1 系统架构与目录结构特点
银河麒麟V10采用与主流Linux发行版相似的目录结构,但在安全策略上更为严格。以下是几个需要特别注意的目录:
- /usr/lib/zabbix:建议将Zabbix相关文件集中存放于此
- /run/zabbix:用于存放运行时文件,如PID文件
- /etc/zabbix:配置文件目录,需特别注意权限设置
系统安全模块(如SELinux)默认处于启用状态,这可能导致Agent运行时权限不足。可通过以下命令临时调整:
setenforce 0 # 临时关闭SELinux严格模式 getenforce # 验证当前模式1.2 依赖环境准备
编译Zabbix-Agent需要确保系统已安装必要的开发工具和库文件。在银河麒麟V10上,可通过以下命令安装基础编译环境:
sudo yum groupinstall "Development Tools" -y sudo yum install openssl-devel pcre2-devel -y注意:银河麒麟V10的软件源配置可能与CentOS有所不同,若遇到依赖包缺失的情况,需联系系统供应商获取专用源配置。
2. Zabbix-Agent源码编译与安装
2.1 源码获取与用户环境初始化
建议从Zabbix官网下载稳定版本的源码包,当前推荐使用6.0 LTS版本:
wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.9.tar.gz tar -zxvf zabbix-6.0.9.tar.gz cd zabbix-6.0.9为遵循最小权限原则,需要为Zabbix-Agent创建专用用户和组:
sudo groupadd --system zabbix sudo useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix sudo mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix sudo chown zabbix:zabbix /usr/lib/zabbix sudo mkdir /run/zabbix sudo chown zabbix:zabbix /run/zabbix2.2 编译配置与安装
银河麒麟V10的ARM64架构需要特别注意编译参数的优化:
./configure \ --sysconfdir=/etc/zabbix \ --enable-agent \ --enable-ipv6 \ --with-openssl \ --with-libpcre2编译参数说明:
| 参数 | 作用 | 推荐设置 |
|---|---|---|
| --sysconfdir | 指定配置文件目录 | /etc/zabbix |
| --enable-agent | 仅编译Agent组件 | 必选 |
| --with-openssl | 启用加密通信支持 | 建议启用 |
| --with-libpcre2 | 正则表达式支持 | 建议启用 |
编译并安装:
make -j$(nproc) sudo make install安装完成后,验证可执行文件位置:
which zabbix_agentd # 应输出:/usr/local/sbin/zabbix_agentd3. 国产环境下的配置优化
3.1 基础配置调整
编辑主配置文件/etc/zabbix/zabbix_agentd.conf,以下为关键参数建议:
PidFile=/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log Server=192.168.1.100 # Zabbix Server IP ServerActive=192.168.1.100 # 主动模式Server IP Hostname=kylin-v10-node1 # 建议使用静态主机名 EnableRemoteCommands=0 # 安全考虑建议关闭 AllowRoot=0 # 禁止root运行银河麒麟V10特有的配置注意事项:
- 若使用主机名自动发现,需确保
/etc/hosts和DNS配置正确 - 网络连接超时参数可适当增大,适应国产硬件环境
- 日志目录需手动创建并授权:
sudo mkdir /var/log/zabbix sudo chown zabbix:zabbix /var/log/zabbix3.2 安全加固配置
针对国产化环境的安全要求,建议增加以下配置:
TLSConnect=psk # 启用PSK加密 TLSAccept=psk TLSPSKIdentity=psk_kylin # PSK标识符 TLSPSKFile=/etc/zabbix/zabbix_agentd.psk生成PSK密钥:
openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk chown zabbix:zabbix /etc/zabbix/zabbix_agentd.psk chmod 600 /etc/zabbix/zabbix_agentd.psk4. 系统服务集成与开机自启
4.1 手动测试与验证
在配置为系统服务前,建议先手动启动进行验证:
sudo -u zabbix /usr/local/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf ps aux | grep zabbix_agentd netstat -tulnp | grep zabbix验证无误后,停止测试进程:
pkill zabbix_agentd4.2 创建systemd服务单元
银河麒麟V10使用systemd管理系统服务,创建服务文件/usr/lib/systemd/system/zabbix-agent.service:
[Unit] Description=Zabbix agent daemon After=syslog.target After=network.target [Service] Environment="CONFFILE=/etc/zabbix/zabbix_agentd.conf" Type=forking Restart=on-failure PIDFile=/run/zabbix/zabbix_agentd.pid KillMode=control-group ExecStart=/usr/local/sbin/zabbix_agentd -c $CONFFILE ExecStop=/bin/kill -SIGTERM $MAINPID RestartSec=10s User=zabbix Group=zabbix [Install] WantedBy=multi-user.target服务管理命令:
sudo systemctl daemon-reload sudo systemctl start zabbix-agent sudo systemctl enable zabbix-agent sudo systemctl status zabbix-agent4.3 日志管理与故障排查
银河麒麟V10的日志管理系统可通过以下方式查看Agent日志:
journalctl -u zabbix-agent -f # 实时查看日志常见问题排查指南:
连接失败:检查防火墙设置,银河麒麟V10默认防火墙规则较严格
sudo firewall-cmd --permanent --add-port=10050/tcp sudo firewall-cmd --reload权限问题:确保所有相关目录和文件的属主为zabbix用户
sudo chown -R zabbix:zabbix /etc/zabbix /run/zabbix /var/log/zabbix启动失败:检查SELinux上下文
sudo restorecon -Rv /usr/local/sbin/zabbix_agentd sudo restorecon -Rv /etc/zabbix
在实际生产环境中部署时,建议先在小范围节点进行验证,确认监控数据采集正常后再大规模推广。银河麒麟V10的安全机制较为严格,可能需要根据具体环境调整SELinux策略或防火墙规则。
