This is a translation of the original English documentation page. Help us make it better.

ソースからのアップグレード

Overview

This section provides the steps required for a successful upgrade from Zabbix 5.4.x to Zabbix 6.0.x using official Zabbix sources.

While upgrading Zabbix agents is not mandatory (but recommended), Zabbix server and proxies must be of the same major version. Therefore, in a server-proxy setup, Zabbix server and all proxies have to be stopped and upgraded. Keeping proxies running no longer will bring any benefit as during proxy upgrade their old data will be discarded and no new data will be gathered until proxy configuration is synced with server.

It is no longer possible to start the upgraded server and have older, yet unupgraded proxies report data to a newer server. This approach, which was never recommended nor supported by Zabbix, now is officially disabled, as the server will ignore data from unupgraded proxies.

Note that with SQLite database on proxies, history data from proxies before the upgrade will be lost, because SQLite database upgrade is not supported and the SQLite database file has to be manually removed. When proxy is started for the first time and the SQLite database file is missing, proxy creates it automatically.

Depending on database size the database upgrade to version 6.0 may take a long time.

Before the upgrade make sure to read the relevant upgrade notes!

The following upgrade notes are available:

Upgrade from Read full upgrade notes Most important changes between versions
5.4.x For:
Zabbix 6.0
5.2.x For:
Zabbix 5.4
Zabbix 6.0
Minimum required database versions upped;
Aggregate items removed as a separate type.
5.0.x For:
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
Minimum required PHP version upped from 7.2.0 to 7.2.5.
4.4.x For:
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Support of IBM DB2 dropped;
Minimum required PHP version upped from 5.4.0 to 7.2.0;
Minimum required database versions upped;
Changed Zabbix PHP file directory.
4.2.x For:
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
Jabber, Ez Texting media types removed.
4.0.x LTS For:
Zabbix 4.2
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
Older proxies no longer can report data to an upgraded server;
Newer agents no longer will be able to work with an older Zabbix server.
3.4.x For:
Zabbix 4.0
Zabbix 4.2
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
'libpthread' and 'zlib' libraries now mandatory;
Support for plain text protocol dropped and header is mandatory;
Pre-1.4 version Zabbix agents are no longer supported;
The Server parameter in passive proxy configuration now mandatory.
3.2.x For:
Zabbix 3.4
Zabbix 4.0
Zabbix 4.2
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
SQLite support as backend database dropped for Zabbix server/frontend;
Perl Compatible Regular Expressions (PCRE) supported instead of POSIX extended;
'libpcre' and 'libevent' libraries mandatory for Zabbix server;
Exit code checks added for user parameters, remote commands and system.run[] items without the 'nowait' flag as well as Zabbix server executed scripts;
Zabbix Java gateway has to be upgraded to support new functionality.
3.0.x LTS For:
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
Database upgrade may be slow, depending on the history table size.
2.4.x For:
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
Minimum required PHP version upped from 5.3.0 to 5.4.0
LogFile agent parameter must be specified
2.2.x LTS For:
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
Node-based distributed monitoring removed
2.0.x For:
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
Minimum required PHP version upped from 5.1.6 to 5.3.0;
Case-sensitive MySQL database required for proper server work; character set utf8 and utf8_bin collation is required for Zabbix server to work properly with MySQL database. See database creation scripts.
'mysqli' PHP extension required instead of 'mysql'

You may also want to check the requirements for 6.0.

It may be handy to run two parallel SSH sessions during the upgrade, executing the upgrade steps in one and monitoring the server/proxy logs in another. For example, run tail -f zabbix_server.log or tail -f zabbix_proxy.log in the second SSH session showing you the latest log file entries and possible errors in real time. This can be critical for production instances.

サーバーのアップグレードプロセス

1 Zabbixプロセスの停止

Zabbixサーバーを停止して、データベースに新しいデータが挿入されていないことを確認します。

2 既存Zabbixデータベースのバックアップ

これは非常に重要なステップです。データベースのバックアップがあることを確認してください。アップグレード手順が失敗(ディスク容量の不足、電源オフ、予期しない問題)した場合に役立ちます。

3 設定ファイル、PHPファイル、Zabbixバイナリのバックアップ

Zabbixバイナリ、設定ファイル、PHPファイルディレクトリのバックアップコピーを作成します。

4 新しいサーバーバイナリのインストール

手順を使用して、ソースからZabbixサーバーをコンパイルします。

5 Review server configuration parameters

See the upgrade notes for details on mandatory changes.

For new optional parameters, see the What's new section.

6 新しいZabbixバイナリの開始

新しいバイナリを開始します。ログファイルをチェックして、バイナリが正常に開始されたかどうかを確認します。

Zabbixサーバーはデータベースを自動的にアップグレードします。起動時に、Zabbixサーバーは現在の(必須およびオプションの)データベースバージョンと必要なデータベースバージョンを確認します。現在の必須バージョンが必要なバージョンよりも古い場合、Zabbixサーバーは必要なデータベースアップグレードパッチを自動的に実行します。データベースアップグレードの開始レベルと進行レベル(パーセンテージ)は、Zabbixサーバーのログファイルに書き込まれます。アップグレードが完了すると、「データベースのアップグレードが完全に完了しました」というメッセージがログファイルに書き込まれます。アップグレードパッチのいずれかが失敗した場合、Zabbixサーバーは起動しません。現在のデータベースバージョンが必要なバージョンよりも新しい場合も、Zabbixサーバーは起動しません。 Zabbixサーバーは、現在のデータベースバージョンがバージョンに対応している場合にのみ起動します。

8673:20161117:104750.259 current database version (mandatory/optional): 03040000/03040000
       8673:20161117:104750.259 required mandatory version: 03040000

サーバーを起動する前に:

  • データベースユーザーに十分な権限があることを確認してください(テーブルの作成、テーブルの削除、インデックスの作成、インデックスの削除)
  • 十分な空きディスク容量があることを確認してください。
7 新しいウェブインターフェースのインストール

要求PHPバージョンは7.2.5です。必要に応じて更新しインストール手順に従ってください。

8 ウェブブラウザのクッキーとキャッシュのクリア

アップグレード後、Zabbix ウェブインターフェイスが正しく機能するために、ウェブブラウザのクッキーとキャッシュのクリアが必要になる場合があります。

プロキシのアップグレードプロセス

1 プロキシのを停止

Zabbixプロキシを停止します。

2 設定ファイルとZabbixプロキシバイナリのバックアップ

Zabbixプロキシバイナリと設定ファイルのバックアップコピーを作成します。

3 新しいプロキシバイナリのインストール

手順を参照して、ソースからZabbixプロキシをコンパイルします。

4 プロキシ構成パラメーターの確認

このバージョンでは、プロキシパラメ​​ータに必須の変更はありません。

5 新しいZabbixプロキシの起動

新しいZabbixプロキシを起動し、ログファイルをチェックしてプロキシが正常に開始されたかどうかを確認してください。

Zabbixプロキシはデータベースを自動的にアップグレードします。データベースのアップグレードは、Zabbixサーバーを起動するときと同様に行われます。

####エージェントのアップグレードプロセス

エージェントのアップグレードは必須ではありません。新しい機能にアクセスする必要がある場合にのみ、エージェントをアップグレードする必要があります。

このセクションで説明するアップグレード手順は、ZabbixエージェントとZabbixエージェント2の両方をアップグレードするために使用できます。

1 エージェントの停止

Zabbixエージェントを停止します。

2 設定ファイルとZabbixエージェントバイナリのバックアップ

Zabbixエージェントバイナリと設定ファイルのバックアップコピーを作成します。

3 新しいエージェントバイナリのインストール

手順を参照して、ソースからZabbixエージェントをコンパイルします。

またはZabbixダウンロードページからコンパイル済みのZabbixエージェントをダウンロードすることもできます。

4 エージェント設定パラメーターの確認

このバージョンではagentまたはagent 2のパラメーターに必須の変更はありません。

5 新しいZabbixエージェントの起動

新しいZabbixエージェントを起動し、ログファイルをチェックして、エージェントが正常に起動したかどうかを確認します。

Upgrade between minor versions

When upgrading between minor versions of 6.0.x (for example from 6.0.1 to 6.0.3) it is required to execute the same actions for server/proxy/agent as during the upgrade between major versions. The only difference is that when upgrading between minor versions no changes to the database are made.