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

概要

このセクションでは、Zabbix 8.0.xコンテナへのアップグレードを成功させるために必要な手順について説明します。

個々のZabbixコンポーネントイメージおよびDockercomposeファイルのアップグレード用に、別々の手順が用意されています。

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

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

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

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

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

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

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

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

2. 必要なイメージバージョンをプルします。例えば:

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

zabbix/zabbix-server-mysql:alpine-8.0-latestは、Alpine LinuxベースのMySQLサポート付きZabbixサーバー8.0の最新のマイナーバージョンをプルします。 必要な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-8.0-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-8.0-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.4-oracle \
    --character-set-server=utf8mb4--collation-server=utf8mb4_bin \

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

6. アップデートを確認します:

docker logs -f zabbix-server-mysql

Composeファイル

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

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

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

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

git pull
git checkout 8.0

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

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

4. アップデートを確認します:

docker logs -f zabbix-server-mysql

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