这是原厂英文文档的翻译
####概述
本章节提供了使用基于Red Hat Enterprise Linux/CentOS 系统,由官方发布的Zabbix二进制包,将Zabbix版本由5.4.x 成功升级到 6.0.x 所需的步骤升级
虽说 Zabbix agents非强制性进行升级版本(但推荐升级),但 Zabbix server and proxies必须是[相同主版本]。因此,在服务器代理设置中,Zabbix 服务器和所有代理都必须停止其服务并进行升级操作。在Zabbix server 升级期间保持 proxies正常运行并不会带来任何好处,因为在 proxies升级期间,它们的旧数据将被丢弃,并且在proxy配置与server同步前不会采集新数据。
请注意,若Proxy的数据库为SQLite类型,其保留的历史数据会在版本升级完成后全部被删除,因为Zabbix proxies不支持 SQLite 数据库升级并且必须手动删除 SQLite 数据库文件。当第一次启动proxy并且缺少 SQLite 数据库文件时,proxy会自动创建SQLite 数据库文件。
根据数据库大小,数据库版本升级到 6.0 可能需要很长时间。
升级前请务必阅读相关的升级说明!
以下为提供升级Zabbix版本说明:
|升级前的版本|阅读完整的升级说明|Zabbix版本升级间最重要的变化| |------------|-----------|------------ --------------------------| |5.4.x|适用于:
Zabbix 6.0|<| |5.2.x|适用于:
Zabbix 5.4
Zabbix 6.0 |提高了最低要求的数据库版本;
将聚合项作为单独的类型删除。| |5.0.x|适用于:
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0|所需的PHP 最低版本从 7.2.0 要求为 7.2.5。| |4.4.x|适用于:
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4|放弃对 IBM DB2 的支持;<br >最低要求的 PHP 版本从 5.4.0 提高到 7.2.0;
最低要求的数据库版本提高;
更改了 Zabbix PHP 文件目录。| |4.2.x|适用于:
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0|已删除 Jabber、Ez 短信媒体类型。| |4.0.x LTS|适用于:
Zabbix 4.2
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4<br >Zabbix 6.0|旧的代理不再能够向升级的服务器报告数据;
新的代理不再能够与旧的 Zabbix 服务器一起工作。| |3.4.x|适用于:
Zabbix 4.0
Zabbix 4.2
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0|'libpthread' 和 'zlib' 库现在强制;
删除对纯文本协议的支持,并且强制标头;
不再支持 1.4 之前版本的 Zabbix agents;
被动模式的proxy配置中的 Server 参数现在是强制要求的。| |3.2.x|适用于:
Zabbix 3.4
Zabbix 4.0
Zabbix 4.2
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0|为 Zabbix server和前端删除了作为后端数据库的 SQLite 支持;
支持 Perl 兼容正则表达式 (PCRE),而不是扩展 POSIX;
Zabbix 服务器强制使用“libpcre”和“libevent”库;
为用户参数添加了退出代码检查仪表、远程命令和不带 'nowait' 标志的 system.run[] 项目以及 Zabbix 服务器执行的脚本;
必须升级 Zabbix Java 网关以支持新功能。| |3.0.x LTS|适用于:
Zabbix 3.2
Zabbix 3.4
Zabbix 4.0
Zabbix 4.2
Zabbix 4.4<br >Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0|数据库升级可能会很慢,具体取决于历史表的大小。| |2.4.x|适用于:
Zabbix 3.0
Zabbix 3.2
Zabbix 3.4
Zabbix 4.0
Zabbix 4.2
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0|最低要求的 PHP 版本从 5.3.0 提高到 5.4.0
LogFile ag ent 参数必须指定| |2.2.x LTS|适用于:
Zabbix 2.4
Zabbix 3.0
Zabbix 3.2
Zabbix 3.4
Zabbix 4.0<br >Zabbix 4.2
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0|移除了基于节点的分布式监控| |2.0.x|适用于:
Zabbix 2.2
Zabbix 2.4)
Zabbix 3.0
Zabbix 3.2
Zabbix 3.4
Zabbix 4.0
Zabbix 4.2
Zabbix 4.4
Zabbix [5.
升级步骤
1 停止 Zabbix 进程
先停止 Zabbix server以确保没有新数据插入数据库中。
# systemctl stop zabbix-server
若升级Zabbix proxy版本,需也停止Zabbix proxy服务 。
# systemctl stop zabbix-proxy
::: 重要事项 目前,不再支持启动升级后的server,使用较旧版本且未升级的proxy向其发送数据。考虑到升级后的server会自动忽略未升级proxy发送的数据,因此Zabbix官方禁用此种应用方式。
2 备份当前的数据库
备份当前的数据库是非常重要的一步。升级前请确保是否先备份数据库。若升级失败(如因磁盘空间不足、断电或其他意外导致的升级失败),备份的数据库将大派用场。
3 备份配置文件、PHP 文件和 Zabbix 二进制文件
在升级前请确保备份了Zabbix 二进制文件、配置文件、PHP 文件。
配置文件:
# 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 二进制文件:
# cp -R /usr/share/zabbix/ /opt/zabbix-backup/# cp -R /usr/share/doc/zabbix-* /opt/zabbix-backup/
4 升级 Zabbix 软件仓库配置包
在升级之前,必须更新当前的软件仓库包:
# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-1.el8.noarch.rpm
5 升级Zabbix组件
运行以下命令以升级 Zabbix 组件:
# yum upgrade zabbix-server-mysql zabbix-web-mysql zabbix-agent
若使用 PostgreSQL 数据库,请在命令中将 mysql
替换为 pgsql
。若升级 Zabbix proxy,请在命令中将 server
替换为 proxy
。 若升级Zabbix agent 2,请在命令中将 zabbix-agent
替换为 zabbix-agent2
。
若在RHEL 8上使用Apache 使得正常升级 Web 前端,还需运行如下命令:
# yum install zabbix-apache-conf
并对此配置文件进行必要的更改。
若在RHEL 7上升级 Web frontend ,请参考distribution-specific instructions (安装 PHP 7.2 或更高版本需额外的步骤)。
6 检查 Zabbix 组件配置文件的参数
在新版本中,Zabbix组件的配置文件发生了一些变化,请详见升级说明。 mandatory changes.
7 启动 Zabbix 进程
启动升级后的 Zabbix 组件。
# systemctl start zabbix-server# systemctl start zabbix-proxy# systemctl start zabbix-agent# systemctl start zabbix-agent2
8 清除浏览器的 Cookies 和缓存
待升级完毕后,可能需要清除浏览器的 Cookies 和缓存,以便 Zabbix 的 Web 界面能正常工作。
Zabbix 次要版本之间的升级
如果要升级 Zabbix 6.0.x 的次要版本(例如:从 6.0.1 升级到 6.0.3),是非常容易的
在升级 Zabbix 所有组件的次要版本时,只需运行以下命令:
$ sudo yum upgrade 'zabbix-*'
在升级 Zabbix server 的次要版本时,只需运行以下命令:
$ sudo yum upgrade 'zabbix-server-*'
在升级 Zabbix agent 的次要版本时,只需运行以下命令:
$ sudo yum upgrade 'zabbix-agent-*'
在升级 Zabbix agent 2的次要版本时,只需运行以下命令:
$ sudo yum upgrade 'zabbix-agent2-*'
请注意,在这些命令中也可以使用'update' 而不是 'upgrade'。 两者区别是'upgrade' 将删除过时的软件包,但'update' 将保留它们。