掃二維碼與項(xiàng)目經(jīng)理溝通
我們在微信上24小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
本文主要針對 Zabbix 5.0 LTS 如何升級到 6.0 LTS 做一個(gè)探討。

為漢臺等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及漢臺網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站建設(shè)、漢臺網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
注意本文環(huán)境,有可能與您的環(huán)境有所出入,所以問題有可能不同!
Zabbix 5.0.20
系統(tǒng)升級 –> 數(shù)據(jù)庫升級 –> Zabbix Server 升級
systemctl stop zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm mariadb
安裝 epel 源、yum-utils 工具
yum -y install epel-release
yum -y install yum-utils rpmconf
刪除重復(fù)/未使用的安裝包(可選)
rpmconf -a
package-cleanup --leaves
package-cleanup --orphans
安裝 dnf(C8 默認(rèn)安裝工具,yum 的升級版)
yum -y install dnf
升級至 CentOS 8
dnf -y upgrade
如果是 CentOS 7.6 版本安裝會遇到報(bào)錯(cuò),原因是因?yàn)?Python 版本不匹配,需要升級 Pyhton 版本與安裝 dnf 相關(guān)組件
yum update -y python*
yum install -y dnf-data dnf-plugins-core libdnf-devel libdnf python2-dnf-plugin-migrate dnf-automatic
安裝 CentOS 8 的鏡像源(本文采用阿里的源),由于 CentOS 8 已經(jīng)停止技術(shù)支持了,所以需要采用 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
由于 CentOS 8 已經(jīng)停止支持了,以致源切換到了 centos-valut 下,本文采用將原有源備份成其他名字的方法
升級 epel 8 的源
dnf -y upgrade epel-release
移除舊內(nèi)核及沖突的軟件
rpm -e `rpm -q kernel`
rpm -e --nodeps sysvinit-tools
版本升級
dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
首先遇到的問題是 CentOS 8 的源在更新的時(shí)候出現(xiàn)了失效
執(zhí)行下面的命令,繼續(xù)執(zhí)行更新
cd /etc/yum.repos.d/
mkdir bak
mv CentOS-Linux-* bak/
mv CentOS-Base.repo.rpmsave CentOS-Base.repo
由于本身 Zabbix 采用 all-in-one 的方式安裝的,所以會出現(xiàn)下圖的問題,此時(shí)需要增加 CentOS 8 的 mariadb 源,而 Zabbix 6.0 LTS 推薦的數(shù)據(jù)庫版本為 10.6,因此建議添加 10.6 的 yum 源
cat </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
EOF
繼續(xù)執(zhí)行更新命令
此時(shí)會出現(xiàn)報(bào)錯(cuò),如下圖所示,主要原因?yàn)樵?7 版本和 8 版本軟件名稱發(fā)生了變化,例如 Centos7 里的 python3-rpmconf 到了 8 會變成 python36-rpmconf
由于這些軟件有一些依賴關(guān)系,卸載后會導(dǎo)致 RPM 無法正常使用,所以處理的時(shí)候不能夠直接卸載,而是刪除包信息,不卸載軟件(注意根據(jù)報(bào)錯(cuò)調(diào)整,你的版本也許不是這個(gè))
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
操作完上面的步驟后繼續(xù)升級命令
升級完成
完成升級后查看版本
重啟服務(wù)器
reboot
查看內(nèi)核
安裝 CentOS 8 Minimal 相關(guān)組件
dnf groupupdate "Core" "Minimal Install" -y
升級 Zabbix 源,本文采用清華源
cat </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
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - \$basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/non-supported/rhel/8/\$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
EOF
導(dǎo)入 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
升級相關(guān)組件
dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
啟動相關(guān)組件
systemctl start zabbix-server zabbix-agent nginx php-fpm
升級數(shù)據(jù)庫
mysql_upgrade -uroot -pxiaoyu123
systemctl restart mariadb
報(bào)錯(cuò)解決
如果此時(shí)發(fā)現(xiàn)數(shù)據(jù)庫無法連接上,請檢查 firewalld 服務(wù)和 selinux 是否開啟(可選)
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
出現(xiàn)下面的問題,進(jìn)入 zabbix 數(shù)據(jù)庫輸入以下命令即可解決
mysql -uroot -p
use zabbix
SET GLOBAL innodb_strict_mode=OFF;
exit
數(shù)據(jù)庫升級失敗
升級成功
修改 Zabbix Server 配置
vim /etc/zabbix/zabbix_server.conf
DBPassword=xiaoyu123
修改 Nginx 配置
需要將 ngnix.conf 里 server 塊 80 端口進(jìn)行注釋,如下圖 1,其次將 conf.d 里的 zabbix.conf 的 80 端口取消注釋,如下圖 2
vim /etc/nginx/nginx.conf
vim /etc/nginx/conf.d/zabbix.conf
添加注釋
取消注釋
前端效果
由于 CentOS 8 已經(jīng)進(jìn)入到了 EOL 狀態(tài)了,建議使用其他發(fā)行版本,很多發(fā)行版本已經(jīng)提供了轉(zhuǎn)換工具,或者采用 ubuntu、debian 這樣的發(fā)行版本安裝新版的 Zabbix 。

我們在微信上24小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流