保姆级教程:在CentOS 8上从零搭建Zabbix 6.0监控系统(含阿里云源和清华源配置)
对于刚接触运维监控的新手来说,搭建一套完整的监控系统往往充满挑战。Zabbix作为企业级开源监控解决方案,功能强大但配置步骤繁琐,特别是在国内网络环境下,依赖官方源安装常遇到下载缓慢或失败的问题。本文将手把手带你完成CentOS 8系统上Zabbix 6.0的完整部署,重点解决以下痛点:
- 国内源加速 :全程使用阿里云和清华源替代官方仓库,避免因网络问题导致的安装失败
- 原理级讲解 :不仅告诉你"怎么做",更解释"为什么这么做"
- 避坑指南 :汇总安装过程中的典型报错及解决方案
- 全流程验证 :每个关键步骤后都有验证方法,确保一次成功
1. 环境准备与系统优化
1.1 配置国内软件源
CentOS 8默认源在国内访问速度较慢,更换为阿里云镜像可显著提升软件下载速度。执行以下命令前,建议先备份原有源配置:
# 备份原有源配置
sudo mkdir -p /etc/yum.repos.d/backup
sudo mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/backup/
# 下载阿里云CentOS 8源配置
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
# 清理并重建缓存
sudo yum clean all
sudo yum makecache
注意:如果遇到"Failed to download metadata for repo"错误,可能是由于CentOS 8已停止维护导致。解决方案是修改.repo文件,将所有
mirrorlist行注释掉,只保留baseurl配置。
1.2 关闭SELinux与防火墙
SELinux是Linux的安全子系统,但在学习环境中可能造成不必要的权限问题。临时关闭和永久禁用方法如下:
# 查看当前SELinux状态
getenforce
# 临时设置为宽松模式
setenforce 0
# 永久禁用(需重启生效)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
# 停止并禁用防火墙
systemctl stop firewalld
systemctl disable firewalld
为什么需要这步操作?
- Zabbix涉及多个服务间的通信,SELinux可能拦截正常连接
- 学习环境通常在内网使用,防火墙可能阻断必要端口
- 生产环境应配置精细化的SELinux策略而非简单关闭
2. LAMP环境部署
2.1 组件安装与配置
Zabbix 6.0需要以下基础服务支持:
- Apache :Web服务器
- MariaDB :数据库存储监控数据
- PHP :Zabbix前端使用
使用单条命令完成安装:
sudo yum install -y httpd mariadb-server php php-mysqlnd php-gd php-bcmath php-mbstring php-xml
启动服务并设置开机自启:
sudo systemctl enable --now httpd mariadb
验证Apache是否正常工作:在浏览器访问
http://服务器IP
,应看到Apache测试页。
2.2 数据库安全初始化
MariaDB安装后需进行基本安全配置:
sudo mysql_secure_installation
按照提示完成以下设置:
- 设置root密码(生产环境建议使用强密码)
- 移除匿名用户(选择Y)
- 禁止root远程登录(学习环境可选N)
- 移除测试数据库(选择Y)
- 重新加载权限表(选择Y)
3. Zabbix服务端安装
3.1 配置Zabbix清华源
官方Zabbix源在国内下载速度较慢,替换为清华源:
# 安装Zabbix仓库配置
sudo rpm -Uvh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm
# 修改源配置
sudo sed -i 's#repo.zabbix.com#mirrors.tuna.tsinghua.edu.cn/zabbix#' /etc/yum.repos.d/zabbix.repo
sudo sed -i 's#repo.zabbix.com#mirrors.tuna.tsinghua.edu.cn/zabbix#' /etc/yum.repos.d/zabbix-agent2-plugins.repo
# 清理缓存
sudo dnf clean all
3.2 安装Zabbix组件
安装服务端、前端和Agent2(新版监控代理):
sudo dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-agent2
4. 数据库与Zabbix配置
4.1 创建Zabbix数据库
登录MariaDB创建专用数据库和用户:
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'StrongPassword123';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
导入初始数据结构:
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -pStrongPassword123 zabbix
4.2 配置Zabbix服务端
编辑配置文件
/etc/zabbix/zabbix_server.conf
,确保包含以下关键参数:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=StrongPassword123
DBSocket=/var/lib/mysql/mysql.sock
4.3 调整PHP时区设置
修改
/etc/php-fpm.d/zabbix.conf
:
php_value[date.timezone] = Asia/Shanghai
5. 服务启动与访问
5.1 启动所有相关服务
sudo systemctl restart zabbix-server zabbix-agent2 httpd php-fpm
sudo systemctl enable zabbix-server zabbix-agent2 httpd php-fpm
5.2 完成Web安装向导
通过浏览器访问
http://服务器IP/zabbix
,按向导完成:
- 检查所有前置条件是否满足(全部应为OK状态)
- 配置数据库连接,使用之前创建的zabbix用户信息
- 设置Zabbix服务器名称和管理员账号
- 下载生成的zabbix.conf.php配置文件,上传到指定目录
6. 常见问题排查
6.1 数据库连接失败
症状 :Web安装向导无法连接数据库 解决方案 :
-
检查
/etc/zabbix/zabbix_server.conf中的密码是否正确 -
确认MariaDB服务正在运行:
systemctl status mariadb -
测试数据库连接:
mysql -uzabbix -p zabbix
6.2 页面显示不完整
症状 :Zabbix页面CSS/JS加载异常 解决方案 :
-
检查Apache是否正常运行:
systemctl status httpd -
确认
/etc/httpd/conf.d/zabbix.conf已正确加载 - 清除浏览器缓存后重试
6.3 监控数据不更新
症状 :仪表板无数据或显示"Server not available" 解决方案 :
-
检查Zabbix server日志:
tail -f /var/log/zabbix/zabbix_server.log -
确认agent与服务端通信正常:
zabbix_get -s 127.0.0.1 -k "system.uptime"
7. 后续优化建议
-
安全加固 :
- 配置防火墙只允许特定IP访问Zabbix端口
-
定期备份
/etc/zabbix目录和数据库
-
性能调优 :
-- 在MariaDB中执行 ALTER TABLE history MODIFY itemid bigint unsigned NOT NULL; ALTER TABLE history_uint MODIFY itemid bigint unsigned NOT NULL; -
监控项配置 :
- 删除不必要的默认监控项
- 根据业务需求添加自定义监控
-
告警设置 :
- 配置邮件/Slack通知
- 设置合理的触发条件避免误报
&spm=1001.2101.3001.5002&articleId=100710569&d=1&t=3&u=f63041e4429941a8bd1433f5b8a76136)
483

被折叠的 条评论
为什么被折叠?



