2 Debian/Ubuntu

概述

本章节提供了在 Debian/Ubuntu 系统上使用 Zabbix 二进制包,从 Zabbix 5.4.x 成功 upgrade 到 Zabbix 6.0.x 所需的步骤。

虽然升级 Zabbix 代理不是强制性的(但建议将其升级),但 但 Zabbix server和proxy必须具有[相同主版本]。因此,在Zabbix server 和 Zabbix proxy 的架构升级时,Zabbix server 和所有的 Zabbix proxy必须停止服务并进行升级。在Zabbix server 升级期间,保持Zabbix proxy 运行正常并不好,因为在Zabbix proxy升级期间,它们的旧数据将被丢弃,并且在Zabbix proxy配置与Zabbix server同步前并不会收集新数据。

请注意,若Proxy的数据库为SQLite类型,其保留的历史数据会在版本升级完成后全部被删除,因为不支持 SQLite 数据库升级并且必须手动删除 SQLite 数据库文件。当第一次启动Zabbix proxy并且缺少 SQLite 数据库文件时,Zabbix proxy会自动创建它。

在数据库升级到版本 6.0 时,根据数据库存储大小,可能需花很长时间升级完毕。

升级前请务必阅读相关 upgrade notes!

如下提供升级说明:

|升级前版本|阅读完整的升级说明|版本之间最重要的变化| |——————|—————-|—————— —————————————| |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 agent不再能够向升级后的Zabbix server 报告数据;
新的Zabbix agent不再能够与老的 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 之前版本的 Zabbix agent;
被动模式Zabbix agent配置中的 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 server强制使用“libpcre”和“libevent”库;
为用户参数添加了退出代码检查仪表、远程命令和不带 ‘nowait’ 标志的 system.run[] 项目以及 Zabbix server执行的脚本;
必须升级 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服务,以确保没有新数据写入数据库。

  1. # service zabbix-server stop

若需要升级 Zabbix proxy,同样需要先停止 Zabbix proxy 进程。

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

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

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

请用户在升级前确认备份了Zabbix 二进制文件、配置文件和 PHP 文件。

配置文件:

  1. # mkdir /opt/zabbix-backup/
  2. # cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
  3. # cp /etc/apache2/conf-enabled/zabbix.conf /opt/zabbix-backup/

PHP 文件和 Zabbix 二进制文件:

  1. # cp -R /usr/share/zabbix/ /opt/zabbix-backup/
  2. # cp -R /usr/share/doc/zabbix-* /opt/zabbix-backup/
4 升级 Zabbix 软件仓库配置包

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

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

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

Debian 10 上运行:

  1. # wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_6.0-1+debian10_all.deb
  2. # dpkg -i zabbix-release_5.4-1+debian10_all.deb

Debian 9 上运行:

  1. # wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_6.0-1+debian9_all.deb
  2. # dpkg -i zabbix-release_5.4-1+debian9_all.deb

Debian 8 上运行:

  1. # wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_6.0-1+debian8_all.deb
  2. # dpkg -i zabbix-release_5.4-1+debian8_all.deb

Ubuntu 20.04 上运行:

  1. # wget https://repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1+ubuntu20.04_all.deb
  2. # dpkg -i zabbix-release_5.4-1+ubuntu20.04_all.deb

Ubuntu 18.04 上运行:

  1. # wget https://repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1+ubuntu18.04_all.deb
  2. # dpkg -i zabbix-release_6.0-1+ubuntu18.04_all.deb

Ubuntu 16.04 上运行:

  1. # wget https://repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1+ubuntu16.04_all.deb
  2. # dpkg -i zabbix-release_5.4-1+ubuntu16.04_all.deb

Ubuntu 14.04 上运行:

  1. # wget https://repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1+ubuntu14.04_all.deb
  2. # dpkg -i zabbix-release_6.0-1+ubuntu14.04_all.deb

更新软件仓库信息。

  1. # apt-get update
5 升级Zabbix组件

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

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

若使用 PostgreSQL数据库,请在命令中将 mysql 替换为 pgsql。 若升级proxy,请在命令中将 server 替换为 proxy。 若升级 Zabbix agent 2,在命令中将 zabbix-agent 替换为 zabbix-agent2

与此同时,要使得Apache 能正常升级 Web 前端,还需运行如下命令:

  1. # apt-get install zabbix-apache-conf

发行版prior to Debian 10 (buster) / Ubuntu 18.04 (bionic) / Raspbian 10 (buster) 不提供 PHP 7.2 或更高版本,而其对Zabbix 前端 5.0又是必要的。 有关安装 Zabbix 前端旧发行版的信息,请查阅information

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

在新版本中,Zabbix组件的配置文件发生了一些变化,详见升级说明 mandatory changes

关于新的选项参数,详见此章节 What’s new

7 启动 Zabbix 进程

启动升级后的 Zabbix 组件。

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

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

#### Zabbix 次要版本之间的升级 如果要升级 Zabbix 6.0.x 的次要版本(例如:从 6.0.1 升级到 6.0.3),是非常容易的。

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

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

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

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

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

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

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

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