本节提供了成功升级到Zabbix 3.4的必要步骤。
Zabbix 3.2.x, 3.0.x, 2.4.x, 2.2.x 及 2.0.x 可以直接升级到 Zabbix 3.4。如果需要从更早的版本升级,参考 Zabbix 2.0 和更早期版本的文档。
虽然不强制要求(但建议)升级Zabbix agents,Zabbix server和proxy必须使用相同的大版本。因此,在server-proxy架构的安装过程中,Zabbix server和所有的proxy必须停机升级。
为了在升级过程中将停机时间和数据丢失降低到最小,建议先停机升级Zabbix server,然后再逐个停机升级和启动Zabbix proxy。当所有的Proxy升级完毕后,再启动Zabbix Server。在Zabbix server的停机期间,运行状态的Proxy将会持续收集和存储数据,并在Zabbix server启动运行时,将这些数据发送给Zabbix server。在Zabbix server停机期间的任何问题(problems)的通知(notifications),只会在升级完后的server启动后再生成。
注意使用SQLite数据库的Proxy,Proxy上升级前的历史数据将会丢失。这是因为SQLite数据库的升级不支持,而且SQLite的数据库文件需要被手动移除。当Proxy第一次启动而SQLite数据库文件不存在时,Proxy将会自动创建这个文件。
数据库升级到3.4版本可能需要较长的时间,取决于数据库大小。
从 3.2.x 到 3.4 升级之前:
如果从早期版本升级,也要阅读下列版本的升级日志: 2.0 → 2.2, 2.2 → 2.4, 2.4 → 3.0 和 3.0 → 3.2。
停止Zabbix server以确保没有新的数据写入数据库。
这是非常重要的步骤。确认你已经备份了你的数据库,以防止升级过程失败(如磁盘空间不足,断电及其他意外问题)。
保留一份Zabbix二进制文件,配置文件及PHP文件目录的备份。
使用这个指导手册以通过源代码编译Zabbix server。
zabbix_server.conf中的一些参数发生了变化,同时增加了新的参数。你可能需要检查这些参数。
启动新的二进制,通过检查日志以确认二进制是否成功启动。
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之前:
所需的PHP最低版本为5.4.0。按需升级并按安装指导操作。
停止Zabbix proxy。
保留一份Zabbix proxy二进制文件和配置文件的备份。
使用这个指导手册以通过源代码编译Zabbix proxy。
zabbix_proxy.conf中的一些配置参数可能发生了变化,同时增加了新的参数。你可能需要检查这些参数。
启动新的Zabbix proxy。通过检查日志文件以确认proxy是否成功启动。
Zabbix proxy将会自动升级数据库。数据库升级操作同Zabbix server的数据库升级类似。
不强制要求升级Zabbix agent。你只需要升级那些需要使用新功能的agents
停止Zabbix agent。
保留一份Zabbix agent二进制文件和配置文件的备份。
使用这个指导手册以通过源代码变异Zabbix agent。
你也可以通过下面的链接选择下载预编译的Zabbix agent:Zabbix download page。
zabbix_agentd.conf中的一些配置参数可能发生了变化,同时增加了新的参数。你可能需要检查这些参数。
启动新的Zabbix agent。检查日志文件以确认agent是否成功启动。