2 Debian/Ubuntu

概述

本节提供了从Zabbix 5.4.x成功upgrade到Zabbix 6.0.x最新version所需的步骤,使用适用于Debian/Ubuntu的官方Zabbix软件包。

虽然升级Zabbix agents不是强制性的(但建议进行),但Zabbix服务器和proxies必须保持same major version。因此,在服务器-proxy设置中,Zabbix server和所有proxies必须停止并升级。在服务器升级期间保持proxies运行不再带来任何好处,因为在proxy升级期间,其旧数据将被丢弃,并且在proxy配置与服务器同步之前不会收集新数据。

请注意,对于使用SQLite数据库的proxies,升级前的proxies历史数据将丢失,因为不支持SQLite数据库升级,并且必须手动删除SQLite数据库file。当proxy首次启动且SQLite数据库file缺失时,proxy会自动创建它。

根据数据库大小,升级到version 6.0可能需要很长时间。

升级前请务必阅读相关的升级说明!

以下升级说明可供参考:

升级自 阅读完整升级说明 版本间最重要的变更
5.4.x 适用于:
Zabbix 6.0
最低要求的数据库版本提升;
server/proxy在数据库过旧时将无法启动;
由于数据库结构变更导致审计日志记录丢失。
5.2.x 适用于:
Zabbix 5.4
Zabbix 6.0
最低要求的数据库版本提升;
聚合监控项作为单独类型被移除。
5.0.x LTS 适用于:
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
最低要求的PHP version从7.2.0提升至7.2.5。
4.4.x 适用于:
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
放弃对IBM DB2的支持;
最低要求的PHP version从5.4.0提升至7.2.0;
最低要求的数据库版本提升;
更改了Zabbix PHP file目录。
4.2.x 适用于:
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
移除了Jabber、Ez Texting媒体类型。
4.0.x LTS 适用于:
Zabbix 4.2
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
旧版proxies无法再向升级后的服务器报告数据;
新版agents无法再与旧版Zabbix server协同工作。
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之前的version 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扩展;
'libpcre'和'libevent'库为Zabbix server必需;
为用户参数、远程命令和system.run[] 监控项(不带'nowait' flag)以及Zabbix server执行的脚本添加了退出代码检查;
Zabbix Java网关需升级以支持新功能。
3.0.x LTS 适用于:
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
数据库升级可能较慢,取决于历史表大小。
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 version从5.3.0提升至5.4.0
必须指定LogFile agent参数
2.2.x LTS 适用于:
Zabbix 2.4
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
移除了基于节点的分布式监控
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.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
最低要求的PHP version从5.1.6提升至5.3.0;
MySQL数据库需区分大小写以正常工作; 字符集utf8和utf8_bin排序规则是Zabbix server与MySQL数据库正常工作的必需条件。参见mysqlmariadb.
需要'mysqli' PHP扩展而非'mysql数据库'

您可能还想查看6.0的requirements

在升级过程中,run两个并行的SSH会话可能会很方便,一个执行升级步骤,另一个监控server/proxy日志。例如,在第二个SSH会话中runtail -f zabbix_server.logtail -f zabbix_proxy.log,实时显示最新的日志file条目和可能的错误。这对于生产环境实例可能至关重要。

有关在Zabbix 6.0.x小版本间升级的说明(例如从6.0.1升级到6.0.3),请参阅小版本间升级

升级流程

1 停止Zabbix进程

停止 Zabbix server 以确保没有新数据插入数据库.

systemctl stop zabbix-server

如果升级 Zabbix proxy, agent, 或 agent 2, 也停止这些组件:

systemctl stop zabbix-proxy systemctl stop zabbix-agent systemctl stop zabbix-agent2

2 备份现有Zabbix数据库

这是一个非常重要的步骤。请确保您已备份数据库。当升级过程失败时(如磁盘空间不足、断电或任何意外问题),备份将起到关键作用。

3 备份配置文件、PHP 文件及 Zabbix 二进制文件

备份 copy Zabbix二进制文件、配置文件和PHP file 目录

配置文件:

mkdir /opt/zabbix-backup/
       cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
       cp /etc/apache2/conf-enabled/zabbix.conf /opt/zabbix-backup/

PHP文件和Zabbix二进制文件:

cp -R /usr/share/zabbix/ /opt/zabbix-backup/ cp -R /usr/share/zabbix-* /opt/zabbix-backup/

4 更新仓库配置包

在升级前,请先卸载当前的仓库软件包:

rm -Rf /etc/apt/sources.list.d/zabbix.list

然后安装最新的仓库配置包,以确保与新版本软件包的兼容性,并包含最新的安全补丁或错误修复。

Debian 12 上,run:

wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb
       dpkg -i zabbix-release_latest+debian12_all.deb

Debian 11 上,run:

wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian11_all.deb
       dpkg -i zabbix-release_latest+debian11_all.deb

Debian 10 上,run:

wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian10_all.deb
       dpkg -i zabbix-release_latest+debian10_all.deb

对于更旧的 Debian 版本,请将上述链接替换为 Zabbix repository 中正确的链接。 但请注意,这些版本的软件包可能不包含所有 Zabbix 组件。 有关包含的组件列表,请参阅 Zabbix packages

Ubuntu 24.04 上,run:

wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest+ubuntu24.04_all.deb
       dpkg -i zabbix-release_latest+ubuntu24.04_all.deb

Ubuntu 22.04 上,run:

wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest+ubuntu22.04_all.deb
       dpkg -i zabbix-release_latest+ubuntu22.04_all.deb

Ubuntu 20.04 上,run:

wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest+ubuntu20.04_all.deb
       dpkg -i zabbix-release_latest+ubuntu20.04_all.deb

Ubuntu 18.04 上,run:

wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest+ubuntu18.04_all.deb
       dpkg -i zabbix-release_latest+ubuntu18.04_all.deb

对于更旧的 Ubuntu 版本,请将上述链接替换为 Zabbix repository 中正确的链接。 但请注意,这些版本的软件包可能不包含所有 Zabbix 组件。 有关包含的组件列表,请参阅 Zabbix packages

您可能会看到关于 Zabbix 仓库配置的提示:

Configuration file '/etc/apt/sources.list.d/zabbix.list'
       ==> Deleted (by you or by a script) since installation.
       ==> Package distributor has shipped an updated version.
       What would you like to do about it ?  Your options are:
       Y or I  : install the package maintainer's version
       N or O  : keep your currently-installed version
       D       : show the differences between the versions
       Z       : start a shell to examine the situation
       The default action is to keep your current version.
       *** zabbix.list (Y/I/N/O/D/Z) [default=N] ?

输入 Y(或 I)以安装软件包维护者的 Zabbix 仓库配置 version。

然后,update 仓库信息:

apt update

5 升级Zabbix组件

要升级Zabbix组件,您可以run类似以下命令:

apt install --only-upgrade zabbix-server-mysql zabbix-frontend-php zabbix-agent
  • 如果使用PostgreSQL,请将命令中的mysql替换为pgsql
  • 如果升级proxy,请将命令中的server替换为proxy
  • 如果升级Zabbix agent 2,请将命令中的zabbix-agent替换为zabbix-agent2 zabbix-agent2-plugin-*

使用apt install zabbix-agent2命令升级Zabbix agent 2可能会导致错误。 更多信息请参阅已知问题

您可能会看到关于Zabbix server(或proxy)配置的提示:

Configuration file '/etc/zabbix/zabbix_server.conf'
       ==> Modified (by you or by a script) since installation.
       ==> Package distributor has shipped an updated version.
       What would you like to do about it ?  Your options are:
       Y or I  : install the package maintainer's version
       N or O  : keep your currently-installed version
       D       : show the differences between the versions
       Z       : start a shell to examine the situation
       The default action is to keep your current version.
       *** zabbix_server.conf (Y/I/N/O/D/Z) [default=N] ?

选择最适合您情况的选项。 例如,输入D可以比较当前配置与新配置,然后决定是否安装软件包维护者的version(YI)。

然后,要升级Apache下的Web前端并重启Apache,请run:

apt install zabbix-apache-conf
       systemctl restart apache2

Debian 10(buster)/Ubuntu 18.04(bionic)/Raspbian 10(buster)之前的发行版不提供Zabbix前端6.0所需的PHP 7.2或更新版本。 有关在旧版发行版上安装Zabbix前端的信息,请参阅information

6 审查组件配置参数

请务必查阅Upgrade notes以确认是否需要调整配置参数。

7 启动Zabbix进程

启动更新后的Zabbix组件。

systemctl start zabbix-server systemctl start zabbix-proxy systemctl start zabbix-agent systemctl start zabbix-agent2

8 清除浏览器cookie和缓存

升级后,您可能需要clear网页浏览器cookies和网页浏览器缓存以使Zabbix网页界面正常工作。

小版本间升级

可以在Zabbix 6.0.x小版本之间进行升级(例如从6.0.1升级到6.0.3)。

首先,update仓库信息:

apt update

然后,要升级Zabbix小version,请run:

apt install --only-upgrade 'zabbix*'

若仅升级Zabbix server小version,请run:

apt install --only-upgrade 'zabbix-server*'

若仅升级Zabbix agent小version,请run:

apt install --only-upgrade 'zabbix-agent*'

或针对Zabbix agent 2:

apt install --only-upgrade 'zabbix-agent2*'