1 红帽企业版 Linux

概述

本节提供了成功所需的步骤 upgrade 从 Zabbix 5.4.x 升级到最新 version 版本的 Zabbix 6.0.x 使用适用于红帽企业版的官方Zabbix软件包 Linux

虽然升级Zabbix agents并非强制要求(但建议执行),Zabbix 服务器和proxies必须属于same major version。因此,在服务器-proxy中 安装, Zabbix server 和所有 proxies 必须停止并进行升级 在服务器升级期间保持proxies运行不再会带来任何 在proxy升级过程中受益,因为他们的旧数据将被丢弃且不会 新数据将持续收集,直到proxy配置同步完成 服务器.

请注意,在proxies上使用SQLite数据库时,来自proxies的历史数据 升级前的数据将会丢失,因为SQLite数据库升级不支持 支持,且必须手动移除SQLite数据库file。当 proxy首次启动时,SQLite数据库file 缺失时,proxy会自动创建它。

根据数据库大小,升级到version 6.0可能需要 很长时间。

在升级前请确保阅读相关 升级注意事项!

以下升级说明可供参考:

从版本升级 阅读完整升级说明 各版本间最重要的变更
5.4.x 适用于:
Zabbix 6.0
最低数据库版本要求提升;
server/proxy 在数据库版本过旧时将无法启动;
因数据库结构变更导致的审计日志记录丢失问题.
5.2.x 适用于:
Zabbix 5.4
Zabbix 6.0
最低支持数据库版本升级;
聚合监控项不再作为独立类型保留.
5.0.x LTS 适用于:
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
最低要求的PHP version 版本从7.2.0提升至7.2.5.
4.4.x 适用于:
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
不再支持IBM DB2;
最低要求的PHP version从5.4.0提升至7.2.0;
最低要求的数据库版本已提升;
更改了Zabbix PHP file目录.
4.2.x 适用于:
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
Jabber和Ez Texting媒介类型已被移除。
4.0.x LTS 适用于:
Zabbix 4.2
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
旧版 proxies 无法再向升级后的服务器报告数据;
新版 agents 将无法与旧版 Zabbix server 协同工作.
3.4.x 适用于:
Zabbix 4.0
Zabbix 4.2
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
'libpthread'和'zlib'库现为强制依赖项;
不再支持纯文本协议且必须包含消息头;
不再支持1.4版本前的version Zabbix agents;
被动proxy配置中的Server参数现为必填项.
3.2.x 适用于:
Zabbix 3.4
Zabbix 4.0
Zabbix 4.2
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
不再支持SQLite作为Zabbix server/前端后端数据库;
采用Perl兼容正则表达式(PCRE)替代POSIX扩展正则;
Zabbix server必须依赖'libpcre'和'libevent'库;
新增对用户参数、远程命令以及不带'nowait'flag的system.run[]监控项和Zabbix server执行脚本的退出码检查;
Zabbix Java网关需升级以支持新功能.
3.0.x LTS 适用于:
Zabbix 3.2
Zabbix 3.4
Zabbix 4.0
Zabbix 4.2
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
数据库升级可能较慢,具体取决于历史表的大小。
2.4.x 适用于:
Zabbix 3.0
Zabbix 3.2
Zabbix 3.4
Zabbix 4.0
Zabbix 4.2
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
最低要求的PHP version版本从5.3.0提升至5.4.0
必须指定LogFile agent参数
2.2.x LTS 适用于:
Zabbix 2.4
Zabbix 3.0
Zabbix 3.2
Zabbix 3.4
Zabbix 4.0
Zabbix 4.2
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
基于节点的分布式监控已移除
2.0.x 适用于:
Zabbix 2.2
Zabbix 2.4
Zabbix 3.0
Zabbix 3.2
Zabbix 3.4
Zabbix 4.0
Zabbix 4.2
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
最低要求的PHP version 从5.1.6提升至5.3.0;
服务器正常运行需要区分大小写的MySQL数据库; Zabbix server 要正常使用MySQL数据库需要字符集utf8和utf8_bin排序规则. 参见 mysqlmariadb.
需要'mysqli' PHP扩展而非 'mysql数据库'

您可能还需要查看 requirements 适用于6.0版本

在操作过程中,同时开启run两个并行的SSH会话可能会非常方便 升级,执行升级步骤并监控 server/proxy 登录到另一个。例如,run tail -f zabbix_server.logtail -f zabbix_proxy.log 在第二个 SSH会话显示最新的日志file条目及可能的错误 实时。这对生产环境可能至关重要 实例。

有关在Zabbix 6.0.x小版本之间升级的说明(例如从6.0.1升级到6.0.3),请参阅小版本间升级

升级流程

1 停止Zabbix进程

停止 Zabbix server 以确保没有新数据插入数据库.

systemctl stop zabbix-server

如果升级 Zabbix proxy, agent, 或 agent 2, 也请停止这些组件:

systemctl stop zabbix-proxy
       systemctl stop zabbix-agent
       systemctl stop zabbix-agent2

升级后的服务器将无法再接收未升级的 proxies 上报的数据. 这种从未被Zabbix推荐或支持的方式现在已被正式禁用, 因为服务器会忽略来自未升级 proxies 的数据.

2 备份现有Zabbix数据库

这是一个非常重要的步骤。请确保您已备份数据库。当升级过程失败时(如磁盘空间不足、断电或任何意外问题),备份将起到关键作用。

3 备份配置文件、PHP 文件及 Zabbix 二进制文件

对Zabbix二进制文件、配置文件及PHP copy目录进行备份file

配置文件:

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/zabbix-* /opt/zabbix-backup/

4 更新仓库配置包

在升级前,请update您当前的仓库包至最新的version,以确保与新版本包的兼容性并包含最新的安全补丁或错误修复。

RHEL 9上,run:

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-latest.el9.noarch.rpm

RHEL 8上,run:

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-latest.el8.noarch.rpm

对于较旧的RHEL版本,请将上述链接替换为Zabbix repository中的正确链接。 但请注意,这些版本的包可能不包含所有Zabbix组件。 有关包含的组件列表,请参阅Zabbix packages

然后,清理dnf包管理器的缓存(包括之前安装或更新过程中下载的头部信息、元数据和包文件):

dnf clean all

在下次dnf操作时,dnf将从仓库下载新的元数据,因为旧的元数据已被清除。

另请参阅:rhel包签名密钥过期以了解如何在RHEL上更新仓库配置包。

5 升级Zabbix组件

要升级Zabbix组件,您可以run类似以下命令:

dnf install zabbix-server-mysql zabbix-web-mysql zabbix-agent
  • 如果使用PostgreSQL,请将命令中的mysql替换为pgsql
  • 如果升级proxy,请将命令中的server替换为proxy
  • 如果升级agent 2,请将命令中的zabbix-agent替换为zabbix-agent2 zabbix-agent2-plugin-*

使用dnf install zabbix-agent2命令升级Zabbix agent 2可能会导致错误。 更多信息请参阅已知问题

然后,要升级Apache的Web前端并重启Apache,请run:

dnf install zabbix-apache-conf systemctl restart httpd

6 审查组件配置参数

请务必查阅Upgrade notes以确认是否需要调整配置参数。

7 启动Zabbix进程

启动更新后的Zabbix组件.

systemctl start zabbix-server systemctl start zabbix-proxy systemctl start zabbix-agent systemctl start zabbix-agent2

8 清除浏览器cookie和缓存

升级后,您可能需要clear网页浏览器cookies和网页浏览器缓存以使Zabbix web界面正常工作。

小版本间升级

可以在Zabbix 6.0.x小版本之间进行升级(例如从6.0.1升级到6.0.3)。

要升级Zabbix小版本version,请run:

dnf upgrade 'zabbix-*'

仅升级Zabbix server小版本version,请run:

dnf upgrade 'zabbix-server-*'

仅升级Zabbix agent小版本version,请run:

dnf upgrade 'zabbix-agent-*'

或者,对于Zabbix agent 2:

dnf upgrade 'zabbix-agent2-*'