3 コンテナからのアップグレード

概要

このセクションでは、Zabbix 7.4.x コンテナへの正常なアップグレードに必要な手順について説明します。

個々のZabbixコンポーネントイメージおよびDocker compose filesをアップグレードするための個別の手順が用意されています。

アップグレードの前に、関連するアップグレードノートを必ずお読みください。

アップグレードを開始する前に、アップグレード作業のために、ユーザーがデータベースに対する必要な権限を持っていることを確認してください。\

Zabbix 6.0 以前からアップグレードする場合、アップグレード中に決定論的トリガーを作成する必要があります。 MySQL/MariaDB でバイナリログが有効になっている場合、これにはスーパーユーザー権限、または変数/設定パラメータ log_bin_trust_function_creators = 1 の設定が必要です。 この変数の設定方法については、Database creation scriptsを参照してください。
コンソールから実行した場合、この変数は一時的にのみ設定され、Docker が再起動されると失われることに注意してください。 この場合は、SQL サービスは実行したままにし、'docker compose down zabbix-server' を実行して zabbix-server サービスのみを停止し、その後 'docker compose up -d zabbix-server' を実行してください。
または、この変数を設定ファイルで設定することもできます。

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

Zabbixイメージのアップグレード

以下の手順を使用して、任意のZabbixコンポーネントをアップグレードできます。 zabbix-server-mysql は、必要なコンポーネントのイメージ名に置き換えてください。

1. 現在のイメージバージョンを確認します。

docker inspect -f '{{ .Config.Image }}' zabbix-server-mysql

2. 必要なイメージバージョンを取得します。例:

docker pull zabbix/zabbix-server-mysql:alpine-7.4-latest

zabbix/zabbix-server-mysql:alpine-7.4-latest は、Alpine Linux ベースで MySQL をサポートする Zabbixサーバー 7.4 の最新リリース済みマイナーバージョンを取得します。 必要な Docker リポジトリ名とタグの組み合わせに置き換えてください。 利用可能なオプションの一覧については、コンテナからのインストール を参照してください。

3. コンテナを停止します。

docker stop zabbix-server-mysql

4. コンテナを削除します。

docker rm zabbix-server-mysql

5. docker run コマンドを実行し、必要な環境変数および/またはマウントポイントを指定する追加引数を続けて、更新済みコンテナを起動します。

設定例

MySQL を使用する Zabbixサーバー:

docker run --name zabbix-server-mysql -t \
    -e DB_SERVER_HOST="mysql-server" \
    -e MYSQL_DATABASE="zabbix" \
    -e MYSQL_USER="zabbix" \
    -e MYSQL_PASSWORD="zabbix_pwd" \
    -e MYSQL_ROOT_PASSWORD="root_pwd" \
    -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
    --network=zabbix-net \
    -p 10051:10051 \
    --restart unless-stopped \
    -d zabbix/zabbix-server-mysql:alpine-7.4-latest

PostgreSQL を使用する Zabbixサーバー:

docker run --name zabbix-server-pgsql -t \
    -e DB_SERVER_HOST="postgres-server" \
    -e POSTGRES_USER="zabbix" \
    -e POSTGRES_PASSWORD="zabbix_pwd" \
    -e POSTGRES_DB="zabbix" \
    -e ZBX_ENABLE_SNMP_TRAPS="true" \
    --network=zabbix-net \
    -p 10051:10051 \
    --volumes-from zabbix-snmptraps \
    --restart unless-stopped \
    -d zabbix/zabbix-server-pgsql:alpine-7.4-latest

MySQLサーバー:

docker run --name mysql-server -t \
    -e MYSQL_DATABASE="zabbix" \
    -e MYSQL_USER="zabbix" \
    -e MYSQL_PASSWORD="zabbix_pwd" \
    -e MYSQL_ROOT_PASSWORD="root_pwd" \
    --network=zabbix-net \
    --restart unless-stopped \
    -d mysql:8.0-oracle \
    --character-set-server=utf8mb4--collation-server=utf8mb4_bin \

他の Zabbix コンポーネントの例を含む、さらに多くの設定例は、コンテナからのインストール ページで確認できます。

6. 更新を確認します。

docker logs -f zabbix-server-mysql

Composeファイル

compose file を使用してZabbixをインストールした場合は、このセクションのアップグレード手順に従ってください。

1. 現在のイメージバージョンを確認します。

docker inspect -f '{{ .Config.Image }}' zabbix-server-mysql

2. GitHubのrepository から最新の更新を取得し、必要なブランチに切り替えます。

git pull
git checkout 7.4

3. 新しいcomposeファイルを使用してZabbixコンポーネントを起動します。

docker-compose -f ./docker-compose_v3_alpine_mysql_latest.yaml up -d

4. 更新を確認します。

docker logs -f zabbix-server-mysql

サポートされている環境変数やボリュームのマウントポイントの一覧を含む詳細については、コンテナからのインストール を参照してください。