麒麟os部署zabbix有三种方式:一、yum快速安装,适用于测试环境;二、lnpp源码编译,满足信创高安全要求;三、离线源码部署,专为断网生产环境设计。

如果您在麒麟操作系统上部署Zabbix监控平台时遇到组件缺失、依赖冲突或服务无法启动等问题,则很可能是由于环境准备不充分或安装路径与系统策略不匹配所致。以下是针对麒麟OS(以Kylin V10 SP2为主)搭建Zabbix监控平台的多种可行路径:
一、基于YUM仓库的快速安装方式
该方式适用于具备公网或内网镜像源的麒麟OS环境,依赖管理由包管理器自动处理,适合快速验证和非生产测试场景。它通过官方Zabbix仓库拉取预编译二进制包,避免手动编译带来的兼容性风险。
1、导入Zabbix官方仓库GPG密钥并安装仓库配置包:
rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/8/x86_64/zabbix-release-7.0-1.el8.noarch.rpm
2、清理本地缓存并刷新仓库列表:
dnf clean all && dnf makecache
3、安装Zabbix Server、Web前端及Agent组件:
dnf install -y zabbix-server-postgresql zabbix-web-postgresql zabbix-apache-conf zabbix-agent
4、安装PostgreSQL数据库服务:
dnf install -y postgresql-server && postgresql-setup --initdb
5、启动并启用数据库服务:
systemctl enable --now postgresql
6、切换至postgres用户并创建zabbix专用数据库及用户:
sudo -u postgres psql -c "create database zabbix encoding 'UTF8' lc_collate='en_US.UTF-8' lc_ctype='en_US.UTF-8';"
sudo -u postgres psql -c "create user zabbix with password 'YourStrongZabbixDBPass123!';"
sudo -u postgres psql -c "grant all privileges on database zabbix to zabbix;"
二、LNPP源码编译安装方式
该方式适用于信创高安全要求环境,支持对Nginx、PHP、PostgreSQL及Zabbix Server进行版本可控、参数可调的深度定制。所有组件均以非root用户身份运行,符合麒麟OS最小权限安全基线要求。
1、创建专用运行用户itops:
groupadd itops && useradd -g itops -d /opt/itops -s /sbin/nologin itops
2、安装编译依赖:
yum -y install gcc gcc-c++ pcre-devel openssl-devel libxml2-devel libcurl-devel libevent-devel openldap-devel unixODBC-devel
3、分别解压并编译安装Nginx 1.24.0、PostgreSQL 16.2、PHP 8.3.3,安装路径统一设为/opt/{nginx,pgsql,php},所有二进制文件属主设为itops:itops
4、配置PHP支持Zabbix Web界面所需扩展:
编辑/opt/php/etc/php.ini,确保启用extension=pgsql.so、extension=pdo_pgsql.so、extension=gd.so、extension=mbstring.so,并设置date.timezone = Asia/Shanghai
5、解压Zabbix 7.0.13源码包,进入目录后执行:
./configure --prefix=/opt/zabbix \
--sysconfdir=/etc/zabbix \
--enable-server \
--enable-agent \
--with-postgresql=/opt/pgsql \
--with-net-snmp \
--with-libcurl \
--with-libxml2
6、编译并安装:
make -j$(nproc) && make install
7、初始化数据库结构:
zcat /opt/zabbix/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u postgres /opt/pgsql/bin/psql -U zabbix -d zabbix
三、离线源码包部署方式
该方式专为完全断网的麒麟OS生产环境设计,所有依赖RPM包及Zabbix源码均需提前下载并校验SHA256,杜绝任何外部网络交互。整个过程可在一台联网麒麟OS上完成打包,再迁移至目标主机执行。
1、在同版本麒麟OS联网机器上执行:
yum install --downloadonly --downloaddir=/tmp/zabbix-deps gcc net-snmp-devel unixODBC-devel libxml2-devel libcurl-devel libssh2-devel OpenIPMI-devel openssl-devel openldap-devel libevent-devel
2、将Zabbix 5.0.42或7.0.13源码包、全部RPM依赖包、以及已编译好的postgresql-16.2-1.ky10.x86_64.rpm等基础组件一并拷贝至目标离线主机的/opt/offline/目录
3、在离线主机上安装全部RPM依赖:
rpm -ivh /opt/offline/*.rpm --nodeps --force
4、创建zabbix系统用户与数据目录:
groupadd --system zabbix && useradd --system -g zabbix -d /var/lib/zabbix -s /sbin/nologin zabbix
mkdir -p /var/lib/zabbix && chown zabbix:zabbix /var/lib/zabbix
5、解压Zabbix源码并进入目录,执行无网络校验的配置:
./configure --prefix=/usr/local/zabbix \
--sysconfdir=/etc/zabbix \
--enable-server \
--enable-agent \
--with-postgresql \
--without-oracle \
--without-mysql
6、编译时跳过SSL证书验证环节:
make CFLAGS="-O2 -DOPENSSL_NO_SSL3 -Wno-error" -j$(nproc)
7、安装后手动复制systemd服务文件:
cp /usr/src/zabbix-7.0.13/misc/init.d/redhat/zabbix_server /etc/init.d/zabbix-server
cp /usr/src/zabbix-7.0.13/misc/init.d/redhat/zabbix_agentd /etc/init.d/zabbix-agent










