7 升级流程
概述
本节提供 Zabbix 7.0 的升级信息:
- 使用 Red Hat Enterprise Linux 或 Debian/Ubuntu 的软件包
- 使用 源代码
- 使用 容器
相关说明:
- 对于高可用性(HA)集群中的服务器,请参见 升级 HA 集群
- 对于 TimescaleDB 数据库,请参见 升级 TimescaleDB 架构
升级 Zabbix agents 是推荐的,但不是强制性的。
升级 Zabbix proxies 是强烈推荐的。Zabbix server 完全支持相同主版本的 proxies version。 作为服务器。Zabbix server 还支持不早于 Zabbix server 上一个 LTS 版本的 proxies 版本,但功能有限(数据采集、执行 remote commands immediate item value checks)。配置 update 也将被禁用,并且 支持的-zabbix-proxies proxies 仅适用于旧版配置。
不支持早于 Zabbix server 上一个 LTS 版本 version 或者新于 Zabbix server 主版本 version 的 Proxies。Zabbix server 将忽略来自不受支持的 proxies 的数据,并且所有与 Zabbix server 的通信都将失败,并显示警告。有关更多信息,请参见 支持的-zabbix-proxies。
为了在升级期间尽量减少停机时间和数据丢失,建议依次停止、升级并启动 Zabbix server,然后再停止、升级并启动 Zabbix proxies。在服务器停机期间,正在运行的 proxies 将继续进行数据收集。一旦服务器重新启动并运行,支持的-zabbix-proxies proxies 将把数据发送到较新的服务器(尽管 proxy 配置不会更新),并将继续部分运行。在 Zabbix server 停机期间的问题通知,只有在升级后的服务器启动后才会生成。
如果 Zabbix proxy 是首次启动且 SQLite 数据库 file 不存在,proxy 会自动创建该数据库。
注意,如果 Zabbix proxy 使用 SQLite3,并且在启动时检测到现有数据库 file 的 version 版本比所需版本旧,它将自动 **delete 数据库 file 并 create 一个新的数据库。因此,存储在 SQLite 数据库 file 中的历史数据将会丢失。如果 Zabbix proxy 的 version 版本比数据库 file 的版本旧,Zabbix 将记录错误并退出。
根据数据库大小,升级数据库至 version 7.0 版本可能需要较长时间。
可以直接从以下版本升级到 Zabbix 7.0.x:Zabbix 6.4.x、6.2.x、6.0.x、5.4.x、
5.2.x、5.0.x、4.4.x、4.2.x、4.0.x、3.4.x、3.2.x、
3.0.x、2.4.x、2.2.x 以及 2.0.x。
如需从更早版本升级,请查阅 Zabbix 2.0 及更早版本的文档。
请注意,如果外部软件与升级后的 Zabbix 版本不兼容,则升级后可能会影响 Zabbix 中的一些第三方软件集成。
可用的升级说明如下:
| 从哪个版本升级 | 阅读完整升级说明 | 版本之间最重要的变更 |
|---|---|---|
| 6.4.x | 适用于: Zabbix 7.0 |
最低要求的 PHP 版本从 7.4.0 提升到 8.0.0。 为 agent、HTTP agent、SNMP walk[OID] 以及新增加的 SNMP get[OID] 检查提供异步 poller。 为 proxy 单独设置数据库表。 Windows agent 配置文件的默认位置已更改。 Oracle DB 已弃用。 旧的数值(float)值类型已移除。 |
| 6.2.x | 适用于: Zabbix 6.4 Zabbix 7.0 |
最低要求的 MySQL 版本从 8.0.0 提升到 8.0.30。 Zabbix 服务器/proxy 需要 'libevent_pthreads' 库。 升级后首次启动时,使用 SQLite3 的 Zabbix proxy 会自动删除旧版本数据库(包括所有历史数据)并创建新数据库。 |
| 6.0.x LTS | 适用于: Zabbix 6.2 Zabbix 6.4 Zabbix 7.0 |
最低要求的 PHP 版本从 7.2.5 提升到 7.4.0。 服务监控进行了大幅重构。 升级过程中需要创建确定性触发器。如果为 MySQL/MariaDB 启用了二进制日志,则需要超级用户权限,或设置变量/配置参数 log_bin_trust_function_creators = 1。有关如何设置该变量,请参见 数据库创建脚本。 |
| 5.4.x | 适用于: Zabbix 6.0 Zabbix 6.2 Zabbix 6.4 Zabbix 7.0 |
最低要求的数据库版本已提升。 如果数据库版本过旧,服务器/proxy 将无法启动。 由于数据库结构变更,审计日志记录会丢失。 |
| 5.2.x | 适用于: Zabbix 5.4 Zabbix 6.0 Zabbix 6.2 Zabbix 6.4 Zabbix 7.0 |
最低要求的数据库版本已提升。 聚合监控项已不再作为单独类型提供。 |
| 5.0.x LTS | 适用于: Zabbix 5.2 Zabbix 5.4 Zabbix 6.0 Zabbix 6.2 Zabbix 6.4 Zabbix 7.0 |
最低要求的 PHP 版本从 7.2.0 提升到 7.2.5。 密码哈希算法从 MD5 更改为 bcrypt。 |
| 4.4.x | 适用于: Zabbix 5.0 Zabbix 5.2 Zabbix 5.4 Zabbix 6.0 Zabbix 6.2 Zabbix 6.4 Zabbix 7.0 |
已取消对 IBM DB2 的支持。 最低要求的 PHP 版本从 5.4.0 提升到 7.2.0。 最低要求的数据库版本已提升。 Zabbix PHP 文件目录已更改。 |
| 4.2.x | 适用于: Zabbix 4.4 Zabbix 5.0 Zabbix 5.2 Zabbix 5.4 Zabbix 6.0 Zabbix 6.2 Zabbix 6.4 Zabbix 7.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 Zabbix 6.2 Zabbix 6.4 Zabbix 7.0 |
旧版 proxy 将无法再向已升级的服务器报告数据。 较新的 agent 将无法再与旧版 Zabbix 服务器配合工作。 |
| 3.4.x | 适用于: Zabbix 4.0 Zabbix 4.2 Zabbix 4.4 Zabbix 5.0 Zabbix 5.2 Zabbix 5.4 Zabbix 6.0 Zabbix 6.2 Zabbix 6.4 Zabbix 7.0 |
现在必须使用 'libpthread' 和 'zlib' 库。 已取消对纯文本协议的支持,且必须包含 header。 不再支持 1.4 之前版本的 Zabbix agent。 被动 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 Zabbix 6.2 Zabbix 6.4 Zabbix 7.0 |
后端数据库不再支持 Zabbix 服务器/前端使用 SQLite。 改为支持 Perl Compatible Regular Expressions (PCRE),而不再使用 POSIX 扩展正则表达式。 Zabbix 服务器现在必须使用 'libpcre' 和 'libevent' 库。 为用户参数、远程命令以及未使用 'nowait' 标志的 system.run[] 监控项,以及由 Zabbix 服务器执行的脚本,新增了退出码检查。 需要升级 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 Zabbix 6.2 Zabbix 6.4 Zabbix 7.0 |
数据库升级可能较慢,具体取决于 history 表的大小。 |
| 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 Zabbix 6.2 Zabbix 6.4 Zabbix 7.0 |
最低要求的 PHP 版本从 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 Zabbix 6.2 Zabbix 6.4 Zabbix 7.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 Zabbix 6.2 Zabbix 6.4 Zabbix 7.0 |
最低要求的 PHP 版本从 5.1.6 提升到 5.3.0。 为保证服务器正常工作,需要使用区分大小写的 MySQL 数据库;Zabbix 服务器要正常与 MySQL 数据库配合工作,需要字符集 utf8 和 utf8_bin 排序规则。请参见 数据库创建脚本。 需要 'mysqli' PHP 扩展,而不是 'mysql'。 |