银河麒麟V10 SP3上Zabbix 6.4安装全攻略:从环境准备到避坑指南
银河麒麟V10 SP3上Zabbix 6.4安装全攻略:从环境准备到避坑指南
在国产化替代浪潮中,银河麒麟高级服务器操作系统V10 SP3凭借其安全可靠的特性,正成为越来越多企业的首选。而作为企业级监控系统的标杆,Zabbix 6.4的部署对于运维团队来说至关重要。本文将带你完整走过在银河麒麟V10 SP3上部署Zabbix 6.4的全过程,不仅涵盖标准安装步骤,更会深入解析那些官方文档中未曾提及的"坑点"。
1. 环境准备:构建稳固的基础
在开始安装前,我们需要确保系统环境满足Zabbix 6.4的运行需求。银河麒麟V10 SP3基于RHEL 8构建,这为我们提供了良好的兼容性基础。
1.1 系统基础检查
首先更新系统并安装基础工具包:
dnf update -y dnf install -y wget vim net-tools epel-release检查系统版本和架构:
cat /etc/kylin-release uname -m注意:银河麒麟V10 SP3存在多个小版本,建议使用最新发布的SP3版本以避免潜在的兼容性问题。
1.2 依赖组件规划
Zabbix 6.4需要以下核心组件:
- Web服务器:Apache 2.4+
- 数据库:MySQL 8.0或MariaDB 10.5+
- PHP:7.4.0+ (推荐7.4.33)
- 其他依赖:libevent, net-snmp等
建议按照以下顺序安装:
- Apache HTTP Server
- MySQL数据库
- PHP及其扩展
- Zabbix组件
2. 组件安装与配置
2.1 Apache HTTP Server安装
银河麒麟的软件源中已经包含Apache 2.4.43,直接通过dnf安装:
dnf install -y httpd httpd-devel启动服务并设置开机自启:
systemctl enable --now httpd验证安装:
httpd -v curl -I localhost防火墙配置(如果启用):
firewall-cmd --permanent --add-service=http firewall-cmd --reload2.2 MySQL 8.0安装与调优
银河麒麟默认带有MariaDB,但Zabbix 6.4官方推荐使用MySQL 8.0。以下是安装步骤:
- 移除可能的MariaDB残留:
rpm -qa | grep mariadb rpm -e --nodeps mariadb-connector-c-3.0.6-8.ky10.x86_64- 下载MySQL 8.0.32安装包:
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.32-1.el8.x86_64.rpm-bundle.tar tar -xf mysql-8.0.32-1.el8.x86_64.rpm-bundle.tar- 安装核心组件:
rpm -ivh mysql-community-*常见问题:如果遇到
/var/run/pesign路径问题,需修改配置文件:
sed -i 's/\/var\/run\/pesign/\/run\/pesign/g' /usr/lib/tmpfiles.d/pesign.conf- 初始化MySQL:
systemctl start mysqld grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}' mysql_secure_installation为Zabbix创建专用数据库:
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'ComplexPassword123!'; GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'; FLUSH PRIVILEGES;2.3 PHP 7.4编译安装与优化
银河麒麟默认软件源中的PHP版本可能不符合要求,推荐从源码编译安装PHP 7.4.33:
- 安装编译依赖:
dnf install -y libxml2-devel libjpeg-devel libpng-devel openssl-devel \ libcurl-devel libxslt-devel libzip-devel oniguruma-devel \ gd-devel freetype-devel sqlite-devel- 下载并解压PHP源码:
wget https://www.php.net/distributions/php-7.4.33.tar.gz tar -zxvf php-7.4.33.tar.gz cd php-7.4.33- 配置编译参数(针对Zabbix优化):
./configure --prefix=/usr/local/php74 \ --with-config-file-path=/usr/local/php74/etc \ --enable-fpm --with-fpm-user=apache --with-fpm-group=apache \ --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd \ --enable-mbstring --enable-gd --with-jpeg --with-freetype \ --with-zlib --with-openssl --enable-sockets \ --enable-bcmath --enable-intl --with-curl \ --with-gettext --with-zip --enable-opcache- 编译并安装:
make -j$(nproc) && make install- 配置PHP环境:
cp php.ini-production /usr/local/php74/etc/php.ini cp /usr/local/php74/etc/php-fpm.conf.default /usr/local/php74/etc/php-fpm.conf cp /usr/local/php74/etc/php-fpm.d/www.conf.default /usr/local/php74/etc/php-fpm.d/www.conf- 创建systemd服务:
cat > /etc/systemd/system/php-fpm.service <<EOF [Unit] Description=PHP FastCGI Process Manager After=network.target [Service] Type=simple ExecStart=/usr/local/php74/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php74/etc/php-fpm.conf ExecReload=/bin/kill -USR2 \$MAINPID [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl enable --now php-fpm- 验证安装:
/usr/local/php74/bin/php -v /usr/local/php74/bin/php -m | grep -E 'mysqli|pdo_mysql|gd|mbstring|bcmath|xml'3. Zabbix 6.4安装与配置
3.1 添加Zabbix仓库并安装
- 添加Zabbix官方仓库:
rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/8/x86_64/zabbix-release-6.4-1.el8.noarch.rpm dnf clean all- 安装Zabbix组件:
dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf \ zabbix-sql-scripts zabbix-selinux-policy zabbix-agent常见问题:如果遇到libevent缺失错误,可手动安装:
dnf install -y https://mirrors.aliyun.com/centos/8/AppStream/x86_64/os/Packages/libevent-2.1.8-5.el8.x86_64.rpm3.2 数据库初始化
导入Zabbix数据库结构:
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix3.3 配置Zabbix Server
编辑Zabbix Server配置文件:
vim /etc/zabbix/zabbix_server.conf关键配置项:
DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=ComplexPassword123! ListenPort=10051启动Zabbix Server:
systemctl enable --now zabbix-server3.4 配置Zabbix前端
调整PHP配置以满足Zabbix需求:
vim /usr/local/php74/etc/php.ini修改以下参数:
max_execution_time = 300 memory_limit = 128M post_max_size = 16M upload_max_filesize = 2M date.timezone = Asia/Shanghai配置Zabbix前端:
vim /etc/zabbix/web/zabbix.conf.php确保包含正确的数据库连接信息:
<?php $DB['TYPE'] = 'MYSQL'; $DB['SERVER'] = 'localhost'; $DB['PORT'] = '0'; $DB['DATABASE'] = 'zabbix'; $DB['USER'] = 'zabbix'; $DB['PASSWORD'] = 'ComplexPassword123!';3.5 整合Apache与PHP-FPM
修改Apache配置以使用PHP-FPM:
vim /etc/httpd/conf.d/zabbix.conf添加或修改以下内容:
<VirtualHost *:80> DocumentRoot /usr/share/zabbix <Directory "/usr/share/zabbix"> Require all granted AllowOverride None Options FollowSymLinks <IfModule mod_php7.c> php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_filesize 2M php_value date.timezone Asia/Shanghai </IfModule> </Directory> <FilesMatch \.php$> SetHandler "proxy:fcgi://127.0.0.1:9000" </FilesMatch> </VirtualHost>重启服务使配置生效:
systemctl restart httpd php-fpm4. 常见问题排查与性能优化
4.1 安装过程中的常见错误
依赖缺失问题:
- 现象:安装时提示缺少libevent等依赖
- 解决方案:
dnf install -y https://mirrors.aliyun.com/centos/8/AppStream/x86_64/os/Packages/libevent-2.1.8-5.el8.x86_64.rpm
PHP扩展未加载:
- 现象:Zabbix前端检查时提示缺少mbstring等扩展
- 解决方案:重新编译PHP确保包含所有必要扩展
数据库连接问题:
- 现象:Zabbix Server无法连接MySQL
- 排查步骤:
mysql -uzabbix -p -h localhost telnet localhost 3306
4.2 性能优化建议
MySQL优化:
[mysqld] innodb_buffer_pool_size = 1G innodb_log_file_size = 256M max_connections = 200Zabbix Server配置优化:
StartPollers=20 StartPollersUnreachable=5 StartTrappers=15 StartPingers=5 CacheSize=256M HistoryCacheSize=128MPHP优化:
opcache.enable=1 opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000
4.3 监控项配置建议
基础系统监控:
- CPU使用率
- 内存使用情况
- 磁盘空间和IO
- 网络流量
自定义监控项示例:
UserParameter=kysec.status,sudo /usr/bin/kysec_check UserParameter=service.status[*],systemctl is-active $1触发器配置建议:
- 多级告警(Warning/Disaster)
- 依赖关系设置
- 维护期配置
