Zabbix 随笔:6.0 LTS 升级指南(一)

本文主要针对 Zabbix 5.0 LTS 如何升级到 6.0 LTS 做一个探讨。

正文

本文环境

  • CentOS 7.9.2009
  • Mariadb 10.3
  • Zabbix LTS 5.0.20
  • 虚拟机环境为 VMware
Zabbix 随笔:6.0 LTS 升级指南(一)
5.0.20
Zabbix 随笔:6.0 LTS 升级指南(一)
查看系统信息

升级思路

系统升级 -–> 数据库升级 -–> Zabbix Server 升级

升级过程

停止相关服务

systemctl stop  zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm mariadb

准备工作

1、安装 epel 源、yum-utils 工具

yum -y install epel-release
yum -y install yum-utils rpmconf
Zabbix 随笔:6.0 LTS 升级指南(一)

2、删除重复/未使用的安装包(可选)

rpmconf -a
package-cleanup --leaves
package-cleanup --orphans

3、安装 dnf(CentOS 8 默认安装工具,yum 的升级版)

yum -y install dnf

4、升级至 CentOS 8

dnf -y upgrade
yum update -y python*
yum install -y dnf-data dnf-plugins-core libdnf-devel libdnf python2-dnf-plugin-migrate dnf-automatic

5、安装 CentOS 8 的镜像源(本文采用阿里的源),由于 CentOS 8 已经停止技术支持了,所以需要采用 centos-valut 的 yum 源。

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

6、升级 epel 8 的源

dnf -y upgrade epel-release

7、移除旧内核及冲突的软件。

rpm -e `rpm -q kernel`
rpm -e --nodeps sysvinit-tools

8、版本升级

dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync

遇到的问题

1、首先遇到的问题是 CentOS 8 的源在更新时候出现了失效

Zabbix 随笔:6.0 LTS 升级指南(一)
Zabbix 随笔:6.0 LTS 升级指南(一)
查看源发现是由于更新过后链接发生了变化

执行下面的命令,继续执行更新

cd /etc/yum.repos.d/
mkdir bak
mv CentOS-Linux-* bak/
mv CentOS-Base.repo.rpmsave CentOS-Base.repo
Zabbix 随笔:6.0 LTS 升级指南(一)

由于本身 Zabbix 采用 all-in-one 的方式安装的,所以会出下图的问题,此时需要增加 CentOS 8 的 mariadb 源(否则会出现下图的问题),而 Zabbix 6.0 LTS 推荐的数据库版本为10.6,因此建议添加 10.6 的 yum 源

Zabbix 随笔:6.0 LTS 升级指南(一)

添加 Mariadb 的源

cat <<EOF > /etc/yum.repos.d/mariadb.repo
# MariaDB 10.6 CentOS repository list - created 2022-01-16 15:10 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
baseurl = https://mirrors.cloud.tencent.com/mariadb/yum/10.6/centos8-amd64
module_hotfixes=1
gpgkey=https://mirrors.cloud.tencent.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

继续执行更新命令
此时会出现报错,如下图所示,主要原因为在 7 版本和 8 版本软件名称发生了变化,例如 Centos7里的 python3-rpmconf 到了 8 会变成 python36-rpmconf,由于这些软件有一些依赖关系,卸载后会导致 RPM 无法正常使用,所以处理的时候不能够直接卸载,而是删除包信息,不卸载软件(注意根据报错调整,你的版本也许不是这个)。

rpm -e --justdb python36-rpmconf-1.0.22-1.el7.noarch rpmconf-1.0.22-1.el7.noarch
rpm -e --justdb yum-3.4.3-168.el7.centos.noarch yum-utils-1.1.31-54.el7_8.noarch python2-dnf-plugin-migrate-4.0.2.2-3.el7_6.noarch yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch
Zabbix 随笔:6.0 LTS 升级指南(一)
Zabbix 随笔:6.0 LTS 升级指南(一)

操作完上面步骤后输入上面的升级命令。

Zabbix 随笔:6.0 LTS 升级指南(一)

查看版本,版本号变了,内核未变,需要重启服务器

Zabbix 随笔:6.0 LTS 升级指南(一)

重启服务器

reboot

查看内核

Zabbix 随笔:6.0 LTS 升级指南(一)

安装 CentOS 8 Minimal 相关组件

dnf groupupdate "Core" "Minimal Install" -y

Zabbix 部分

升级 Zabbix 源

本文采用清华源

cat <<EOF > /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - \$basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/6.0/rhel/8/\$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

导入 GPG Key

curl https://mirrors.tuna.tsinghua.edu.cn/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
curl https://mirrors.tuna.tsinghua.edu.cn/zabbix/RPM-GPG-KEY-ZABBIX \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
curl https://mirrors.tuna.tsinghua.edu.cn/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
curl https://mirrors.tuna.tsinghua.edu.cn/zabbix/RPM-GPG-KEY-ZABBIX \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX

升级相关组件

dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

启动相关组件

systemctl start zabbix-server zabbix-agent nginx php-fpm

升级数据库

mysql_upgrade -uroot -pxiaoyu123
systemctl restart mariadb
Zabbix 随笔:6.0 LTS 升级指南(一)

遇到的问题

如果此时发现数据库无法连接上,请检查 firewalld 服务和 selinux 是否开启(可选)

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

出现下面问题进入 zabbix 数据库输入以下命令即可解决

Zabbix 随笔:6.0 LTS 升级指南(一)
mysql -uroot -p
use zabbix
SET GLOBAL innodb_strict_mode=OFF;
exit
Zabbix 随笔:6.0 LTS 升级指南(一)
Zabbix 随笔:6.0 LTS 升级指南(一)
数据库升级成功

修改 Zabbix Server 配置

vim /etc/zabbix/zabbix_server.conf
DBPassword=xiaoyu123
Zabbix 随笔:6.0 LTS 升级指南(一)
添加数据库密码

修改 Nginx 配置

需要将 ngnix.conf 里 server 块 80 端口进行注释,如下图 1,其次将 conf.d 里的 zabbix.conf 的 80 端口取消注释,如下图 2。

vim /etc/nginx/nginx.conf
vim /etc/nginx/conf.d/zabbix.conf
Zabbix 随笔:6.0 LTS 升级指南(一)
加上注释
Zabbix 随笔:6.0 LTS 升级指南(一)
去掉注释

前端效果

Zabbix 随笔:6.0 LTS 升级指南(一)

结语

由于 CentOS 8 已经进入到了 EOL 状态了,所以建议使用其他发行版本,很多发发行版本已经提供了转换工具,或者采用 ubuntu、debian 这样的发行版本安装新版的 Zabbix 。

原创文章,作者:运维社区

如若转载,请注明出处:https://blog.kasarit.cn/?p=229

(0)
上一篇 2022年6月8日 上午1:00
下一篇 2022年6月8日 下午4:20

相关推荐

发表回复

您的电子邮箱地址不会被公开。