2 Debian/Ubuntu

概述

本节提供了使用Debian / Ubuntu官方Zabbix软件包从Zabbix 4.4.x成功升级到Zabbix 5.0.x所需的步骤。

虽然不是强制性升级Zabbix agent(但建议升级),但是Zabbix server和proxy必须具有相同的主版本。 因此,在server-proxy设置中,必须停止并升级Zabbix server和所有proxy。 在proxy升级期间,继续使proxy保持运行不会带来任何好处,因为在proxy升级期间,它们的旧数据将被丢弃,并且在proxy配置与server同步之前不会收集任何新数据。

请注意,对于代理上的SQLite数据库,升级之前来自proxy的历史记录数据将丢失,因为不支持SQLite数据库升级,并且必须手动删除SQLite数据库文件。 首次启动proxy并且缺少SQLite数据库文件时,proxy会自动创建它。

根据数据库大小,数据库升级到版本5.0可能会花费很长时间。

<note warning>值得注意的是,在升级之前,请务必阅读相关的升级说明! :::

Ubuntu 16.04或更早版本和Debian 9或更早版本的用户请注意您的发行版中缺少官方的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.logtail -f zabbix_proxy.log,向您显示最新的日志文件条目和实时可能的错误。 这对于生产实例可能至关重要。。 :::

升级步骤

1 停止 Zabbix 进程

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

# service zabbix-server stop

如果需要升级 Zabbix proxy,那么同样停止 Zabbix proxy 进程。

# service zabbix-proxy stop
2 备份当前的数据库

这是非常重要的步骤。升级前请确保备份了数据库。如果升级失败(因磁盘空间不足、断电或其他意外导致的升级失败),备份的数据库将大有帮助。

3 备份配置文件、PHP 文件和 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/doc/zabbix-* /opt/zabbix-backup/
4 升级 Zabbix 软件仓库配置包

在升级之前,必须卸载当前的软件仓库包:

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

然后再安装新的软件仓库包:

Debian 10 上运行:

# wget https://repo.zabbix.com/zabbix/5.0/debian/pool/main/z/zabbix-release/zabbix-release_5.0-1+buster_all.deb
       # dpkg -i zabbix-release_5.0-1+buster_all.deb

Debian 9 上运行:

# wget https://repo.zabbix.com/zabbix/5.0/debian/pool/main/z/zabbix-release/zabbix-release_5.0-1+stretch_all.deb
       # dpkg -i zabbix-release_5.0-1+stretch_all.deb

Debian 8 上运行:

# wget https://repo.zabbix.com/zabbix/5.0/debian/pool/main/z/zabbix-release/zabbix-release_5.0-1+jessie_all.deb
       # dpkg -i zabbix-release_5.0-1+jessie_all.deb

Ubuntu 20.04 上运行:

# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+focal_all.deb
       # dpkg -i zabbix-release_5.0-1+focal_all.deb

Ubuntu 18.04 上运行:

# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+bionic_all.deb
       # dpkg -i zabbix-release_5.0-1+bionic_all.deb

Ubuntu 16.04 上运行:

# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+xenial_all.deb
       # dpkg -i zabbix-release_5.0-1+xenial_all.deb

Ubuntu 14.04 上运行:

# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+trusty_all.deb
       # dpkg -i zabbix-release_5.0-1+trusty_all.deb

更新软件仓库信息。

# apt-get update
5 升级 Zabbix 组件

运行以下命令以升级 Zabbix 组件:

# apt-get install --only-upgrade zabbix-server-mysql zabbix-frontend-php zabbix-agent

如果使用PostgreSQL,请在命令中将mysql替换为pgsql。 如果要升级proxy,请在命令中用proxy替换server。 如果要升级agent 2,请在命令中将zabbix-agent替换为zabbix-agent2

然后,要正确地使用Apache升级Web前端,还请运行:

# apt-get install zabbix-apache-conf

Debian 10(buster)/ Ubuntu 18.04(bionic)/ Raspbian 10(buster)之前的发行版不提供PHP 7.2或更高版本,这是Zabbix前端5.0所必需的。 有关在较早的发行版上安装Zabbix前端的信息,请参阅此页面。

6 检查 Zabbix 组件配置文件的参数

有关强制性更改的详细信息,请参阅升级说明

有关新的可选参数,请参阅“新增功能”部分。

7 启动 Zabbix 进程

启动升级后的 Zabbix 组件。

# service zabbix-server start
       # service zabbix-proxy start
       # service zabbix-agent start
       # service zabbix-agent2 start
8 清除浏览器的 Cookies 和缓存

待升级完毕后,可能需要清除浏览器的 Cookies 和缓存,以便 Zabbix 的 Web 界面能正常工作。

After the upgrade you may need to clear web browser cookies and web browser cache for the Zabbix web interface to work properly.

Zabbix 次要版本之间的升级

如果要升级 Zabbix 的次要版本(例如,从 5.0.1 升级至 5.0.3),是非常容易的:

在升级 Zabbix 所有组件的次要版本时,只需运行以下命令:

$ sudo apt install --only-upgrade 'zabbix.*'

在升级 Zabbix server 的次要版本时,只需运行以下命令:

$ sudo apt install --only-upgrade 'zabbix-server.*'

在升级 Zabbix agent 的次要版本时,只需运行以下命令:

$ sudo apt install --only-upgrade 'zabbix-agent.*'

或者,对于Zabbix agent2:

$ sudo apt install --only-upgrade 'zabbix-agent2.*'