CentOS 7.9 在线安装 Zabbix 5.0 完整指南
在现代IT基础设施监控中,Zabbix作为一款功能强大的开源监控解决方案,被广泛应用于企业级系统监控。本文将详细介绍在CentOS 7.9环境下通过在线方式安装和配置Zabbix 5.0的完整过程。
场景背景
CentOS 7.9作为企业级服务器操作系统,具有稳定性和安全性等优势。Zabbix 5.0作为长期支持版本,提供了丰富的监控功能和良好的兼容性。在实际部署过程中,需要特别关注SELinux配置、数据库连接、Web前端配置等关键环节,以确保监控系统的稳定运行。
环境信息
- 操作系统:CentOS 7.9
- Zabbix版本:5.0 LTS
- 数据库:MySQL 5.7.17(已安装)
- SELinux状态:permissive模式
SELinux配置
根据系统环境,SELinux当前处于permissive模式,这是一种较为安全的折中方案。在permissive模式下,SELinux会记录违反策略的行为但不会阻止它们,既保证了系统的正常运行,又可以记录潜在的安全问题。
# 查看SELinux状态
sestatus
输出应显示:
SELinux status: enabled
Current mode: permissive
Mode from config file: disabled
对于Zabbix的安装和运行,我们有两种处理方式:
方式一:保持当前SELinux状态(推荐)
维持permissive模式,既保证了系统的正常运行,又能记录潜在的安全问题。
方式二:完全禁用SELinux(可选)
如果遇到与SELinux相关的特定问题,可以选择完全禁用SELinux:
# 编辑SELinux配置文件
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
# 临时禁用SELinux(重启前生效)
setenforce 0
注意:禁用SELinux会降低系统的安全性,建议仅在必要时使用。
在线安装配置步骤
1. 配置YUM源
为了提高下载速度和稳定性,我们使用阿里云镜像源:
# 备份原有repo文件
mkdir -p /etc/yum.repos.d/backup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/
# 下载阿里云CentOS基础源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# 清理并重建YUM缓存
yum clean all && yum repolist
2. 安装Zabbix官方仓库
添加Zabbix官方YUM仓库配置:
# 安装Zabbix官方仓库配置包
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# 替换为阿里云镜像源
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
3. 安装Zabbix组件
安装Zabbix Server和Agent组件:
# 安装Zabbix Server和Agent
yum install -y zabbix-server-mysql zabbix-agent
4. 安装Software Collections仓库
Zabbix 5.0需要PHP 7.2或更高版本,而CentOS 7默认提供的是较旧版本的PHP。我们需要安装Software Collections仓库来获取较新版本的PHP:
# 安装Software Collections仓库
yum install -y centos-release-scl
5. 启用Zabbix前端源
启用Zabbix前端源以安装Web界面组件:
# 启用Zabbix前端源
sed -i 's/enabled=0/enabled=1/g' /etc/yum.repos.d/zabbix.repo
6. 安装Zabbix前端组件
安装Zabbix Web前端和相关环境:
# 安装Zabbix前端组件和相关环境
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
注意:如果遇到SCL源无法连接的问题(CentOS 7的SCL源在2024年6月30日停止维护),需要替换为阿里云镜像源。具体操作可参考张师傅其他文章。
7. 创建Zabbix数据库
由于MySQL 5.7.17已安装,我们直接创建Zabbix数据库和用户:
# 登录MySQL
mysql -u root -p
# 在MySQL中执行以下SQL语句
CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'zabbix'@'%' IDENTIFIED BY 'Zabbix@345';
GRANT ALL PRIVILEGES ON `zabbix`.* TO 'zabbix'@'%';
# 刷新权限使设置生效
FLUSH PRIVILEGES;
# 退出数据库
EXIT;
8. 导入初始数据库结构
解压并导入Zabbix初始数据库结构:
# 解压并导入Zabbix初始数据库结构
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
当提示输入密码时,输入之前设置的密码:Zabbix@345
9. 配置Zabbix Server
编辑Zabbix Server配置文件:
# 编辑配置文件
vim /etc/zabbix/zabbix_server.conf
修改以下配置项:
# 按实际的来源修改
# 数据库主机地址
DBHost=mysql主机地址
# 数据库名称
DBName=zabbix
# 数据库用户名
DBUser=zabbix
# 数据库密码
DBPassword=Zabbix@345
10. 配置PHP时区
编辑PHP配置文件:
# 编辑PHP配置文件
vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
取消注释并修改时区设置:
; 设置PHP时区为上海时区
php_value[date.timezone] = Asia/Shanghai
启动和启用服务
1. 启动相关服务
# 启动Zabbix Server、Agent、Apache和PHP-FPM服务
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
# 设置服务开机自启
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
2. 检查服务状态
# 检查各服务状态,确保都正常运行
systemctl status zabbix-server
systemctl status zabbix-agent
systemctl status httpd
systemctl status rh-php72-php-fpm
3. 检查端口监听情况
# 检查端口监听,确认服务已正确启动
netstat -tlnp | grep -E '(10050|10051|80)'
应该看到以下端口正在监听:
- 80端口:Apache Web服务
- 10050端口:Zabbix Agent
- 10051端口:Zabbix Server
Web界面初始化
1. 访问Web安装向导
打开浏览器并访问:
http://your_server_ip/zabbix
您将看到Zabbix Web界面安装向导。
2. 安装步骤
- 点击"Next step"开始安装
- 检查先决条件,确保所有项目都标记为OK
- 配置数据库连接:
- Database type: MySQL
- Database host: localhost
- Database port: 0 (默认)
- Database name: zabbix
- User: zabbix
- Password: Zabbix@345
- 设置Web服务器连接:
- Host: localhost
- Port: 10051
- Name: (留空或填写服务器名称)
- 设置Web界面:
- Default time zone: Asia/Shanghai
- 检查所有配置信息并点击"Next step"
- 点击"Finish"完成安装
3. 登录Web界面
安装完成后,使用默认凭据登录:
- Username: Admin
- Password: zabbix
登录后建议立即更改密码:
- 点击右上角用户图标
- 选择"User settings"
- 在"Change password"标签页中输入新密码
- 点击"Update"保存
常见问题和解决方案
1. SELinux相关问题
虽然我们已将SELinux设置为permissive模式,但如果遇到相关问题,可以查看audit日志:
# 查看SELinux审计日志
tail -f /var/log/audit/audit.log | grep zabbix
2. 数据库连接问题
如果Zabbix Server无法连接到数据库,请检查:
- 数据库服务是否正在运行
- 数据库用户权限是否正确
- 防火墙设置是否允许连接
# 测试数据库连接
mysql -uzabbix -p zabbix -e "SELECT 1;"
3. Web界面无法访问
如果Web界面无法访问,请检查:
- Apache服务是否正在运行
- 防火墙设置是否允许80端口访问
- PHP配置是否正确
# 检查Apache错误日志
tail -f /var/log/httpd/error_log
# 检查Zabbix Web日志
tail -f /var/log/httpd/zabbix_web.log
总结
本文详细介绍了在CentOS 7.9环境下在线安装和配置Zabbix 5.0的完整过程,特别关注了SELinux配置、数据库连接、Web前端配置等关键环节。通过遵循本文的步骤和建议,可以成功部署一个稳定可靠的Zabbix监控系统。
在实际部署过程中,需要注意以下几点:
- 根据实际环境调整SELinux配置
- 确保数据库字符集使用utf8而非utf8mb4
- 正确配置PHP时区
- 处理可能遇到的SCL源连接问题
通过合理的配置和优化,Zabbix可以为您的IT基础设施提供强大的监控能力,帮助您及时发现和解决系统问题。
评论区