一、环境准备 1. 系统检查与依赖安装 # 确认架构与系统版本 uname -m # 输出 aarch64 cat /etc/os-release # 确认银河麒麟 V10 SP1 # 更新系统并安装基础依赖 sudo dnf update -y sudo dnf install -y gcc gcc-c++ make automake autoconf libtool \ openssl-devel libcurl-devel pcre-devel libevent-devel \ mysql-devel postgresql-devel sqlite-devel \ net-snmp-devel libxml2-devel libssh2-devel \ openldap-devel libicu-devel libevent-devel \ wget tar 2. 安装数据库(以 PostgreSQL 为例) Zabbix 需依赖数据库存储监控数据: # 安装 PostgreSQL sudo dnf install -y postgresql-server postgresql-contrib # 初始化数据库 sudo postgresql-setup --initdb sudo systemctl enable --now postgresql # 创建 Zabbix 数据库和用户 sudo -u postgres psql 修改密码 # 编辑pg_hba.conf文件 sudo vi /var/lib/pgsql/data/pg_hba.conf # 找到类似如下的行,将md5改为trust(假设是本地通过socket连接的认证方式) local all postgres trust # 重启PostgreSQL服务 sudo systemctl restart postgresql # 登录psql交互界面 sudo -u postgres psql -- 在psql交互界面中修改密码 ALTER USER postgres WITH PASSWORD 'new_password'; -- 退出psql交互界面,将pg_hba.conf中的认证方式改回原来的设置(如md5),并重启PostgreSQL服务 在 PostgreSQL 交互界面执行: CREATE DATABASE zabbix WITH ENCODING 'UTF8' LC_COLLATE 'C' LC_CTYPE 'C' TEMPLATE template0; CREATE USER zabbix WITH PASSWORD 'zabbix_password'; GRANT ALL PRIVILEGES ON DATABASE zabbix TO zabbix; \q 修改数据库配置以允许密码登录: sudo vim /var/lib/pgsql/data/pg_hba.conf # 将所有 "ident" 或 "peer" 改为 "md5" sudo systemctl restart postgresql 二、编译安装 Zabbix 1. 下载源码并解压 # 选择稳定版本(如 6.4 LTS) ZABBIX_VERSION="6.4.10" wget https://cdn.zabbix.com/zabbix/sources/stable/6.4/zabbix-${ZABBIX_VERSION}.tar.gz tar -zxvf zabbix-${ZABBIX_VERSION}.tar.gz cd zabbix-${ZABBIX_VERSION} 2. 配置编译参数(适配 arm64) ./configure \ --prefix=/usr/local/zabbix \ --enable-server \ --enable-agent \ --with-postgresql \ --with-net-snmp \ --with-libcurl \ --with-libxml2 \ --with-ssh2 \ --with-openldap \ --with-libicu \ --enable-ipv6 3. 编译并安装 # 编译(根据 CPU 核心数调整 -j 参数,鲲鹏 920 可设为 16) make -j 8 sudo make install 三、配置 Zabbix Server 1. 创建 Zabbix 系统用户 sudo groupadd --system zabbix sudo useradd --system -g zabbix -d /usr/local/zabbix -s /sbin/nologin zabbix 2. 导入初始数据库 schema # 进入源码的数据库目录 cd database/postgresql # 导入 schema 和初始数据 cat schema.sql | sudo -u postgres psql -d zabbix cat images.sql | sudo -u postgres psql -d zabbix cat data.sql | sudo -u postgres psql -d zabbix 3. 配置 Zabbix Server 数据库连接 sudo vim /usr/local/zabbix/etc/zabbix_server.conf 修改以下参数: DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix_password # 与数据库用户密码一致 DBPort=5432 4. 配置 Zabbix Agent(可选,监控本机) sudo vim /usr/local/zabbix/etc/zabbix_agentd.conf 修改基本配置: Server=127.0.0.1 # Zabbix Server 地址(本机) ServerActive=127.0.0.1 Hostname=Kylin-Arm64-Server # 本机主机名 四、配置 Web 前端(Zabbix UI) 1. 安装 Nginx 和 PHP sudo dnf install -y nginx php php-fpm php-pgsql php-gd php-xml php-mbstring \ php-ldap php-bcmath php-json php-zip 2. 配置 PHP sudo vim /etc/php.ini 调整以下参数以满足 Zabbix 要求: max_execution_time = 300 memory_limit = 128M post_max_size = 16M upload_max_filesize = 2M max_input_time = 300 date.timezone = Asia/Shanghai # 设置时区 3. 部署 Zabbix Web 前端 # 复制源码中的前端文件到 Nginx 目录 sudo mkdir -p /usr/share/nginx/html/zabbix sudo cp -r ../ui/* /usr/share/nginx/html/zabbix/ sudo chown -R nginx:nginx /usr/share/nginx/html/zabbix/ 4. 配置 Nginx sudo vim /etc/nginx/conf.d/zabbix.conf 添加以下配置: server { listen 80; server_name localhost; root /usr/share/nginx/html/zabbix; index index.php; location / { try_files $uri $uri/ =404; } location ~ \.php$ { fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } 五、启动服务并验证 1. 启动所有服务 # 启动 Zabbix Server 和 Agent sudo /usr/local/zabbix/sbin/zabbix_server sudo /usr/local/zabbix/sbin/zabbix_agentd # 启动 Nginx 和 PHP-FPM sudo systemctl enable --now nginx php-fpm # 配置防火墙 sudo firewall-cmd --add-port=80/tcp --permanent # Web 访问 sudo firewall-cmd --add-port=10051/tcp --permanent # Zabbix Server 端口 sudo firewall-cmd --add-port=10050/tcp --permanent # Zabbix Agent 端口 sudo firewall-cmd --reload