本节提供了成功所需的步骤 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.log
或 tail -f zabbix_proxy.log
在第二个 SSH会话显示最新的日志file条目及可能的错误 实时。这对生产环境可能至关重要 实例。
有关在Zabbix 6.0.x小版本之间升级的说明(例如从6.0.1升级到6.0.3),请参阅小版本间升级。
停止 Zabbix server 以确保没有新数据插入数据库.
如果升级 Zabbix proxy, agent, 或 agent 2, 也请停止这些组件:
升级后的服务器将无法再接收未升级的 proxies 上报的数据. 这种从未被Zabbix推荐或支持的方式现在已被正式禁用, 因为服务器会忽略来自未升级 proxies 的数据.
这是一个非常重要的步骤。请确保您已备份数据库。当升级过程失败时(如磁盘空间不足、断电或任何意外问题),备份将起到关键作用。
对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/
在升级前,请update您当前的仓库包至最新的version,以确保与新版本包的兼容性并包含最新的安全补丁或错误修复。
在RHEL 9上,run:
在RHEL 8上,run:
对于较旧的RHEL版本,请将上述链接替换为Zabbix repository中的正确链接。 但请注意,这些版本的包可能不包含所有Zabbix组件。 有关包含的组件列表,请参阅Zabbix packages。
然后,清理dnf
包管理器的缓存(包括之前安装或更新过程中下载的头部信息、元数据和包文件):
在下次dnf
操作时,dnf
将从仓库下载新的元数据,因为旧的元数据已被清除。
另请参阅:rhel包签名密钥过期以了解如何在RHEL上更新仓库配置包。
要升级Zabbix组件,您可以run类似以下命令:
mysql
替换为pgsql
server
替换为proxy
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
请务必查阅Upgrade notes以确认是否需要调整配置参数。
启动更新后的Zabbix组件.
systemctl start zabbix-server systemctl start zabbix-proxy systemctl start zabbix-agent systemctl start zabbix-agent2
升级后,您可能需要clear网页浏览器cookies和网页浏览器缓存以使Zabbix web界面正常工作。
可以在Zabbix 6.0.x小版本之间进行升级(例如从6.0.1升级到6.0.3)。
要升级Zabbix小版本version,请run:
仅升级Zabbix server小版本version,请run:
仅升级Zabbix agent小版本version,请run:
或者,对于Zabbix agent 2:
dnf upgrade 'zabbix-agent2-*'