本节提供了使用用于Red Hat Enterprise Linux / CentOS的官方Zabbix软件包从Zabbix 4.4.x成功升级到Zabbix 5.0.x所需的步骤。
虽然不是强制性升级Zabbix agent(但建议升级),但是Zabbix server和agent必须具有相同的主版本。 因此,在server-proxy设置中,必须停止并升级Zabbix server和所有agent。 在agent升级期间,不再使agent保持运行状态将带来任何好处,因为在agent升级期间,其旧数据将被丢弃,并且在agent配置与server同步之前不会收集新数据。
请注意,对于agent上的SQLite数据库,升级之前来自agent的历史记录数据将丢失,因为不支持SQLite数据库升级,并且必须手动删除SQLite数据库文件。 首次启动agent并且缺少SQLite数据库文件时,agent会自动创建它。
根据数据库大小,数据库升级到版本5.0可能会花费很长时间。
<note warning>值得注意的是,在升级之前,请务必阅读相关的升级说明! :::
RHEL / CentOS 7用户,升级前端时请注意PHP> = 7.2版本要求!请务必阅读相关文档!
请阅读下面的升级说明:
早期版本 详细的 | 本升级说明 版本之间升级的重要说明/ | 更 |
---|---|---|
4.4.x | For: Zabbix5.0 |
IBM DB2的支持下降; 所需的最低PHP版本从5.4.0升级到7.2.0; 升级了所需的最低数据库版本。 |
4.2.x | For: Zabbix 4.4 Zabbix5.0 |
Jabber,Ez Texting媒体类型已删除。 |
4.0.x LTS | For: Zabbix 4.2 Zabbix 4.4 Zabbix5.0 |
较旧的代理不再可以将数据报告给已升级的服务器; 较新的agent不再能够与较旧的Zabbix server一起使用。 |
3.4.x | For: Zabbix 4.0 Zabbix 4.2 Zabbix 4.4 Zabbix5.0 |
'libpthread'和'zlib'库现在是必需的; 支持删除纯文本协议,并且标头是必需的; 不再支持1.4版之前的Zabbix agent; 现在,被动代理配置中的Server参数是必需的。 |
3.2.x | For: Zabbix 3.4 Zabbix 4.0 Zabbix 4.2 Zabbix 4.4 Zabbix5.0 |
SQLite支持作为Zabbix server/前端的后端数据库删除; 支持Perl兼容正则表达式(PCRE),而不是POSIX扩展; Zabbix server必需的'libpcre'和'libevent'库; 添加了退出代码检查,以检查用户参数,远程命令和system.run []项目(不带'nowait'标志)以及Zabbix server执行的脚本; Zabbix Java gateway必须升级以支持新功能。 |
3.0.x LTS | For: Zabbix3.2 Zabbix 3.4 Zabbix 4.0 Zabbix 4.2 Zabbix 4.4 Zabbix5.0 |
数据库升级可能会很慢,具体取决于历史记录表的大小。 |
您可能还需要检查5.0的要求。
<note tip>在升级过程中运行两个并行的SSH会话可能很方便,在一个过程中执行升级步骤,而在另一个过程中监视server/proxy日志。 例如,在第二个SSH会话中运行tail -f zabbix_server.log
或tail -f zabbix_proxy.log
,向您显示最新的日志文件条目和实时可能的错误。 这对于生产实例可能至关重要。。 :::
停止 Zabbix server 以确保没有新数据插入数据库。
如果需要升级 Zabbix proxy,那么同样停止 Zabbix proxy 进程。
<note important>无法再启动已升级的server,并且无法使用较旧但尚未升级的proxy将数据报告给较新的server。 从4.1之前的任何版本升级到5.0(或更高版本)时,此方法从未被Zabbix推荐或支持,现已正式禁用,因为server将忽略来自未升级proxy的数据。 :::
这是非常重要的步骤。升级前请确保备份了数据库。如果升级失败(因磁盘空间不足、断电或其他意外导致的升级失败),备份的数据库将大有帮助。
在升级前请确保备份了配置文件、PHP 文件和 Zabbix 二进制文件。
配置文件:
# mkdir /opt/zabbix-backup/
# cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
# cp /etc/httpd/conf.d/zabbix.conf /opt/zabbix-backup/
PHP 文件和 Zabbix 二进制文件:
在升级之前,必须更新当前的软件仓库包:
RHEL/CentOS 8
RHEL/CentOS 7
运行以下命令以升级 Zabbix 组件:
如果使用PostgreSQL,请在命令中将mysql
替换为pgsql
。 如果要升级proxy,请在命令中用proxy
替换server
。 如果要升级agent 2,请在命令中将zabbix-agent
替换为zabbix-agent2
。
要在RHEL 8上使用Apache正确升级Web前端,请运行:
并对此文件进行必要的更改。
更改要升级RHEL 7上的Web前端,请遵循本页上的说明(安装PHP 7.2或更高版本需要额外的步骤)。 特别是,如果使用Apache Web服务器,请确保安装zabbix-apache-conf-scl
软件包。
有关强制性更改的详细信息,请参阅升级说明。
启动升级后的 Zabbix 组件。
# systemctl start zabbix-server
# systemctl start zabbix-proxy
# systemctl start zabbix-agent
# systemctl start zabbix-agent2
待升级完毕后,可能需要清除浏览器的 Cookies 和缓存,以便 Zabbix 的 Web 界面能正常工作。
可以在5.0.x的次要版本之间进行升级(例如,从5.0.1升级到5.0.3)。 在次要版本之间升级很容易。
要执行Zabbix次要版本升级,需要运行:
在升级 Zabbix server 的次要版本时,只需运行以下命令:
在升级 Zabbix agent 的次要版本时,只需运行以下命令:
或者,对于Zabbix agent 2:
请注意,您也可以在这些命令中使用 'update' 而不是 'upgrade'。 虽然 'upgrade' 会删除过时的包,但 'update' 会保留它们。