从源码包升级
概述
虽然升级 agents 不是强制性的(但推荐),但 Server 和 Proxy 必须具有相同的。因此,在 Server-Proxy 这样的结构中,Zabbix Server 和所有 Proxy 都必须停止服务并进行升级。在升级期间保持 Proxy 运行没有任何用处,旧数据将被丢弃,在 Proxy 的配置信息与 Server 同步之前不会收集新数据。
不可能再让未升级的低版本 Proxy 向高版本的 Server 端发送数据。Zabbix 从未推荐或支持这种方法,现在已正式禁用,因而 Server 将忽略来自未升级 Proxy 的数据。
由于不支持 SQLite 数据库升级,SQLite 数据库文件必须手动删除,因此升级前 proxy 的历史数据将丢失。proxy 第一次启动时会缺少 SQLite 数据库文件,但 proxy 会自动创建它。
根据数据库大小,数据库升级到 6.0 版本可能需要很长时间。
在升级前请务必阅读相关升级说明!
官方提供以下升级说明:
查看关于 6.0 的其他 配置要求。
在升级期间同时运行两个并行的 SSH 会话可能会比较方便,其中一个执行升级步骤,另一个查看实时的 Server/Proxy 的日志。例如,在第二个 SSH 会话中运行 或 tail -f zabbix_proxy.log
实时显示最新返回的日志文件记录和可能的错误。这对于生产环境可能很关键。
Server 升级步骤
1 停止 Server 服务
停止 Zabbix server 服务并确认不再有新的数据写入数据库。
2 备份当前的 Zabbix 数据库
这是非常重要的一步。确保您有数据库的备份,如果升级过程失败(如磁盘空间不足、断电等任何意外问题),它将有所帮助。
3 备份配置文件、PHP 文件和 Zabbix 程序文件
4 安装新的server程序文件
查看从源代码编译 Zabbix Server 的 说明 。
5 查看 server 配置参数
有关 强制更改 的详细信息,请参阅升级说明。
有关新增的可选参数,请参阅 。
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 版本是 7.2.5。可参阅 安装说明。
8 清除浏览器 cookie 和缓存
升级后,您可能需要清除 Web 浏览器的 cookie 和缓存信息,以使 Zabbix Web 界面正常工作。
Proxy 升级步骤
1 停止 proxy 服务
停止 proxy 服务
2 备份配置文件和 Zabbix Proxy 旧版本程序
3 安装新的 proxy 程序
参考从源码编译安装 Zabbix proxy 的 说明 。
4 查看 proxy 配置参数
此版本没有对 proxy 的 参数 做强制性变更。
5 启动新的 Zabbix proxy
启动新的 Zabbix proxy 服务。检查日志以确认是否升级成功。
Zabbix proxy 会自动升级数据库。数据库升级与启动 Zabbix server 服务类似。
Agent 升级步骤
升级 agent 不是强制性的。只有在需要使用新功能时才需要升级 agent。
本节的升级过程适用于升级 Zabbix agent 和 Zabbix agent2。
1 停止 agent 服务
停掉 Zabbix agent 服务。
2 备份配置文件和 Zabbix agent 程序文件
备份配置文件和 Zabbix agent 程序文件。
3 安装新的 agent 程序文件
参考源码编译安装 Zabbix agent 的 。
4 查看 agent 配置参数
在此版本中, 和 agent2 的参数都没有强制更改部分。
5 启动新的 Zabbix agent
次版本之间的升级
升级 6.0.x 的次版本(例如从 6.0.1 到 6.0.3)时,需要对 server/proxy/agent 执行与主版本升级步骤相同的操作。唯一的区别是,在次版本之间进行升级时,不会对数据库进行任何更改。