1 从源码升级
概述
本节介绍使用官方 Zabbix 源将 Zabbix 7.2.x 成功升级到 Zabbix 7.4.x 所需的步骤。
升级前请务必阅读相关的升级说明!
您还可以查看 7.4 的要求。
升级期间,同时运行两个 SSH 会话可能会很方便:在其中一个会话中执行升级步骤,在另一个会话中监控服务器/proxy 日志。
例如,在第二个 SSH 会话中运行 tail -f zabbix_server.log 或 tail -f zabbix_proxy.log,以实时查看最新的日志条目和可能出现的错误。
对于生产实例而言,这一点可能至关重要。
服务器升级过程
1 停止服务器
停止 Zabbix 服务器,以确保没有新数据写入数据库。
2 备份现有的 Zabbix 数据库
这是非常重要的一步。 请确保已备份数据库。 如果升级过程失败(磁盘空间不足、断电或任何意外问题),备份将有所帮助。
3 备份配置文件、PHP 文件和 Zabbix 二进制文件
备份 Zabbix 二进制文件、配置文件和 PHP 文件目录。
4 安装新的服务器二进制文件
使用这些说明从源代码编译 Zabbix 服务器。
5 查看服务器配置参数
请务必查看升级说明,确认是否需要对配置参数进行任何更改。
有关新增的可选参数,请参阅新增功能页面。
6 启动新的 Zabbix 二进制文件
启动新的二进制文件。
检查日志文件,确认二进制文件是否已成功启动。
Zabbix 服务器将自动升级数据库。
启动时,Zabbix 服务器会报告当前的数据库版本(必需版本和可选版本)以及所需的数据库版本。
如果当前必需版本低于所需版本,Zabbix 服务器会自动执行所需的数据库升级补丁。
数据库升级的开始状态和进度(百分比)会写入 Zabbix 服务器日志文件。
升级完成后,日志文件中会写入“数据库升级已完全完成”消息。
如果任何升级补丁失败,Zabbix 服务器将无法启动。
如果当前必需的数据库版本高于所需版本,Zabbix 服务器同样无法启动。
只有当当前必需的数据库版本与所需的必需版本一致时,Zabbix 服务器才会启动。
8673:20161117:104750.259 current database version (mandatory/optional): 03040000/03040000
8673:20161117:104750.259 required mandatory version: 03040000
启动服务器之前:
- 确保数据库用户具有足够的权限(创建表、删除表、创建索引、删除索引)
- 确保有足够的可用磁盘空间。
7 安装新的 Zabbix 前端
所需的最低 PHP 版本为 8.0.0。 如有需要,请进行更新,并按照安装说明操作。
8 清除 Web 浏览器 Cookie 和缓存
升级后,您可能需要清除 Web 浏览器 Cookie 和缓存,才能使 Zabbix 前端正常工作。
Proxy 升级过程
1 停止 proxy
停止 Zabbix proxy。
2 备份配置文件和 Zabbix Proxy 旧版本程序
备份配置文件和 Zabbix Proxy 旧版本程序。
3 安装新的 proxy 二进制文件
使用这些说明从源代码编译 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 是否已成功启动。
次要版本之间的升级
在 7.4.x 的次要版本之间升级时(例如,从 7.4.1 升级到 7.4.3),需要对服务器/proxy/agent 执行与主要版本之间升级时相同的操作。
唯一的区别是,在次要版本之间升级时,不会对数据库进行任何更改。