1 Red Hat Enterprise Linux

概要

このセクションでは、Red Hat Enterprise Linux用の公式Zabbixパッケージを使用して、Zabbix 5.4.xからZabbix 6.0.xへのアップグレードを成功させるために必要な手順を説明します。

Zabbixエージェントのアップグレードは必須ではありません(ただし推奨します)が、Zabbixサーバーとプロキシは、同じメジャーバージョンであることが必要です。したがって、サーバーとプロキシの設定では、Zabbixサーバーとすべてのプロキシを停止してアップグレードする必要があります。 サーバーのアップグレード中にプロキシを実行し続けたとしても、プロキシのアップグレード時に古いデータが破棄され、プロキシの構成がサーバーと同期されるまで新しいデータが収集されないため、メリットがありません。

プロキシ上のSQLiteデータベースは、データベースのアップグレードがサポートされておらず、データベースファイルを手動で削除する必要があるため、アップグレード前のプロキシからのヒストリデータは失われることに注意してください。プロキシが初めて起動され、SQLiteデータベースファイルが見つからない場合、プロキシは自動的に作成します。

データベースのサイズによっては、バージョン6.0へのデータベースアップグレードに時間がかかる場合があります。

アップグレードを開始する前にアップグレードノートを必ずお読みください!

以下のアップグレードノートがあります:

アップグレード元 アップグレードノート全文 バージョン間での最も重要な変更
5.4.x Zabbix 6.0 要求されるデータベースの最低バージョンの上昇
古いデータベースでサーバーとプロキシは起動不能
データベースの構造変更のため監査ログのレコードが消える
5.2.x Zabbix 5.4
Zabbix 6.0
要求されるデータベースの最低バージョンが上昇
集計アイテムが個別のタイプから削除
5.0.x LTS 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
Zabbix 6.0
IBM DB2のサポートを削除
要求される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 Textingのメディアタイプ削除
4.0.x LTS Zabbix 4.2
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
古いプロキシからアップグレードされたサーバーへのデータ通知不可
新しいエージェントは古いZabbixサーバーとの動作不可
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エージェントのサポート終了
パッシブプロキシの設定に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サーバーとWebインターフェースのバックエンドデータベースとしてSQLiteのサポートは削除
POSIX拡張の代わりにPerl互換正規表現(PCRE)をサポート
Zabbixサーバーに'libpcre'および'libevent'ライブラリが必須
'nowait'フラグが設定されていないUserParameter、リモートコマンド、system.run[]アイテムは、Zabbixサーバーで実行されるスクリプトと同様に終了コードのチェックを追加
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の最小バージョンが5.3.0から5.4.0に変更
エージェントのLogFileパラメータが必須
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バージョンが5.1.6から5.3.0に変更
ZabbixサーバーがMySQLデータベースと正しく連携するには、大文字と小文字を区別する文字コードセットutf8と照合順序utf8_binが必須。データベース作成スクリプト参照
PHP拡張機能の'mysql'の代わりに'mysqli'を使用するよう変更

6.0用のシステム要件でチェックしてください。

アップグレード中に並行してSSHのセッションを実行し、一方でアップグレード手順を実行し、もう一方でサーバーやプロキシのログを監視すると便利な場合があります。例えば、tail -f zabbix_server.logまたはtail -f zabbix_proxy.logを実行すると、最新のログとエラー発生をリアルタイムで把握することができます。これは、本番環境のインスタンスにとって重要です。

アップグレード手順

1 Zabbixプロセスの停止

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

# systemctl stop zabbix-server

プロキシもアップグレードする場合は、プロキシも停止します。

# systemctl stop zabbix-proxy

アップグレードされたサーバーを起動して、古くアップグレードされていないプロキシがデータをそのサーバーへ報告することはできなくなりました。このアプローチはZabbixによって推奨もサポートもされていませんでしたが、サーバーがアップグレードされていないプロキシからのデータを無視するため、現在は正式に無効になっています。

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

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

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

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

設定ファイル:

# mkdir /opt/zabbix-backup/
       # cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
       # cp /etc/httpd/conf.d/zabbix.conf  /opt/zabbix-backup/

PHPファイルとZabbixバイナリ:

# cp -R /usr/share/zabbix/ /opt/zabbix-backup/
       # cp -R /usr/share/zabbix-* /opt/zabbix-backup/
4 リポジトリ構成パッケージ更新

アップグレードを続行する前に、現在のリポジトリパッケージを更新してください。 RHEL9では、次を実行します。

# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-latest.el9.noarch.rpm

(古いRHELバージョンの場合は、上記のリンクをZabbixリポジトリの正しいリンクに置き換えてください。)

5 Zabbixコンポーネントのアップグレード

Zabbixコンポーネントをアップグレードするには、次のようなコマンドを実行します。

# dnf upgrade zabbix-server-mysql zabbix-web-mysql zabbix-agent

PostgreSQLを使用している場合は、コマンドのmysqlpgsqlに置き換えます。 プロキシをアップグレードする場合は、コマンドのserverproxyに置き換えます。 エージェント2をアップグレードする場合は、コマンドのzabbix-agentzabbix-agent2に置き換えます。

Upgrading Zabbix agent 2 with the dnf install zabbix-agent2 command could lead to an error. 'dnf install zabbix-agent2'コマンドを使用して Zabbixエージェント2をアップグレードすると、エラーが発生する可能性があります。 詳細については既知の問題点を参照してください。

RHEL 8のApacheを使用してWebフロントエンドを正しくアップグレードするには、次のコマンドも実行します。

# dnf install zabbix-apache-conf 
6 コンポーネント構成パラメーターの確認

必ずアップグレード時の注意点を参照して、構成パラメータの変更が必要かどうかを確認してください。

7 Zabbixプロセスの開始

更新されたZabbixコンポーネントを起動します。

# systemctl start zabbix-server
       # systemctl start zabbix-proxy
       # systemctl start zabbix-agent
       # systemctl start zabbix-agent2
8 Webブラウザのクッキーとキャッシュのクリア

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

マイナーバージョンアップグレード

6.0.xはマイナーバージョン間の、たとえば6.0.1から6.0.3のアップグレードが可能です。マイナーバージョンアップグレードは簡単です。

Zabbix全体のマイナーバージョンアップグレードをするには、次のコマンドを実行します。

$ sudo dnf upgrade 'zabbix-*'

Zabbixサーバーのマイナーバージョンアップグレードをするには、次のコマンドを実行します。

$ sudo dnf upgrade 'zabbix-server-*'

Zabbixエージェントのマイナーバージョンアップグレードをするには、次のコマンドを実行します。

$ sudo dnf upgrade 'zabbix-agent-*'

また、Zabbixエージェント2の場合は

$ sudo dnf upgrade 'zabbix-agent2-*'