5 コンテナでのインストール
概要
このページでは、Docker または Docker Compose を使用して Zabbix をデプロイする方法について説明します。
Docker Compose は、Zabbix をデプロイする最も手早い方法です。 設定ファイルを読み込み、完全な Zabbix 環境を構成するすべてのコンテナを、正しい順序で自動的に起動します。
Docker(手動デプロイ) では、各コンポーネントを段階的にデプロイすることで、同じ結果を実現します。
前提条件
開始する前に、Docker (1.12.0 以降) がシステムにインストールされていることを確認してください。 インストールされていない場合は、Docker installation guide に従ってください。 Docker Compose を使用したデプロイでは、Docker Compose (2.24.0 以降) も必要です。
一部の Zabbix コンポーネントでは、Docker を実行しているホストで特定のポートを開放しておく必要があります (例: Zabbix サーバー用の 10051/TCP、SNMP トラップ用の 162/UDP)。
Zabbix コンポーネントで使用されるポートの一覧については、Requirements を参照してください。
Zabbix サーバーとエージェントでは、各コンテナで ZBX_LISTENPORT 環境変数を設定することで、デフォルトのポートを変更できます。
利用可能な Docker イメージ
Zabbix は各 Zabbix コンポーネントごとに Docker イメージを提供しており、すべて Docker Hub で公開されています。
各イメージは、そのコンポーネントを実行するコンテナーを作成するために使用されます。
| Zabbix component | Docker image |
|---|---|
| エージェント | zabbix/zabbix-agent |
| Agent 2 | zabbix/zabbix-agent2 |
| サーバー (MySQL) | zabbix/zabbix-server-mysql |
| サーバー (PostgreSQL) | zabbix/zabbix-server-pgsql |
| Webインターフェース (Apache + MySQL) | zabbix/zabbix-web-apache-mysql |
| Webインターフェース (Apache + PostgreSQL) | zabbix/zabbix-web-apache-pgsql |
| Webインターフェース (Nginx + MySQL) | zabbix/zabbix-web-nginx-mysql |
| Webインターフェース (Nginx + PostgreSQL) | zabbix/zabbix-web-nginx-pgsql |
| プロキシ (SQLite3) | zabbix/zabbix-proxy-sqlite3 |
| プロキシ (MySQL) | zabbix/zabbix-proxy-mysql |
| Javaゲートウェイ | zabbix/zabbix-java-gateway |
| Web service | zabbix/zabbix-web-service |
| SNMP traps | zabbix/zabbix-snmptraps |
SNMP traps を使用するには、SNMP traps コンテナーが Zabbix サーバーまたはプロキシ コンテナーとボリュームを共有している必要があります(Docker Hub の このイメージの使用方法 と、以下の 例 を参照してください)。
Docker Hub 上のすべての Zabbix コンポーネントイメージは、サポート対象のオペレーティングシステム の最新のメジャーバージョンをベースにしています。
これらのイメージは、基盤となる OS イメージが更新されると自動的に再ビルドされます。
イメージタグ
各イメージは、ベースOSとZabbixバージョンを選択するためのタグをサポートしています:
zabbix/<image>:<os>-<version>
サポートされる <os> の値:
alpine- Alpine Linuxubuntu- Ubuntucentos- CentOS Streamol- Oracle Linuxltsc2022- Windows 11 LTSC 2022 (Zabbix エージェントのみ)
サポートされる <version> の値:
latest- Alpine Linux 上の最新の安定版Zabbix<os>-latest- 選択したOS上の最新の安定版Zabbix<os>-trunk- 選択したOS上の最新の開発版(nightly)ビルド<os>-X.X-latest- 選択したOS上の、特定のZabbixメジャーバージョンにおける最新のマイナーリリース<os>-X.X.*- 選択したOS上の特定のZabbixマイナーリリース
例:
# Alpine Linux 上の最新の安定版 Zabbix プロキシ (SQLite3):
docker pull zabbix/zabbix-proxy-sqlite3:latest
# Ubuntu 上の最新の安定版 Zabbix プロキシ (SQLite3):
docker pull zabbix/zabbix-proxy-sqlite3:ubuntu-latest
# Ubuntu 上の Zabbix サーバー (MySQL) の最新開発版(nightly)ビルド:
docker pull zabbix/zabbix-server-mysql:ubuntu-trunk
# Alpine Linux 上の Zabbix サーバー (MySQL) の最新 7.0 マイナーリリース:
docker pull zabbix/zabbix-server-mysql:alpine-7.0-latest
# Alpine Linux 上の Zabbix サーバー (MySQL) のバージョン 7.0.1:
docker pull zabbix/zabbix-server-mysql:alpine-7.0.1
Docker Compose
Docker Compose は、Zabbix を最も手早くデプロイする方法です。 設定ファイル(Compose file)を読み込み、Docker イメージの取得、コンテナ間の内部ネットワークの作成、ストレージの設定、データベースの初期化、そしてすべてを正しい順序で起動するところまで、セットアップ全体を処理します。
公式 Zabbix Dockerfiles リポジトリには、すぐに使える Docker Compose ファイルと、さまざまなオペレーティングシステム、データベースバックエンド、Zabbix コンポーネント設定をサポートする .env ベースの設定システムが用意されています。
1. リポジトリをクローンし、そのディレクトリに移動して、7.0 に切り替えます。
git clone https://github.com/zabbix/zabbix-docker.git
cd zabbix-docker
git checkout 7.0
2. (任意)環境変数 を使用してデプロイをカスタマイズします。 デフォルト構成でよければ、この手順は省略できます。
3. デフォルト構成をデプロイします。Zabbix サーバー、Webインターフェース(Nginx 上で動作)、およびデータベースバックエンド(MySQL または PostgreSQL)を、それぞれ Alpine Linux 上の個別コンテナで実行します。
# データベースとして MySQL を使用する場合:
docker compose -f ./compose.yaml up -d
# データベースとして PostgreSQL を使用する場合:
docker compose -f ./compose_pgsql.yaml up -d
コンテナが起動して稼働状態になると(通常 1〜3 分以内)、Zabbix サーバーが起動し、Webインターフェースは http://localhost で利用できるようになります。
docker compose ps を使用してコンテナの状態を確認します。
zabbix-docker-server-db-init-1 コンテナを除くすべてのコンテナは、Up 状態である必要があります。
Exited と表示されるものがある場合は、docker logs -f <container-name> でログを確認し、エラーを調べてください。
環境変数
Docker Compose の動作と Zabbix コンポーネントの設定は、どちらも環境変数を使用してカスタマイズできます。
Compose レベルの変数(.env ファイル で定義)は、使用する Docker イメージ、ポート、およびネットワーク IP 範囲を制御します。
これらの変数は、docker compose コマンドの前にインラインで指定することも、.env ファイルを編集することもできます。
たとえば、次のコマンドは、Ubuntu ベースのイメージ(デフォルトの Alpine Linux の代わり)を使用し、Webインターフェースを Nginx 経由でカスタム HTTP(8282)および HTTPS(8443)ポートで公開する、完全なマルチコンテナ Zabbix 環境をデプロイします。
OS=ubuntu \
ZABBIX_WEB_NGINX_HTTP_PORT=8282 \
ZABBIX_WEB_NGINX_HTTPS_PORT=8443 \
docker compose -f ./compose.yaml up -d
コンポーネント レベルの変数(env_vars/.env_<component> ファイルで定義)は、Zabbix コンポーネントの設定を制御します。
docker compose コマンドを実行する前に、該当する .env_<component> ファイルを編集してください。
たとえば、次の変数を編集することで、Zabbix サーバーの passive poller 数やキャッシュ設定を調整したり、Webインターフェースのタイムゾーンを設定したりできます。
# env_vars/.env_srv
ZBX_STARTPOLLERS=20
ZBX_CACHESIZE=64M
ZBX_HISTORYCACHESIZE=32M
# env_vars/.env_web
PHP_TZ=Europe/Paris
コンポーネント レベルの環境変数は、異なる命名規則を用いて Zabbix コンポーネントの設定パラメータに対応します(例: ZBX_STARTPOLLERS は StartPollers に対応します)。
一部の変数は Docker 固有であり、変更できない設定パラメータもあります(例: PIDFile や LogType)。
環境変数を使用する場合は、Docker Hub 上の各コンポーネントの Docker イメージ の説明にある Environment variables セクションを参照してください。
ボリューム
Docker Compose は、Compose ファイルと同じ場所に作成される zbx_env/ ディレクトリに永続データを保存します。
このディレクトリは、コンテナの再起動や更新をまたいでコンポーネントのデータを保持します。
zbx_env/ の内容は、各コンポーネントのイメージごとにあらかじめ定義されています。たとえば、次のとおりです。
zbx_env/etc/- Zabbix Webインターフェースコンテナ で使用されますzbx_env/usr/およびzbx_env/var/- Zabbix サーバーコンテナ で使用されます
各ボリュームの詳細については、Docker Hub 上の各コンポーネントの Docker イメージ の説明にある Allowed volumes セクションを参照してください。
Makefile
Zabbix Dockerfiles リポジトリには、一般的な Docker Compose タスクのショートカットとして Makefile も用意されています。
完全な docker compose コマンドの代わりに、より短い make コマンドを使用できます(利用可能なオプションを確認するには make help を実行してください):
# デフォルトのデプロイメント(Zabbix サーバー、Webインターフェース、MySQL、すべて Alpine Linux 上)
make up
# カスタムデプロイメント(Zabbix サーバー、カスタム Nginx ポートを使用する Webインターフェース、PostgreSQL、すべて Ubuntu 上)
make up \
OS=ubuntu \
DB=pgsql \
ZABBIX_WEB_NGINX_HTTP_PORT=8282 \
ZABBIX_WEB_NGINX_HTTPS_PORT=8443
コンテナを停止または削除する際は、必ずデプロイ時と同じデータベース種別を指定してください(例: make down DB=pgsql)。
デフォルトでは、make up は最小限のサービスのみを起動します(Zabbix サーバー、Webインターフェース、データベース)。
これにより、セットアップを軽量に保ち、不要な可能性のあるコンポーネントの起動を避けられます。
追加コンポーネントを含めるには、次の Compose プロファイル を使用できます:
# デフォルトのデプロイメント + Zabbix エージェント、Javaゲートウェイ、Web サービス、SNMP トラップ:
make up COMPOSE_PROFILES=full
# COMPOSE_PROFILES=full + Zabbix プロキシ(MySQL および SQLite3):
make up COMPOSE_PROFILES=all
Docker (手動デプロイ)
Zabbix を段階的にデプロイし、個々のコンポーネントを実行し、既存の環境と統合する場合、または Podman などの代替コンテナランタイムを使用する場合は、手動デプロイを使用します。
たとえば、Zabbix プロキシをデプロイするには、次のコマンドを実行します。
docker run --name zabbix-proxy-sqlite3 \
-e ZBX_SERVER_HOST=192.0.2.1 \
-e ZBX_PROXYMODE=0 \
-e ZBX_HOSTNAME=zabbix-proxy-sqlite3 \
-v zabbix-proxy-data:/var/lib/zabbix/db_data \
--init \
-d \
zabbix/zabbix-proxy-sqlite3:alpine-7.0-latest
Zabbix (7.0.0-7.0.2) は、コンテナ内で PID1/init プロセスとして実行してはいけません。
このコマンドは次の処理を行います。
-
zabbix/zabbix-proxy-sqlite3:alpine-7.0-latestDocker イメージ を取得します。 -
Docker イメージを基に
zabbix-proxy-sqlite3コンテナを作成して起動します(--initおよび-dフラグを使用)。 -
ZBX_SERVER_HOST環境変数を使用して、Zabbix プロキシのServerパラメータを設定します。 このパラメータは、プロキシが設定データを取得し、収集したデータを送信する Zabbix サーバーの IP アドレスを指定します。 アクティブプロキシの動作に必要な他の変数はデフォルト値を使用するため、省略できます。
環境変数は、Zabbix コンポーネントの設定パラメータに対して、異なる命名規則を使用して対応付けられます(例: ZBX_SERVER_HOST は Server に対応します)。
一部の変数は Docker 固有であり、一部の設定パラメータは変更できません(例: PIDFile や LogType)。
環境変数を使用する場合は、Docker Hub 上の各コンポーネントの Docker イメージ の説明にある Environment variables セクションを参照してください。
- Docker によって管理される保存領域(例:
/var/lib/docker/volumes/zabbix-proxy-data/)をコンテナの/var/lib/zabbixディレクトリに接続し、コンテナが削除されても Zabbix プロキシのデータが永続的に保存されるようにします。
各ボリュームの詳細については、Docker Hub 上の各コンポーネントの Docker イメージ の説明にある Allowed volumes セクションを参照してください。
Zabbix プロキシコンテナをデプロイした後は、Zabbix Webインターフェースで プロキシを追加 し、このプロキシで監視する ホストを設定 できます。
以下の例では、さらに 3 つのデプロイシナリオを示します。
- Zabbix サーバー (MySQL) と Javaゲートウェイ
- Zabbix サーバー (PostgreSQL) と SNMP トラップ
- Zabbix サーバー (MySQL) と RHEL 8–10 上の Javaゲートウェイ
その他の例については、Docker Hub 上の各コンポーネントの Docker イメージ の説明を参照してください。
Javaゲートウェイを使用した Zabbix サーバー (MySQL) のデプロイ
この例では、MySQL バックエンド、JMX monitoring 用の Javaゲートウェイ、および Nginx ベースの Webインターフェースを備えた Zabbix サーバーのデプロイ方法を示します。
1. 専用の Docker ネットワークを作成します。これにより、すべての Zabbix コンポーネントのコンテナがコンテナ名で相互に到達できるようになります。
docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net
2. 空の MySQL サーバーコンテナを実行します (zabbix_pwd と root_pwd は強力なパスワードに置き換え、以降の手順でその値を使用してください)。
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
3. MySQL のログを追跡し、MySQL が接続を受け付ける準備ができるまで待ちます (Ctrl+C でログ表示を終了します)。
docker logs -f mysql-server
# ... [Server] /usr/sbin/mysqld: ready for connections. ...
4. Zabbix Javaゲートウェイコンテナを実行します。
docker run --name zabbix-java-gateway -t \
--network=zabbix-net \
--restart unless-stopped \
-d zabbix/zabbix-java-gateway:alpine-7.0-latest
5. MySQL サーバーコンテナで log_bin_trust_function_creators を有効にします。
これにより、ストアド関数に対するセキュリティ制限が一時的に緩和されます。この設定は後の手順で無効にします。
これにより、Zabbix のデータベースユーザーは SUPER 権限なしでストアド関数を作成できます。これは、binary logging が有効な場合に MySQL が要求する権限です (MySQL 8.0 以降ではデフォルト)。
次のコマンドを実行します。
docker exec -it mysql-server mysql -u root -p'root_pwd' \
-e "SET GLOBAL log_bin_trust_function_creators = 1;"
6. Zabbix サーバーコンテナを実行し、Java Gateway および MySQL サーバーコンテナに接続します。
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 ZBX_JAVAGATEWAY="zabbix-java-gateway" \
--network=zabbix-net \
-p 10051:10051 \
--restart unless-stopped \
--init \
-d zabbix/zabbix-server-mysql:alpine-7.0-latest
7. Zabbix サーバーのログを追跡し、Zabbix サーバーがデータベーススキーマの初期化を完了するまで待ちます (Ctrl+C でログ表示を終了します)。
docker logs -f zabbix-server-mysql
# ... [info]: ** Creating 'zabbix' schema in MySQL
# ... [info]: ** Database schema successfully created!
8. MySQL サーバーコンテナで log_bin_trust_function_creators を無効にします。
これにより、非 SUPER ユーザーによるストアド関数の作成を防ぐセキュリティ制限が再度有効になります。
次のコマンドを実行します。
docker exec -it mysql-server mysql -u root -p'root_pwd' \
-e "SET GLOBAL log_bin_trust_function_creators = 0;"
9. Zabbix Webインターフェースコンテナを実行し、Zabbix サーバーおよび MySQL サーバーコンテナに接続します。
docker run --name zabbix-web-nginx-mysql -t \
-e ZBX_SERVER_HOST="zabbix-server-mysql" \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e PHP_TZ="Europe/Riga" \
--network=zabbix-net \
-p 80:8080 \
--restart unless-stopped \
-d zabbix/zabbix-web-nginx-mysql:alpine-7.0-latest
コンテナが起動して実行中になると、Zabbix サーバーが開始され、Webインターフェースは http://localhost で利用できるようになります。
docker ps を使用してコンテナの状態を確認してください。
すべてのコンテナの状態は Up である必要があります。
Exited と表示されるものがある場合は、docker logs -f <container-name> でログを確認し、エラーを調べてください。
SNMP トラップを使用した Zabbix サーバー (PostgreSQL) のデプロイ
この例では、PostgreSQL バックエンド、SNMP traps、および Nginx ベースの Webインターフェースを備えた Zabbix サーバーのデプロイ方法を示します。
1. 専用の Docker ネットワークを作成します。これにより、すべての Zabbix コンポーネントのコンテナがコンテナ名で相互に到達できるようになります。
docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net
2. 空の PostgreSQL サーバーコンテナを実行します (zabbix_pwd は強力なパスワードに置き換え、以降の手順でその値を使用してください)。
docker run --name postgres-server -t \
-e POSTGRES_USER="zabbix" \
-e POSTGRES_PASSWORD="zabbix_pwd" \
-e POSTGRES_DB="zabbix" \
--network=zabbix-net \
--restart unless-stopped \
-d postgres:latest
3. Zabbix SNMP traps コンテナを実行します。
docker run --name zabbix-snmptraps -t \
-v /zbx_instance/snmptraps:/var/lib/zabbix/snmptraps:rw \
-v /var/lib/zabbix/mibs:/usr/share/snmp/mibs:ro \
--network=zabbix-net \
-p 162:1162/udp \
--restart unless-stopped \
-d zabbix/zabbix-snmptraps:alpine-7.0-latest
4. Zabbix サーバーコンテナを実行し、PostgreSQL サーバーおよび SNMP traps コンテナに接続します。
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 \
--init \
-d zabbix/zabbix-server-pgsql:alpine-7.0-latest
5. Zabbix サーバーのログを追跡し、Zabbix サーバーがデータベーススキーマの初期化を完了するまで待ちます (Ctrl+C でログ表示を終了します)。
docker logs -f zabbix-server-pgsql
# ... [info]: ** Creating 'zabbix' schema in PostgreSQL
# ... [info]: ** Database schema successfully created!
6. Zabbix Webインターフェースコンテナを実行し、Zabbix サーバーおよび PostgreSQL サーバーコンテナに接続します。
docker run --name zabbix-web-nginx-pgsql -t \
-e ZBX_SERVER_HOST="zabbix-server-pgsql" \
-e DB_SERVER_HOST="postgres-server" \
-e POSTGRES_DB="zabbix" \
-e POSTGRES_USER="zabbix" \
-e POSTGRES_PASSWORD="zabbix_pwd" \
-e PHP_TZ="Europe/Riga" \
--network=zabbix-net \
-p 443:8443 \
-p 80:8080 \
-v /etc/ssl/nginx:/etc/ssl/nginx:ro \
--restart unless-stopped \
-d zabbix/zabbix-web-nginx-pgsql:alpine-7.0-latest
コンテナが起動して実行中になると、Zabbix サーバーが開始され、Webインターフェースは http://localhost で利用できるようになります。
docker ps を使用してコンテナの状態を確認してください。
すべてのコンテナの状態は Up である必要があります。
Exited と表示されるものがある場合は、docker logs -f <container-name> でログを確認し、エラーを調べてください。
RHEL 8–10 で Javaゲートウェイを使用した Zabbix サーバー (MySQL) のデプロイ
この例では、MySQL バックエンド、JMX monitoring 用の Javaゲートウェイ、および Nginx ベースの Webインターフェースを備えた Zabbix サーバーを、Red Hat Enterprise Linux 8、9、または 10 上でデプロイする方法を示します。
Red Hat Enterprise Linux では、推奨されるコンテナランタイムは Docker ではなく Podman です。 Podman は Docker と同様に動作しますが、root として実行されるバックグラウンドサービスを必要としないため、Red Hat 環境により適しています。
1. zabbix という名前の新しい pod を作成し、Zabbix Webインターフェースと Zabbix サーバー trapper 用のポートを公開します。
podman pod create --name zabbix -p 80:8080 -p 10051:10051
2. (任意) zabbix pod 内で Zabbix エージェントコンテナを実行します。
podman run --name zabbix-agent \
-e ZBX_SERVER_HOST="127.0.0.1,localhost" \
--restart=always \
--pod=zabbix \
-d registry.connect.redhat.com/zabbix/zabbix-agent-70:latest
3. RHEL ホスト上に ./mysql/ ディレクトリを作成します。
mkdir -p ./mysql
4. 空の MySQL サーバーコンテナを実行します (zabbix_pwd と root_pwd は強力なパスワードに置き換え、以降の手順でその値を使用してください)。
podman run --name mysql-server -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
-v ./mysql/:/var/lib/mysql/:Z \
--restart=always \
--pod=zabbix \
-d mysql:8.0 \
--character-set-server=utf8mb4 --collation-server=utf8mb4_bin
5. MySQL のログを追跡し、MySQL が接続を受け付ける準備ができるまで待ちます (Ctrl+C でログ表示を終了します)。
podman logs -f mysql-server
# ... [Server] /usr/sbin/mysqld: ready for connections. ...
6. Zabbix Javaゲートウェイコンテナを実行します。
podman run --name zabbix-java-gateway -t \
--restart=always \
--pod=zabbix \
-d registry.connect.redhat.com/zabbix/zabbix-java-gateway-70
7. MySQL サーバーコンテナで log_bin_trust_function_creators を有効にします。
これにより、ストアド関数に対するセキュリティ制限が一時的に緩和されます。この設定は後の手順で無効にします。
これにより、Zabbix のデータベースユーザーは SUPER 権限なしでストアド関数を作成できます。これは、binary logging が有効な場合に MySQL が要求する権限です (MySQL 8.0 以降ではデフォルト)。
次のコマンドを実行します。
podman exec -it mysql-server mysql -u root -p'root_pwd' \
-e "SET GLOBAL log_bin_trust_function_creators = 1;"
8. Zabbix サーバーコンテナを実行し、Java Gateway および MySQL サーバーコンテナに接続します。
podman run --name zabbix-server-mysql -t \
-e DB_SERVER_HOST="127.0.0.1" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e ZBX_JAVAGATEWAY="127.0.0.1" \
--restart=always \
--init \
--pod=zabbix \
-d registry.connect.redhat.com/zabbix/zabbix-server-mysql-70
9. Zabbix サーバーのログを追跡し、Zabbix サーバーがデータベーススキーマの初期化を完了するまで待ちます (Ctrl+C でログ表示を終了します)。
podman logs -f zabbix-server-mysql
# ... [info]: ** Creating 'zabbix' schema in MySQL
# ... [info]: ** Database schema successfully created!
10. MySQL サーバーコンテナで log_bin_trust_function_creators を無効にします。
これにより、非 SUPER ユーザーによるストアド関数の作成を防ぐセキュリティ制限が再度有効になります。
次のコマンドを実行します。
podman exec -it mysql-server mysql -u root -p'root_pwd' \
-e "SET GLOBAL log_bin_trust_function_creators = 0;"
11. Zabbix Webインターフェースコンテナを実行し、Zabbix サーバーおよび MySQL サーバーコンテナに接続します。
podman run --name zabbix-web-mysql -t \
-e ZBX_SERVER_HOST="127.0.0.1" \
-e DB_SERVER_HOST="127.0.0.1" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e PHP_TZ="Europe/Riga" \
--restart=always \
--pod=zabbix \
-d registry.connect.redhat.com/zabbix/zabbix-web-mysql-70
pod zabbix は、zabbix-web-mysql コンテナの 8080/TCP からホストマシンへ 80/TCP ポート (HTTP) を公開します。
コンテナが起動して実行中になると、Zabbix サーバーが開始され、Webインターフェースは http://localhost で利用できるようになります。
docker ps を使用してコンテナの状態を確認してください。
すべてのコンテナの状態は Up である必要があります。
Exited と表示されるものがある場合は、docker logs -f <container-name> でログを確認し、エラーを調べてください。