统信服务器操作系统V20 编译安装zabbix6
目录
统信 UOS 服务器【zabbix6.0编译安装】
一、环境准备与目录规划
1、创建统一归档目录
2、安装基础依赖工具
二、安装 Zabbix Server 和 Agent
1、下载 Zabbix 源码
2、创建 Zabbix 用户和组
3、编译安装zabbix-server
4、编译安装 Zabbix-Agent
三、数据库配置
1、安装并配置 MySQL/MariaDB
2、创建 Zabbix 数据库和用户
3、导入初始数据库 schema
四、配置 Zabbix 服务
1、配置 Zabbix Server
2、配置 Zabbix Agent
3、设置目录权限
五、配置系统服务(systemd)
1、创建 Zabbix Server 服务文件
2、创建 Zabbix Agent 服务文件
3、启用并启动服务
六、配置 Nginx 和 PHP
1、部署 Zabbix Web 前端文件
2、配置 PHP
3、配置 Nginx
4、启动并验证 Nginx
七、防火墙与 SELinux 配置
1、配置防火墙
2、SELinux 配置(如果启用)
八、Web 界面完成安装
统信 UOS 服务器【zabbix6.0编译安装】
参考文件连接:
https://mp.weixin.qq.com/s/S_NqEvvew78cj3CAGrdAmQ
https://mp.weixin.qq.com/s/yNpFrZcQmBgabWoFUCSHPA
一、环境准备与目录规划
1、创建统一归档目录
# 创建Zabbix主目录及子目录e
[root@localhost ~]# sudo mkdir -p /opt/zabbix/{src,server,agent,web,db,logs,conf,scripts/{alert,external,parameters}}
# 目录功能说明:
# /opt/zabbix/src - 存放所有源码包
# /opt/zabbix/server - Zabbix Server程序目录
# /opt/zabbix/agent - Zabbix Agent程序目录
# /opt/zabbix/web - Zabbix前端Web文件
# /opt/zabbix/db - 数据库初始化脚本
# /opt/zabbix/logs - 所有日志文件(含Zabbix和Nginx)
# /opt/zabbix/conf - 所有配置文件
# /opt/zabbix/scripts - 各类自定义脚本
2、安装基础依赖工具
# 安装编译工具链 [root@localhost ~]# sudo yum install -y gcc gcc-c++ make automake autoconf libtool # 安装依赖库 [root@localhost ~]# sudo yum install -y pcre-devel openssl-devel libxml2-devel libcurl-devel net-snmp-devel libevent-devel mysql-devel libssh2-devel OpenIPMI-devel libldap-devel libpng-devel fping traceroute # 安装Nginx和PHP环境 [root@localhost ~]# sudo yum install -y nginx php php-fpm php-mysqlnd php-gd php-xml php-bcmath php-mbstring php-ldap php-zip php-json php-gettext # 注意:如果yum不可用,需要手动下载源码编译这些依赖 ======依赖库===== yum install -y gcc gcc-c++ make automake autoconf libtool pcre-devel openssl-devel libxml2-devel libcurl-devel libevent-devel mysql-devel net-snmp-devel nginx php-fpm sudo libssh2-devel OpenIPMI-devel libldap-devel libpng-devel fping traceroute yum install -y gcc gcc-c++ make automake autoconf libtool pcre-devel openssl-devel libxml2-devel libcurl-devel libevent-devel mysql-devel net-snmp-devel libssh2-devel OpenIPMI-devel libldap-devel libpng-devel fping traceroute wget
二、安装 Zabbix Server 和 Agent
1、下载 Zabbix 源码
# 进入源码目录 [root@localhost ~]# cd /opt/zabbix/src # 下载Zabbix 6.0 LTS版本(稳定版) [root@localhost src]# sudo wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.25.tar.gz # 验证文件完整性(可选) sudo wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.25.tar.gz.sha256 sha256sum -c zabbix-6.0.25.tar.gz.sha256 # 解压源码包 [root@localhost src]# sudo tar -zxvf zabbix-6.0.25.tar.gz [root@localhost src]# cd zabbix-6.0.25
2、创建 Zabbix 用户和组
# 创建专用用户组 [root@localhost zabbix-6.0.25]# sudo groupadd zabbix # 创建专用用户(无登录权限,主目录为/opt/zabbix) [root@localhost zabbix-6.0.25]# sudo useradd -g zabbix zabbix -s /sbin/nologin -d /opt/zabbix
3、编译安装zabbix-server
# 配置编译参数(支持MySQL、SNMP、curl等功能) [root@localhost zabbix-6.0.25]# sudo ./configure --prefix=/opt/zabbix/server --enable-server --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-openssl --with-ssh2 --with-openipmi --with-ldap --sysconfdir=/opt/zabbix/conf --datadir=/opt/zabbix/server/share --localstatedir=/opt/zabbix/server/var --enable-ipv6 # 编译(多线程加速,根据CPU核心数调整-j参数) [root@localhost zabbix-6.0.25]# sudo make -j4 # 安装 [root@localhost zabbix-6.0.25]# sudo make install # 或者直接执行编译安装 [root@localhost zabbix-6.0.25]# sudo make && sudo make install
4、编译安装 Zabbix-Agent
# 重新配置为Agent模式 [root@localhost zabbix-6.0.25]# sudo ./configure --prefix=/opt/zabbix/agent --enable-agent --with-openssl --sysconfdir=/opt/zabbix/conf --localstatedir=/opt/zabbix/agent/var --enable-ipv6 # 编译安装 [root@localhost zabbix-6.0.25]# sudo make -j4 && sudo make install
三、数据库配置
1、安装并配置 MySQL/MariaDB
# 安装数据库(如果未安装) [root@localhost ~]# sudo yum install -y mariadb-server # 启动数据库并设置开机自启 [root@localhost ~]# sudo systemctl start mariadb [root@localhost ~]# sudo systemctl enable mariadb # 初始化数据库安全设置(设置root密码、删除匿名用户等) [root@localhost ~]# sudo mysql_secure_installation
2、创建 Zabbix 数据库和用户
# 登录数据库 [root@localhost ~]# mysql -u root -p # 执行SQL命令(替换your_password为实际密码) mysql> CREATE DATABASE zabbix character set utf8mb4 collate utf8mb4_bin; mysql> CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'your_password'; mysql> GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'; mysql> FLUSH PRIVILEGES; mysql> quit; # 修改密码 mysql> alter user 'root'@'localhost' identified by '123456'; mysql> flush privileges;
3、导入初始数据库 schema
# 复制数据库脚本到归档目录 sudo cp -r database/mysql/* /opt/zabbix/db/ # 进入数据库脚本目录 cd /opt/zabbix/db # 导入基础结构(必须按顺序执行) mysql -u zabbix -p zabbix < schema.sql # 导入图像数据 mysql -u zabbix -p zabbix < images.sql # 导入初始数据(包含默认用户等) mysql -u zabbix -p zabbix < data.sql
四、配置 Zabbix 服务
1、配置 Zabbix Server
# 编辑配置文件 sudo vi /opt/zabbix/conf/zabbix_server.conf # 必须修改的配置项(按实际情况调整) LogFile=/opt/zabbix/logs/zabbix_server.log LogFileSize=0 # 不限制日志大小 PidFile=/opt/zabbix/server/var/zabbix_server.pid SocketDir=/opt/zabbix/server/var DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=your_password # 之前设置的数据库密码 DBPort=3306 AlertScriptsPath=/opt/zabbix/scripts/alert ExternalScripts=/opt/zabbix/scripts/external LogSlowQueries=3000 # 记录执行时间超过3秒的查询
2、配置 Zabbix Agent
# 编辑Agent配置文件 sudo vi /opt/zabbix/conf/zabbix_agentd.conf # 关键配置项 LogFile=/opt/zabbix/logs/zabbix_agentd.log LogFileSize=0 PidFile=/opt/zabbix/agent/var/zabbix_agentd.pid SocketDir=/opt/zabbix/agent/var Server=127.0.0.1 # Zabbix Server地址 ServerActive=127.0.0.1 # 主动模式Server地址 Hostname=UOS-Server-1050e # 本机主机名,需与Web配置一致 Include=/opt/zabbix/conf/zabbix_agentd.d/*.conf UnsafeUserParameters=1 # 允许自定义参数 UserParameterDir=/opt/zabbix/scripts/parameters ========参考配置 PidFile=/opt/zabbix/agent/var/zabbix_agentd.pid LogFile=/opt/zabbix/logs/zabbix_agentd.log LogFileSize=0 Server=192.168.48.131 ServerActive=192.168.48.131 Hostname=UOS-Server-1050e # 这个是和主机名一样 Include=/opt/zabbix/conf/zabbix_agentd.d/*.conf UnsafeUserParameters=1
注意:将客户端的配置修改为以下形式
Server=192.168.75.130 ServerActive=127.0.0.1
3、设置目录权限
# 递归设置所有者为zabbix用户 sudo chown -R zabbix:zabbix /opt/zabbix # 设置正确的权限 sudo chmod -R 755 /opt/zabbix sudo chmod 770 /opt/zabbix/logs # 日志目录需要写入权限
五、配置系统服务(systemd)
1、创建 Zabbix Server 服务文件
[root@localhost zabbix-6.0.25]# cat /usr/lib/systemd/system/zabbix-server.service [Unit] Description=Zabbix Server (Archived in /opt) After=network.target mariadb.service Documentation=https://www.zabbix.com/documentation [Service] Type=forking User=zabbix Group=zabbix ExecStart=/opt/zabbix/server/sbin/zabbix_server -c /opt/zabbix/conf/zabbix_server.conf ExecReload=/bin/kill -HUP $MAINPID ExecStop=/bin/kill -SIGTERM $MAINPID Restart=on-failure RestartSec=5 PIDFile=/opt/zabbix/server/var/zabbix_server.pid LimitNOFILE=65535 [Install] WantedBy=multi-user.target
2、创建 Zabbix Agent 服务文件
[root@localhost zabbix-6.0.25]# cat /usr/lib/systemd/system/zabbix-agent.service [Unit] Description=Zabbix Agent (Archived in /opt) After=network.target Documentation=https://www.zabbix.com/documentation [Service] Type=forking User=zabbix Group=zabbix ExecStart=/opt/zabbix/agent/sbin/zabbix_agentd -c /opt/zabbix/conf/zabbix_agentd.conf ExecReload=/bin/kill -HUP $MAINPID ExecStop=/bin/kill -SIGTERM $MAINPID Restart=on-failure RestartSec=5 PIDFile=/opt/zabbix/agent/var/zabbix_agentd.pid LimitNOFILE=65535 [Install] WantedBy=multi-user.target
3、启用并启动服务
# 设置服务文件权限 sudo chmod 644 /usr/lib/systemd/system/zabbix-server.service sudo chmod 644 /usr/lib/systemd/system/zabbix-agent.service # 重新加载systemd配置 sudo systemctl daemon-reload # 启动服务 sudo systemctl start zabbix-server zabbix-agent # 设置开机自启 sudo systemctl enable zabbix-server zabbix-agent # 检查服务状态 sudo systemctl status zabbix-server zabbix-agent
六、配置 Nginx 和 PHP
1、部署 Zabbix Web 前端文件
# 复制Web前端文件到归档目录 sudo cp -r /opt/zabbix/src/zabbix-6.0.25/frontends/php/* /opt/zabbix/web/ # 设置Nginx权限 sudo chown -R nginx:nginx /opt/zabbix/web sudo chmod -R 755 /opt/zabbix/web注意:
复制web前端文件时注意以下的内容 看起来你在配置 Zabbix 前端时遇到了文件路径的问题。可能是 Zabbix 源码包中前端文件的位置与预期不符。 你可以先确认 Zabbix 源码中前端文件的实际位置: bash # 查找PHP前端文件 find /opt/zabbix/src/zabbix-6.0.25 -name "index.php" 这个命令会帮你找到 Zabbix 的 index.php 文件,通常它应该位于 frontends/php 目录下。如果找到的路径不同,可以调整复制命令: bash # 假设找到的路径是/opt/zabbix/src/zabbix-6.0.25/ui sudo cp -r /opt/zabbix/src/zabbix-6.0.25/ui/* /opt/zabbix/web/ 关于 Nginx 配置文件/etc/nginx/conf.d/zabbix.conf,你可以手动创建它,内容如下: nginx server { listen 80; server_name zabbix.example.com; # 替换为你的域名或服务器IP root /opt/zabbix/web; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } location ~ .php$ { fastcgi_pass unix:/run/php-fpm/www.sock; # 根据你的PHP-FPM配置调整 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } access_log /var/log/nginx/zabbix_access.log; error_log /var/log/nginx/zabbix_error.log; } 配置完成后,重启相关服务: bash sudo systemctl restart php-fpm sudo systemctl restart nginx 这样应该就能正确配置 Zabbix 的 Web 前端了。如果还有问题,可以检查文件权限是否正确: bash sudo chown -R nginx:nginx /opt/zabbix/web sudo chmod -R 755 /opt/zabbix/web
2、配置 PHP
# 编辑PHP配置文件 sudo vi /etc/php.ini # 修改以下关键参数 max_execution_time = 300 memory_limit = 128M post_max_size = 16M upload_max_filesize = 2M max_input_time = 300 date.timezone = Asia/Shanghai # 设置为实际时区 mbstring.func_overload = 0 always_populate_raw_post_data = -1 # 配置php-fpm sudo vi /etc/php-fpm.d/www.conf # 修改用户组为nginx user = nginx group = nginx # 重启php-fpm sudo systemctl restart php-fpm sudo systemctl enable php-fpm
3、配置 Nginx
创建 Zabbix 专用 Nginx 配置:
[root@localhost ~]# cat /etc/nginx/conf.d/zabbix.conf server { listen 80; server_name localhost; # 可替换为实际域名 # 网站根目录 root /opt/zabbix/web; index index.php index.html index.htm; # 日志配置 access_log /opt/zabbix/logs/nginx_access.log; error_log /opt/zabbix/logs/nginx_error.log; # 客户端最大连接时间 keepalive_timeout 65; # 主目录配置 location / { try_files $uri $uri/ =404; autoindex off; # 关闭目录浏览 } # PHP处理配置 location ~ .php$ { # 确保PHP文件存在 try_files $uri =404; # 连接php-fpm fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; # PHP文件路径设置 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 引入标准参数 include fastcgi_params; # Zabbix所需的PHP参数 fastcgi_param PHP_VALUE " max_execution_time=300 memory_limit=128M post_max_size=16M upload_max_filesize=2M max_input_time=300 date.timezone=Asia/Shanghai "; } # 禁止访问隐藏文件 location ~ /. { deny all; access_log off; log_not_found off; } # 限制特定目录访问 location ~ /(conf|bin|include)/ { deny all; } }
4、启动并验证 Nginx
# 检查Nginx配置是否正确 sudo nginx -t # 启动Nginx并设置开机自启 sudo systemctl start nginx sudo systemctl enable nginx # 检查Nginx状态 sudo systemctl status nginx
注意:我这里是关闭了selinux和firewalld
七、防火墙与 SELinux 配置
1、配置防火墙
# 开放HTTP端口(80) sudo firewall-cmd --zone=public --add-port=80/tcp --permanent # 开放Zabbix Agent端口(10050) sudo firewall-cmd --zone=public --add-port=10050/tcp --permanent # 开放Zabbix Server端口(10051) sudo firewall-cmd --zone=public --add-port=10051/tcp --permanent # 重新加载防火墙规则 sudo firewall-cmd --reload # 查看开放的端口 sudo firewall-cmd --zone=public --list-ports
2、SELinux 配置(如果启用)
# 允许Nginx访问网络 sudo setsebool -P httpd_can_network_connect 1 # 允许Nginx访问数据库 sudo setsebool -P httpd_can_network_connect_db 1 # 允许Zabbix相关目录的访问权限 sudo chcon -R -t httpd_sys_content_t /opt/zabbix/web/ sudo chcon -R -t httpd_sys_rw_content_t /opt/zabbix/web/conf/ sudo chcon -R -t httpd_log_t /opt/zabbix/logs/
八、Web 界面完成安装
访问 Zabbix 前端 在浏览器中输入服务器 IP 地址:http://服务器IP地址 安装向导第一步:检查预安装条件 确保所有项目均显示为 "OK",如有错误需根据提示解决(通常是 PHP 扩展缺失) 配置数据库连接 数据库类型:MySQL 数据库主机:localhost 数据库端口:3306 数据库名称:zabbix 数据库用户:zabbix 数据库密码:your_password(之前设置的密码) 设置 Zabbix 服务器详情 主机名:UOS-Server-1050e(需与 Agent 配置一致) 端口:10051 名称:可自定义(如 "UOS 监控服务器") 确认配置摘要 检查所有配置无误后点击 "Next step" 完成安装 看到 "Congratulations! You have successfully installed Zabbix frontend" 表示安装成功 登录 Zabbix 用户名:Admin 密码:zabbix(首次登录后建议立即修改)
访问测试:http://192.168.48.131/setup.php

















