4 升级
在升级之前,强烈建议先查阅所有相关的升级说明。
了解您必须升级哪些组件也会很有帮助。
概述
以下提供了分步升级说明:
- Red Hat Enterprise Linux(使用软件包)
- Debian/Ubuntu(使用软件包)
- 使用容器升级
- 使用源码升级
- 使用容器
相关说明:
- 对于高可用性(HA)集群中的服务器,请参见升级 HA 集群
- 对于 TimescaleDB 数据库,请参见升级 TimescaleDB schema
需要升级的组件
建议升级 Zabbix agent,但这不是强制要求。
强烈建议升级 Zabbix proxy。Zabbix 服务器完全支持与服务器主版本相同的 proxy。 Zabbix 服务器也支持版本不早于 Zabbix 服务器上一个 LTS 发布版本的 proxy, 但功能会受到限制(数据采集、执行 远程命令、 立即检查监控项值)。配置更新也会被禁用,并且 过时的 proxy 只能使用旧配置工作。
Proxy 早于上一个 Zabbix server 版本或新于 Zabbix server 主版本都不支持。 Zabbix server 将忽略来自不受支持的 proxy 的数据,并且与 Zabbix server 的所有通信都将失败并带有警告。 更多信息,请查看 版本兼容性.
为了尽量减少升级过程中的停机时间和数据丢失,建议停止、升级并启动 Zabbix server 和 然后一个接一个地停止、升级和启动 Zabbix proxy。 在 server 停机期间,运行的 proxy 将继续数据采集。 一旦 server 启动并运行, 过期 proxy 将发送数据给新的 server(proxy 配置信息不会更新),并且保留部分功能。 在 Zabbix server 停机期间的问题告警通知,将在 升级的server运行后生成。
如果 Zabbix proxy 是首次启动且 SQLite 数据库文件缺失,proxy 会自动创建该文件。
请注意,如果 Zabbix proxy 使用 SQLite3,并且在启动时检测到现有数据库文件版本低于所需版本,它将自动删除该数据库文件并创建一个新文件。因此, 存储在 SQLite 数据库文件中的历史数据将会丢失。如果 Zabbix proxy 的版本低于数据库文件版本, Zabbix 将记录错误并退出。
根据数据库大小,升级数据库到 8.0 版本可能需要较长时间。
升级说明
支持从 2.0.x 版本直接升级到 Zabbix 8.0.x。若从更早版本升级,请参阅 Zabbix 2.0 及更早版本的文档。
请注意,升级后,Zabbix 中的某些第三方软件集成可能会受到影响,如果外部软件与升级后的 Zabbix 版本不兼容。
以下升级说明可用:
| 从版本升级 | 阅读完整升级说明 | 版本之间最重要的变更 |
|---|---|---|
| 7.4.x | 适用于: Zabbix 8.0 |
最低要求的数据库版本已提高。 最低要求的 PHP 版本已从 8.0.0 提高到 8.2.0。 已将 % 字符添加到 Zabbix agent 和 Zabbix agent 2 的 UnsafeUserParameters 列表中。 |
| 7.2.x | 适用于: Zabbix 7.4 Zabbix 8.0 |
已取消对 PCRE 库的支持。 |
| 7.0.x | 适用于: Zabbix 7.2 Zabbix 7.4 Zabbix 8.0 |
已取消对 Oracle DB 的支持。 |
| 6.4.x | 适用于: Zabbix 7.0 Zabbix 7.2 Zabbix 7.4 Zabbix 8.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 Zabbix 7.2 Zabbix 7.4 Zabbix 8.0 |
最低要求的 MySQL 版本已从 8.0.0 提高到 8.0.30。 Zabbix server/proxy 需要 libevent_pthreads 库。升级后首次启动时,使用 SQLite3 的 Zabbix proxy 会自动删除旧版本数据库(包括所有历史数据)并创建新数据库。 |
| 6.0.x LTS | 适用于: Zabbix 6.2 Zabbix 6.4 Zabbix 7.0 Zabbix 7.2 Zabbix 7.4 Zabbix 8.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 Zabbix 7.2 Zabbix 7.4 Zabbix 8.0 |
最低要求的数据库版本已提高。 如果数据库版本过旧,server/proxy 将无法启动。 由于数据库结构变更,审计日志记录会丢失。 |
| 5.2.x | 适用于: Zabbix 5.4 Zabbix 6.0 Zabbix 6.2 Zabbix 6.4 Zabbix 7.0 Zabbix 7.2 Zabbix 7.4 Zabbix 8.0 |
最低要求的数据库版本已提高。 聚合监控项已不再作为独立类型提供。 |
| 5.0.x LTS | 适用于: Zabbix 5.2 Zabbix 5.4 Zabbix 6.0 Zabbix 6.2 Zabbix 6.4 Zabbix 7.0 Zabbix 7.2 Zabbix 7.4 Zabbix 8.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 Zabbix 7.2 Zabbix 7.4 Zabbix 8.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 Zabbix 7.2 Zabbix 7.4 Zabbix 8.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 Zabbix 7.2 Zabbix 7.4 Zabbix 8.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 Zabbix 7.2 Zabbix 7.4 Zabbix 8.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 7.2 Zabbix 7.4 Zabbix 8.0 |
Zabbix server/frontend 作为后端数据库时已取消对 SQLite 的支持。 改为支持 Perl Compatible Regular Expressions (PCRE),而不是 POSIX 扩展正则表达式。 Zabbix server 现在必须使用 'libpcre' 和 'libevent' 库。 为用户参数、远程命令以及未使用 'nowait' 标志的 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 Zabbix 6.2 Zabbix 6.4 Zabbix 7.0 Zabbix 7.2 Zabbix 7.4 Zabbix 8.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 Zabbix 6.2 Zabbix 6.4 Zabbix 7.0 Zabbix 7.2 Zabbix 7.4 Zabbix 8.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 Zabbix 7.2 Zabbix 7.4 Zabbix 8.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 Zabbix 7.2 Zabbix 7.4 Zabbix 8.0 |
最低要求的 PHP 版本已从 5.1.6 提高到 5.3.0。 为了让服务器正常工作,需要使用区分大小写的 MySQL 数据库;Zabbix server 正常工作还需要字符集 utf8 和 utf8_bin 排序规则,以便与 MySQL 数据库正确配合。请参见数据库创建脚本。 需要 'mysqli' PHP 扩展,而不是 'mysql'。 |