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] 检查提供异步轮询器。 为 proxy 单独设置数据库表。 Windows agent 配置文件的默认位置已更改。 Oracle DB 已弃用。 旧的数值(浮点)值类型已移除。 |
| 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 服务器/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 |
提高了所需的最低数据库版本。 如果数据库已过时,服务器/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 库现在为必需。已停止支持纯文本协议,且消息头为必需。 不再支持 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 服务器/前端 已停止支持将 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 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 服务器能够与 MySQL 数据库正常配合工作,需要使用字符集 utf8 和 utf8_bin 排序规则。请参见 database creation scripts。 需要使用 mysqli PHP 扩展来替代 mysql。 |