Opensourcetechブログ

OpensourcetechによるNGINX/Kubernetes/Zabbix/Neo4j/Linuxなどオープンソース技術に関するブログです。

コンテナ環境で開発中のZabbix8.0(alpha2)を起動してみる

 

はじめに

本記事は、Qiita Advent Calendar 2025の25日目(12/25 クリスマス)の記事です。

 

コンテナ版Zabbixを使ってみようと思ったきっかけ

11/6~7に開催されたZabbix Conference Japan 2025にて、コンテナイメージのメンテナンスをされている方と会い、話す機会があったことがきっかけです。

 

Zabbix環境の構成

特にコンテナ環境に限ったことではないですが、以下の組み合わせで構成されます。

・DB(MySQL/PostgreSQLなど)

・Zabbix-Server

・フロントエンドのWebサーバ(nginx/apacheなど)

 

その為、コンテナ環境でもそれぞれのコンテナを起動し、連携させます。

 

Zabbix8.0の開発状況

Zabbix8.0ですが、2026 Q2リリースを目標に、絶賛開発が進められており、

OpenTelemetry対応が大きなトピックとなっております。

https://www.zabbix.com/roadmap

 

Zabbixコンテナ環境の構築 step1

今回はDocker(Windows11のDockerデスクトップ)上に構築します。

※以下より自身の環境にあった方法でインストールを予めしておいてください。

 https://www.docker.com/

 

まずは、DBとしてMySQLをデプロイします。

使用したコンテナイメージは、以下です、

https://hub.docker.com/_/mysql

-------

PS C:\Users\matt> docker run --name mysql-server -t -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" -e MYSQL_ROOT_PASSWORD="zabbix" -d mysql:latest

Unable to find image 'mysql:latest' locally

latest: Pulling from library/mysql

3cd9dbd900b6: Pull complete

5b7494a5617c: Pull complete

26040ca4b0ff: Pull complete

4739ccce10fe: Pull complete

c977bb812578: Pull complete

fe33d02f9e9d: Pull complete

bc357b5ee6d2: Pull complete

94829adeb7d5: Pull complete

32ade1562315: Pull complete

518fdee9efbe: Pull complete

4fdb57154777: Download complete

64911a6c79e2: Download complete

Digest: sha256:5ca0a273ed28c73acaef91da8bf1eca3711bee94bce4c378d42846375e645a72

Status: Downloaded newer image for mysql:latest

23bbba93c6f4e9718a1d49ceb5d00ade649e124b2b78ecb9ddf638b114987c23

 

PS C:\Users\matt> docker ps

CONTAINER ID   IMAGE          COMMAND                   CREATED          STATUS          PORTS                 NAMES

23bbba93c6f4   mysql:latest   "docker-entrypoint.s…"   33 seconds ago   Up 30 seconds   3306/tcp, 33060/tcp   mysql-server

 

Zabbixコンテナ環境の構築 step2

続いて、Zabbix-Serverをデプロイします。

使用したコンテナイメージは、以下です。

https://hub.docker.com/r/zabbix/zabbix-server-mysql

-------

PS C:\Users\matt> 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" -e MYSQL_ROOT_PASSWORD="zabbix" --link mysql-server:mysql -p 10051:10051 -d zabbix/zabbix-server-mysql:ubuntu-trunk

792177ce5ce97f44101dd10ca4fedf3c272e19796da0cc521b358ac049a5d747

PS C:\Users\matt> docker ps

CONTAINER ID   IMAGE                                     COMMAND                   CREATED          STATUS          PORTS                                             NAMES

792177ce5ce9   zabbix/zabbix-server-mysql:ubuntu-trunk   "/usr/bin/docker-ent…"   4 seconds ago    Up 2 seconds    0.0.0.0:10051->10051/tcp, [::]:10051->10051/tcp   zabbix-server-mysql

23bbba93c6f4   mysql:latest                              "docker-entrypoint.s…"   12 minutes ago   Up 12 minutes   3306/tcp, 33060/tcp                               mysql-server

 

Zabbixコンテナ環境の構築 step3

最後にフロントエンドのWebサーバ(nginx)をデプロイします。

使用したコンテナイメージは、以下です。

https://hub.docker.com/r/zabbix/zabbix-web-nginx-mysql

-------

PS C:\Users\matt> docker run --name zabbix-web-nginx-mysql -t -e DB_SERVER_HOST="mysql-server" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" -e MYSQL_ROOT_PASSWORD="zabbix" -e ZBX_SERVER_HOST="zabbix-server" -e PHP_TZ="Asia/Tokyo" --link mysql-server:mysql --link zabbix-server-mysql:zabbix-server -p 8080:8080 -p 443:8443 -d zabbix/zabbix-web-nginx-mysql:ubuntu-trunk

5091e3f86d3476206a421b28d20e8ffa04cd68c6dfbcd9d26e97bb2e84b7cc69

 

PS C:\Users\matt> docker ps

CONTAINER ID   IMAGE                                        COMMAND                   CREATED          STATUS                            PORTS                                                                                    NAMES

5091e3f86d34   zabbix/zabbix-web-nginx-mysql:ubuntu-trunk   "docker-entrypoint.sh"    3 seconds ago    Up 2 seconds (health: starting)   0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp, 0.0.0.0:443->8443/tcp, [::]:443->8443/tcp   zabbix-web-nginx-mysql

792177ce5ce9   zabbix/zabbix-server-mysql:ubuntu-trunk      "/usr/bin/docker-ent…"   23 minutes ago   Up 22 minutes                     0.0.0.0:10051->10051/tcp, [::]:10051->10051/tcp                                          zabbix-server-mysql

23bbba93c6f4   mysql:latest                                 "docker-entrypoint.s…"   35 minutes ago   Up 35 minutes                     3306/tcp, 33060/tcp                                                                      mysql-server

 

構築したZabbixコンテナへのアクセス

http://localhost:8080でブラウザよりアクセスします。

トップ画面が表示されたら、Username:Admin、Password:zabbixでサインインします。

 

サインインすると、以下のようにダッシュボードが表示されます。

"Zabbixサーバーのバージョン"という欄をみると、"8.0.0alpha2"となっていることが分かります。

デフォルトのUIは見慣れたものとあまり変わらないので、安心しました。

 

以下は、作業完了後のDockerデスクトップの管理画面です。

 

 

おわりに

今回は、MySQL(DB) + Zabbix-Server + nginx(Webフロントエンド)という環境にしましたが、公開されているコンテナイメージを変える事でDBにPostgresqlやApacheにすることも出来ます。

 

また、Zabbix8.0をまず触ってい見たいという場合には、気軽に構築できコンテナという選択肢は最適なのかなとやってみて感じました。

コンテナの良さである、軽量・すぐ起動出来るなどのメリットが受けられるからです。

 

なお、今回はDocker上で起動しましたが、同様のコンテナプラットフォーム(Kubernetesなど)でも可能です。

Opensourcetech by Takahiro Kujirai