RHEL 8.8 安装部署 Zabbix 6.4 详细过程

2023-09-19 16:54:57


前言

前阵子因为工作需要,要在实验环境中部署 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).

所以,只要处理好安装源以及数据库版本的问题,那么整个安装过程还是很顺利的。以上若有不妥之处,欢迎指正。


更多推荐

.NET中使用Quartz

Quartz是一个流行的开源任务调度库,它提供了强大的任务调度功能,可以方便地与.NET应用程序集成。Quartz.NET是Quartz的.NET版本,它是为.NET框架编写的,并提供了与.NET应用程序的集成。它支持各种调度策略,包括定时、间隔、日历等,可以灵活地配置和管理任务。Quartz.NET具有以下特点:开源

CodeTON Round 6 (Div 1 + Div 2, Rated, Prizes!)

CodeTONRound6(Div.1+Div.2,Rated,Prizes!)(A-E)CodeTONRound6(Div.1+Div.2,Rated,Prizes!)A.MEXanizedArray(分类讨论)可以发现当n<k或者k>x+1的时候无法构成,其余的时候贪心的用x最大化贡献即可,注意特判k==x的情况。

Go业务开发常用关注点

本文对实际开发场景中面对高频的场景,总结出来的一些处理方案,希望能对业务开发的同学提供帮助!结构体转换实际开发中会面对一个相似的数据结构,由于引用不同的包,需要开发转换到对应的结构上,本质上这些数据结构是一致的,但是所在包不同所以不能直接赋值。常规的方案大致分为下面几种:直接转换struct这种适合结构完全一致的情况,

墨天轮专访星环科技刘熙:“向量热”背后的冷思考,Hippo如何打造“先发”优势?

导读:深耕技术研发数十载,坚持自主可控发展路。星环科技一路砥砺前行、坚持创新为先,建设了全面的产品矩阵,并于2022年作为首个独立基础软件产品公司成功上市。星环科技在今年的向星力•未来技术大会上发布了分布式向量数据库TranswarpHippo以及两款领域大模型“无涯”和“求索”。关于星环科技在向量数据库领域的建树和背

MES管理系统对印刷企业来说有什么优点

在当今高度信息化的时代,许多企业,包括印刷企业,正在寻求更有效地管理其生产过程和运营的方式。在这种情况下,印刷企业MES管理系统成为了他们的首选。印刷企业MES系统在提升企业运营效率、优化生产过程、提升产品质量以及加强供应链管理等方面具有显著的优势。本文将详细探讨MES管理系统对印刷企业的优点。一、提升生产效率对于印刷

【UE 粒子练习】07——创建动画拖尾类型粒子

效果步骤1.将动画序列“Idle_ModifyBones”添加到场景中2.新建一个材质,命名为“Mat_AnimTrails”材质混合模式设置为半透明,着色模型设置为无光照,设置材质为双面材质节点如下3.新建一个粒子系统,命名为“P_AnimTrail”打开“P_AnimTrail”,添加模块“类型数据-》新建动画拖尾

【深度学习】 Python 和 NumPy 系列教程(十七):Matplotlib详解:2、3d绘图类型(3)3D条形图(3D Bar Plot)

目录一、前言二、实验环境三、Matplotlib详解1、2d绘图类型2、3d绘图类型0.设置中文字体1.线框图2.3D散点图3.3D条形图(3DBarPlot)一、前言Python是一种高级编程语言,由GuidovanRossum于1991年创建。它以简洁、易读的语法而闻名,并且具有强大的功能和广泛的应用领域。Pyth

基于Java的高校竞赛管理系统设计与实现(亮点:发起比赛、报名、审核、评委打分、获奖排名,可随意更换主题如蓝桥杯、ACM、王者荣耀、吃鸡等竞赛)

高校竞赛管理系统一、前言二、我的优势2.1自己的网站2.2自己的小程序(小蔡coding)2.3有保障的售后2.4福利三、开发环境与技术3.1MySQL数据库3.2Vue前端技术3.3SpringBoot框架3.4微信小程序四、功能设计4.1主要功能描述4.2系统角色五、系统主要功能展示5.1前端展示5.1.1赛事展示

进程地址空间(Linux虚拟内存机制)

文章目录一.Linux进程地址空间的结构二.Linux管理进程地址空间的方式三.Linux进程使用物理内存的模型四.进程地址空间的存在意义本章理论基于32位平台的Linux–kernel2.6.32版本内核一.Linux进程地址空间的结构为了保证内存安全,现代操作系统不允许应用程序(进程)直接访问物理内存空间一般来说,

【C++模拟实现】map、set容器的模拟实现

【C++模拟实现】map、set容器的模拟实现目录【C++模拟实现】map、set容器的模拟实现map、set模拟实现的代码(insert部分)部分一:红黑树的迭代器以及红黑树部分二:对set进行封装部分三:对map进行封装遇到的问题以及解决方案作者:爱写代码的刚子时间:2023.9.17前言:本篇博客有关map、se

基于数据驱动的成本洞察,趣丸科技的FinOps进阶之路~

今年以来,我们注意到越来越多的单位开始积极实践FinOps,而随着FinOps的发展,大家对于其落地过程的关注也更加具体和深入,涉及了账单波动、FinOps的边际效应、成本模型、依赖工具等多个关键问题。本月「UGeek大咖说」线上直播活动,我们邀请到了FinOps实践成熟度非常高的趣丸科技,作为快速发展的互联网公司,趣

热文推荐