Debian/Ubuntu
概述
本节提供了使用 Debian/Ubuntu 的 Zabbix 官方软件包,将 Zabbix 7.4.x 升级到最新 Zabbix 8.0.x 版本的说明。
建议在升级期间同时运行两个并行的 SSH 会话:一个用于执行升级步骤,另一个用于监控服务器/proxy 日志。
例如,在第二个会话中运行 tail -f zabbix_server.log 或 tail -f zabbix_proxy.log,以实时查看最新的日志条目和可能出现的错误。
这对于生产环境实例来说可能至关重要。
有关在 Zabbix 8.0.x 次要版本之间升级的说明(例如,从 8.0.1 升级到 8.0.3),请参见次要版本之间升级。
升级程序
1 停止 Zabbix 进程
停止 Zabbix 服务器,以确保不会有新数据写入数据库:
systemctl stop zabbix-server
如果升级的是 Zabbix proxy、agent 或 agent 2,也请停止这些组件:
systemctl stop zabbix-proxy
systemctl stop zabbix-agent
systemctl stop zabbix-agent2
2 备份 Zabbix 数据库
备份现有的 Zabbix 数据库,以防升级失败(例如磁盘空间问题、断电或其他意外情况)。
3 备份 Zabbix 配置文件、PHP 文件和 Zabbix 二进制文件
备份现有的 Zabbix 配置文件、PHP 文件和 Zabbix 二进制文件。
对于配置文件,运行:
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 更新仓库配置包
在继续升级之前,请卸载当前的 Zabbix 仓库包:
rm -Rf /etc/apt/sources.list.d/zabbix.list
在下载新包之前,您可能还需要从当前工作目录中手动删除旧的 Zabbix 包(例如,rm zabbix-release_latest+debian12_all.deb),以防止包管理器在升级过程中重复使用过时版本。
然后,安装最新的仓库配置包,以确保与最新软件包兼容,并包含最近的安全补丁或错误修复。
在 Debian 12 上,运行:
wget https://repo.zabbix.com/zabbix/8.0/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb
dpkg -i zabbix-release_latest+debian12_all.deb
对于较旧的 Debian 版本,请将上面的链接替换为 Zabbix 仓库 中对应的正确链接。但请注意,这些版本的软件包可能不包含所有 Zabbix 组件;如果要通过软件包升级这些组件,请考虑升级您的操作系统。有关所包含组件的列表,请参见 Zabbix packages。
在 Ubuntu 24.04 上,运行:
wget https://repo.zabbix.com/zabbix/8.0/release/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 上,运行:
wget https://repo.zabbix.com/zabbix/8.0/release/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest+ubuntu22.04_all.deb
dpkg -i zabbix-release_latest+ubuntu22.04_all.deb
对于较旧的 Ubuntu 版本,请将上面的链接替换为 Zabbix 仓库 中对应的正确链接。但请注意,这些版本的软件包可能不包含所有 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 仓库配置版本。
然后,更新仓库信息:
apt update
5 升级 Zabbix 组件
要升级 Zabbix 组件,请运行:
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 服务器(或 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 以比较当前配置和新配置,然后决定是否要安装软件包维护者提供的版本(Y 或 I)。
然后,要升级带有 Apache 的 Zabbix 前端并重启 Apache,请运行:
apt install zabbix-apache-conf
systemctl restart apache2
6 检查组件配置参数
查看相关的升级说明,以确认是否需要对配置参数进行任何更改。
有关新增的可选参数,请参见新特性页面。
7 启动 Zabbix 进程
启动已升级的 Zabbix 组件:
systemctl start zabbix-server
systemctl start zabbix-proxy
systemctl start zabbix-agent
systemctl start zabbix-agent2
8 清除 Web 浏览器 Cookie 和缓存
升级后,您可能需要清除 Web 浏览器的 Cookie 和缓存,以使 Zabbix Web 界面正常工作。
在次要版本之间升级
可以在 Zabbix 8.0.x 的次要版本之间进行升级(例如,从 8.0.1 升级到 8.0.3)。
首先,更新软件仓库信息:
apt update
然后,要升级所有 Zabbix 组件,请运行:
apt install --only-upgrade 'zabbix*'
- 要仅升级 Zabbix 服务器,请将命令中的
'zabbix*'替换为'zabbix-server*'。 - 要仅升级 Zabbix proxy,请将命令中的
'zabbix*'替换为'zabbix-proxy*'。 - 要仅升级 Zabbix agent,请将命令中的
'zabbix*'替换为'zabbix-agent*'。 - 要仅升级 Zabbix agent 2,请将命令中的
'zabbix*'替换为'zabbix-agent2*'。