文章目录
- 前言
- 1. 关闭系统防火墙
- 2. 禁用 SELinux 模块
- 3. 配置本地 YUM 源
- 4. 配置 Zabbix 下载源
- 5. 切换 PHP 模块版本
- 6. 安装 Zabbix Server && Frontend && Agent
- 7. 安装配置 MariaDB 数据库
- 8. 为 Zabbix Server 配置数据库
- 9. 启动 Zabbix Server 和 Agent 服务
- 10. 检查服务运行状态
- 11. 配置 Zabbix UI Web 页面
- 总结
前言
前阵子因为工作需要,要在实验环境中部署 Zabbix 软件来监控 VMware vCenter 服务器;在此之前,博主也只是简单了解过 Zabbix 以及 Prometheus 这些监控软件,未曾上手部署过,此次借着这个机会,记录一下安装部署过程。
在 Zabbix 官网可以通过设定基础架构,以此获取到较为详细的安装步骤,如下所示:
1. 关闭系统防火墙
[root@zabbixsvr ~]# systemctl stop firewalld.service
[root@zabbixsvr ~]# systemctl disable firewalld.service
2. 禁用 SELinux 模块
[root@zabbixsvr ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config // 重启系统后生效。
[root@zabbixsvr ~]# setenforce 0 //临时生效。
3. 配置本地 YUM 源
- 创建挂载点并上传系统镜像。
[root@zabbixsvr ~]# mkdir /iso //将 ISO 镜像文件上传至此目录。
[root@zabbixsvr ~]# mkdir /mnt/cdrom
- 挂载镜像。
[root@zabbixsvr ~]# mount -o loop /iso/rhel-8.8-x86_64-dvd.iso /mnt/cdrom
- 创建 repo 文件。
[root@zabbixsvr ~]# vim /etc/yum.repos.d/local.repo
[local-baseos]
name=local-baseos
baseurl=file:///mnt/cdrom/BaseOS
enabled=1
gpgcheck=0
[local-appstream]
name=local-appstream
baseurl=file:///mnt/cdrom/AppStream
enabled=1
gpgcheck=0
4. 配置 Zabbix 下载源
[root@zabbixsvr ~]# rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/8/x86_64/zabbix-release-6.4-1.el8.noarch.rpm
[root@zabbixsvr ~]# dnf clean all
[root@zabbixsvr ~]# dnf makecache
5. 切换 PHP 模块版本
[root@zabbixsvr ~]# dnf -y module switch-to php:7.4
6. 安装 Zabbix Server && Frontend && Agent
[root@zabbixsvr ~]# dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
7. 安装配置 MariaDB 数据库
Zabbix 服务器对于所使用数据库的版本是有要求的,Zabbix 6 要求
10.05.00 ≤ MariaDB database version ≤ 11.00.99
。
这里我们参考 MariaDB Server Repositories 所提供的配置信息来创建一个MariaDB.repo
文件,以此来安装 MariaDB 数据库。
Step1
:按照如图所示选择对应的系统版本和数据库版本,并复制自动生成的配置信息。
Step2
:创建 MariaDB.repo 文件。
[root@zabbixsvr ~]# vim /etc/yum.repos.d/MariaDB.repo //直接将前面复制的配置信息粘贴保存即可。
[root@zabbixsvr ~]# cat /etc/yum.repos.d/MariaDB.repo |grep -v ^#
[mariadb]
name = MariaDB
baseurl = https://mirrors.neusoft.edu.cn/mariadb/yum/10.11/rhel/$releasever/$basearch
module_hotfixes = 1
gpgkey = https://mirrors.neusoft.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
Step3
:安装 MariaDB 数据库。
[root@zabbixsvr ~]# dnf -y install MariaDB-server
Step4
:启动数据库服务并设置为开机自启动。
[root@zabbixsvr ~]# systemctl enable --now mariadb.service
Step5
:创建并初始化数据库。
[root@zabbixsvr ~]# mysql -uroot -p
Enter password: <--- 首次登录密码为空,直接 Enter 进入。
MariaDB [(none)]> alter user 'root'@'localhost' identified by 'Zabbix@123';
MariaDB [(none)]> create database zabbix character set utf8mb4 collate utf8mb4_bin;
MariaDB [(none)]> create user zabbix@localhost identified by 'Zabbix@123';
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;
MariaDB [(none)]> set global log_bin_trust_function_creators = 1;
MariaDB [(none)]> quit
Step6
:导入初始架构和数据,系统将会提示输入新创建的密码(此过程需要耗时 8min 左右
)。
[root@zabbixsvr ~]# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
Enter password: <--- 输入前面创建的 zabbix 用户的密码。
Step7
:导入完成后禁用 log_bin_trust_function_creators 参数。
[root@zabbixsvr ~]# mysql -uroot -p
Enter password: <--- 这里所使用的密码是在首次登录数据库后修改过的 root 用户对应的密码。
MariaDB [(none)]> set global log_bin_trust_function_creators = 0;
MariaDB [(none)]> quit;
8. 为 Zabbix Server 配置数据库
编辑 zabbix_server.conf 配置文件,设置 DBPassword 信息。
[root@zabbixsvr ~]# vim /etc/zabbix/zabbix_server.conf
[root@zabbixsvr ~]# cat /etc/zabbix/zabbix_server.conf |grep ^DBPassword
DBPassword=Zabbix@123
9. 启动 Zabbix Server 和 Agent 服务
[root@zabbixsvr ~]# systemctl enable --now zabbix-server zabbix-agent httpd php-fpm
10. 检查服务运行状态
[root@zabbixsvr ~]# systemctl status zabbix-server zabbix-agent httpd php-fpm
11. 配置 Zabbix UI Web 页面
访问地址:http://172.16.206.20/zabbix
登录账号:Admin
登录密码:zabbix
在浏览器输入访问地址以后,按照下图所示逐步进行配置即可。
点击 Finish 以后,会自动跳转到登录界面。
至此,在 Red Hat 8.8 系统上安装 Zabbix 6.4 服务就已经完成了;后续就是针对具体的监控对象如 vCenter、数据库服务器等进行监控配置了。
总结
整个安装配置过程中,值得大家注意的地方就是 MariaDB 数据库的版本,因为一旦数据库版本不在要求的范围之内,那么在最后启动 zabbix-server 服务时会报错。如果出现报错,一般在 /var/log/messages
日志中我们会看到如下所示的输出信息:
zabbix-server.service: Can't open PID file /run/zabbix/zabbix_server.pid (yet?) after start: No such file or directory
zabbix-server.service: Failed with result 'protocol'.
但这往往并不能排查出具体的原因,还需要再结合 /var/log/zabbix/zabbix_server.log
日志看下有关报错的输出信息,像博主之前踩的两次坑,一次是因为数据库版本低了,出现了如下报错:
Unable to start Zabbix server due to unsupported MariaDB database version (10.03.27).
Must be at least (10.05.00).
那么对应的方法就是升级数据库版本,或者暴力一些直接选择推倒重装。博主第二次踩坑是因为数据库版本又装的太高了,出现了如下报错:
Unsupported DB! MariaDB version is 110102 which is higher than maximum of 110099
Unable to start Zabbix server due to unsupported MariaDB database version (11.01.02).
所以,只要处理好安装源以及数据库版本的问题,那么整个安装过程还是很顺利的。以上若有不妥之处,欢迎指正。