前言

Zabbix 5.2发布了接近2星期了,虽然有很多特性,但由于zabbix 5.2版本的基本要求为CentOS 8,而目前主流的Linux生产版本依然还是8以下,以至于都在观望阶段,有网友也想知道如何从3、4、5版本升级上去,我其实也在找教程,但确实也没有,所以迫于无奈,只能自己操作,由于思路一直停留在直接升级,所以进展并不顺利,偶然的一次公司的某个业务需要升级到8版本带来的思路,经过各种验证,确定无误,所以就分享这篇文章。

正文

升级环境

  • 系统版本:CentOS Linux release 7.8.2003 (Core)
  • Zabbix版本:Zabbix 3.4.15
  • 数据库版本:Mariadb 5.5.65
  • PHP版本:5.4.16

升级思路

  1. 数据备份
  2. 系统版本升级
  3. 重新安装zabbix-server部分 (由于语言发生大版本升级)
  4. 将备份的配置文件重新拷贝至zabbix文件夹里

文件备份

1.zabbix相关文件备份

关掉zabbix服务systemctl stop zabbix-server zabbix-agent httpd配置文件备份mkdir /opt/zabbix-backup/cp /etc/zabbix/zabbix_server.conf  /opt/zabbix-backup/cp /etc/httpd/conf.d/zabbix.conf /opt/zabbix-backup/  PHP文件和Zabbix二进制文件备份cp -R /usr/share/zabbix/ /opt/zabbix-backup/cp -R /usr/share/doc/zabbix-* /opt/zabbix-backup/  数据库备份(如果数据库较大,建议压缩或者使用xtrabackup)mysqldump -uzabbix -pxiaoyu123 --opt --skip-lock-tables --database zabbix > /opt/zabbix-backup/zabbix.sqlmysqldump -uzabbix -pxiaoyu123  --opt --skip-lock-tables --database zabbix | gzip > /opt/zabbix-backup/zabbix_`date +'%Y%m%d%H%M%S'`.sql.gz




zabbix更新间隔无法设置 zabbix升级5.2_升级总代分享思路

备份过程




zabbix更新间隔无法设置 zabbix升级5.2_mysql_02

备份完后的文件一览



系统版本升级

由于5.2版本需要CentOS版本支持(前端7可以支持),过程详见我上一篇文章,《一文教你Centos7如何升级到Centos8》

重新安装zabbix-server部分

由于升级到8删除了部分内容,所以导致zabbix本身服务有异常




zabbix更新间隔无法设置 zabbix升级5.2_mysql_03

升级到CentOS8移除的内容



导入Zabbix 5.2安装源(国内阿里云)

添加阿里5.2源cat < /etc/yum.repos.d/zabbix.repo[zabbix]name=Zabbix Official Repository - $basearchbaseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.2/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.aliyun.com/zabbix/non-supported/rhel/8/$basearch/enabled=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIXgpgcheck=1EOF添加 gpgkeycurl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 -o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX -o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX

安装Zabbix相关软件

dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent -y




zabbix更新间隔无法设置 zabbix升级5.2_升级总代分享思路_04

安装相关软件



替换配置文件

mv /etc/zabbix/zabbix_server.conf.rpmsave zabbix_server.conf




zabbix更新间隔无法设置 zabbix升级5.2_配置文件_05

替换配置文件



启动相关软件

systemctl restart zabbix-server zabbix-agent httpd php-fpm mariadbsystemctl enable zabbix-server zabbix-agent httpd php-fpm mariadb




zabbix更新间隔无法设置 zabbix升级5.2_版本升级_06

启动并设置为开机启动



效果

升级前




zabbix更新间隔无法设置 zabbix升级5.2_配置文件_07


升级后


zabbix更新间隔无法设置 zabbix升级5.2_zabbix更新间隔无法设置_08

右下方根据报错需要调整,都是PHP的一些性能调整


zabbix更新间隔无法设置 zabbix升级5.2_zabbix更新间隔无法设置_09

升级完成,数据正常


zabbix更新间隔无法设置 zabbix升级5.2_mysql_10

启动日志正常


zabbix更新间隔无法设置 zabbix升级5.2_配置文件_11

图形正常(未替换字体)


结语

整个升级过程的研究也有一些波折,如果源码安装可能要更直观点,但是可以通过这个升级方式去学习源码更加简单,最后说明一句,升级过程有风险,一定要验证好,1:1环境模拟尝试无问题再升级,希望大家都能升级成功!