升级思路
系统升级 –> 数据库升级 –> Zabbix Server 升级
停滞干系做事

systemctl stop zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm mariadb
准备事情
安装 epel 源、yum-utils 工具
yum -y install epel-releaseyum -y install yum-utils rpmconf
删除重复/未利用的安装包(可选)
rpmconf -a package-cleanup --leavespackage-cleanup --orphans
安装 dnf(C8 默认安装工具,yum 的升级版)
yum -y install dnf
升级至 CentOS 8
dnf -y upgrade
如果是 CentOS 7.6 版本安装会碰着报错,缘故原由是由于 Python 版本不匹配,须要升级 Pyhton 版本与安装 dnf 干系组件
yum update -y pythonyum install -y dnf-data dnf-plugins-core libdnf-devel libdnf python2-dnf-plugin-migrate dnf-automatic
安装 CentOS 8 的镜像源(本文采取阿里的源),由于 CentOS 8 已经停滞技能支持了,以是须要采取 centos-valut 的 yum 源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bakcurl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
由于 CentOS 8 已经停滞支持了,甚至源切换到了 centos-valut 下,本文采取将原有源备份成其他名字的方法
升级 epel 8 的源
dnf -y upgrade epel-release
移除旧内核及冲突的软件
rpm -e `rpm -q kernel`rpm -e --nodeps sysvinit-tools
版本升级
dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
首先碰着的问题是 CentOS 8 的源在更新的时候涌现了失落效
实行下面的命令,连续实行更新
cd /etc/yum.repos.d/mkdir bakmv CentOS-Linux- bak/mv CentOS-Base.repo.rpmsave CentOS-Base.repo
由于本身 Zabbix 采取 all-in-one 的办法安装的,以是会涌现下图的问题,此时须要增加 CentOS 8 的 mariadb 源,而 Zabbix 6.0 LTS 推举的数据库版本为 10.6,因此建议添加 10.6 的 yum 源
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 = MariaDBbaseurl = https://mirrors.cloud.tencent.com/mariadb/yum/10.6/centos8-amd64module_hotfixes=1gpgkey=https://mirrors.cloud.tencent.com/mariadb/yum/RPM-GPG-KEY-MariaDBgpgcheck=1EOF
连续实行更新命令此时会涌现报错,如下图所示,紧张缘故原由为在 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.noarchrpm -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
操作完上面的步骤后连续升级命令
升级完成
完成升级后查看版本
重启做事器
reboot
查看内核
安装 CentOS 8 Minimal 干系组件
dnf groupupdate "Core" "Minimal Install" -y
Zabbix 部分
升级 Zabbix 源,本文采取清华源
cat <<EOF > /etc/yum.repos.d/zabbix.repo[zabbix]name=Zabbix Official Repository - \$basearchbaseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/6.0/rhel/8/\$basearch/enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591[zabbix-non-supported]name=Zabbix Official Repository non-supported - \$basearchbaseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/non-supported/rhel/8/\$basearch/enabled=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIXgpgcheck=1EOF
导入 GPG Key
curl https://mirrors.tuna.tsinghua.edu.cn/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 \-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591curl https://mirrors.tuna.tsinghua.edu.cn/zabbix/RPM-GPG-KEY-ZABBIX \-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIXcurl https://mirrors.tuna.tsinghua.edu.cn/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 \-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591curl 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 -pxiaoyu123systemctl restart mariadb
报错办理如果此时创造数据库无法连接上,请检讨 firewalld 做事和 selinux 是否开启(可选)
systemctl stop firewalld systemctl disable firewalld setenforce 0
涌现下面的问题,进入 zabbix 数据库输入以下命令即可办理
mysql -uroot -puse zabbixSET GLOBAL innodb_strict_mode=OFF;exit
数据库升级失落败
升级成功
修正 Zabbix Server 配置
vim /etc/zabbix/zabbix_server.confDBPassword=xiaoyu123
修正 Nginx 配置须要将 ngnix.conf 里 server 块 80 端口进行注释,如下图 1,其次将 conf.d 里的 zabbix.conf 的 80 端口取消注释,如下图 2
vim /etc/nginx/nginx.confvim /etc/nginx/conf.d/zabbix.conf
添加注释
取消注释
前端效果
结语
由于 CentOS 8 已经进入到了 EOL 状态了,建议利用其他发行版本,很多发行版本已经供应了转换工具,或者采取 ubuntu、debian 这样的发行版本安装新版的 Zabbix 。