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エージェントのサポート終了。
パッシブプロキシの設定にサーバーパラメーターが必須に。
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'フラグが設定されていないユーザーパラメーター、リモートコマンド、および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を実行すると、最新のログとエラー発生をリアルタイムで把握することができます。これは本番環境のインスタンスにとって重要です。

Zabbix 6.0.xのマイナーバージョン間 (たとえば、6.0.1から6.0.3)へのアップグレード手順については、マイナーバージョン間のアップグレードを参照してください。

アップグレード手順

1 Zabbixプロセスの停止

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

systemctl stop zabbix-server

Zabbixプロキシやエージェント、エージェント2もアップグレードする場合は、同様に停止します。

systemctl stop zabbix-proxy
       systemctl stop zabbix-agent
       systemctl stop zabbix-agent2

アップグレードされたサーバーにアップグレードされていないプロキシがデータを報告することはできなくなりました。このアプローチは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 リポジトリ構成パッケージ更新

アップグレードを続行する前に、現在のリポジトリパッケージを最新バージョンに更新して、最新のパッケージとの互換性を確保し、最新のセキュリティパッチやバグ修正を含めてください。

RHEL 9では次を実行します。

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

RHEL 8では次を実行します。

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-latest.el8.noarch.rpm

古いRHELバージョンの場合は、上記のリンクをZabbixリポジトリの正しいリンクに置き換えてください。) ただし、これらのバージョンのパッケージには、すべてのZabbixコンポーネントが含まれていない場合があることに注意してください。含まれるコンポーネントのリストについては、Zabbixパッケージ

次に、dnfパッケージマネージャーのキャッシュ (以前のインストールまたは更新中にダウンロードされたヘッダー、メタデータ、およびパッケージファイルを含む) をクリーンアップします。

dnf clean all

次のdnf操作で古いメタデータがクリアされるため、dnfはリポジトリから新しいメタデータをダウンロードします。

参照: RHELでのリポジトリ構成パッケージの更新に関する既知の問題

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

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

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

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

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ブラウザのクッキーとキャッシュのクリアが必要になる場合があります。

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

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

Zabbixマイナーバージョンをアップグレードするには、次を実行してください。

dnf upgrade 'zabbix-*'

Zabbixサーバーのみのマイナーバージョンをアップグレードするには、次を実行してください。

dnf upgrade 'zabbix-server-*'

Zabbixエージェントのみのマイナーバージョンアップグレードをするには、次を実行してください。

dnf upgrade 'zabbix-agent-*'

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

dnf upgrade 'zabbix-agent2-*'