从源码升级

概述

本节提供了使用官方 Zabbix 源将 Zabbix 7.4.x 成功升级到 Zabbix 8.0.x 所需的步骤。

升级前,请务必阅读相关的升级说明

您可能还需要查看 8.0 的要求

在升级过程中,同时运行两个并行的 SSH 会话可能会很方便:在一个会话中执行升级步骤,在另一个会话中监控服务器/proxy 日志。例如,在第二个 SSH 会话中运行 tail -f zabbix_server.logtail -f zabbix_proxy.log,以便实时查看最新的日志条目和可能出现的错误。这对于生产环境实例来说可能至关重要。

服务器升级过程

1 停止服务器

停止 Zabbix 服务器,以确保不会有新数据被插入到数据库中。

2 备份现有的 Zabbix 数据库

这是非常重要的一步。请确保您已经备份了数据库。
如果升级过程失败(磁盘空间不足、断电或任何意外问题),备份将会提供帮助。

3 备份配置文件、PHP 文件和 Zabbix 程序文件

备份 Zabbix 程序文件、配置文件和 PHP 文件目录。

4 安装新的服务器二进制文件

使用这些instructions从源码编译 Zabbix 服务器。

5 检查服务器配置参数

请务必查看升级说明,以确认是否需要对配置参数进行任何更改。

有关新增的可选参数,请参见新特性页面。

6 启动新的 Zabbix 程序文件

启动新的程序文件。检查日志以确认程序文件是否成功启动。

Zabbix server 会自动升级数据库。服务启动时,Zabbix server 会报告当前的(包括强制和可选)和所需要的数据库版本。如果当前强制版本比要求的版本低,Zabbix Server 会自动执行所要求的数据库版本升级补丁。数据库升级进度(百分比)被写入 Zabbix server 的日志。当日志出现 “database upgrade fully completed” 表示数据库升级成功。如果有任何补丁升级失败,Zabbix server 将不会启动。如果当前强制数据库版本比要求的更新,Zabbix server 也不会启动。仅当当前强制数据库版本对应于所需数据库版本时,Zabbix server 才会启动。

8673:20161117:104750.259 current database version (mandatory/optional): 03040000/03040000 8673:20161117:104750.259 required mandatory version: 03040000

在启动 server 服务之前:

  • 确保数据库用户有足够的权限(创建表、删除表、创建索引、删除索引);
  • 确保您有足够的可用磁盘空间。
7 安装新的 Zabbix Web 界面

所需的最低 PHP 版本为 8.2.0。如有需要请先更新,然后按照安装说明进行操作。

升级后,您可能需要清除 Web 浏览器的 cookie 和缓存,以确保 Zabbix Web 界面正常工作。

Proxy 升级过程

1 停止 proxy

停止 Zabbix proxy。

2 备份配置文件和 Zabbix Proxy 旧版本程序

备份配置文件和 Zabbix Proxy 旧版本程序。

3 安装新的 proxy 二进制文件

使用这些instructions从源代码编译 Zabbix proxy。

4 检查 proxy 配置参数

请务必查看升级说明,以确认是否需要对配置参数进行任何更改。

有关新的可选参数,请参见新特性页面。

5 启动新的 Zabbix proxy

启动新的 Zabbix proxy。检查日志文件以确认 proxy 是否已成功启动。

Zabbix proxy 将自动升级数据库。数据库升级过程与启动 Zabbix 服务器 时类似。

agent 升级流程

升级 agent 并非强制要求。只有在需要访问新功能时, 才需要升级 agent。

本节中描述的升级流程可用于升级 Zabbix agent 和 Zabbix agent 2。

1 停止 agent

停止 Zabbix agent。

2 备份配置文件和 Zabbix agent 程序文件

备份配置文件和 Zabbix agent 程序文件。

3 安装新的 agent 二进制文件

使用这些 说明 从源码编译 Zabbix agent。

或者,您也可以从 Zabbix 下载页面 下载预编译的 Zabbix agent。

4 检查 agent 配置参数

请务必查看升级说明,以确认配置参数是否需要进行任何更改。

有关新的可选参数,请参见新特性页面。

5 启动新的 Zabbix agent

启动新的 Zabbix agent。检查日志文件以确认 agent 是否已成功启动。

次要版本之间的升级

在 8.0.x 的次要版本之间升级时(例如从 8.0.1 升级到 8.0.3),需要像主版本之间升级时一样,对服务器/proxy/agent 执行相同的操作。唯一的区别是,在次要版本之间升级时,不会对数据库进行任何更改。