はじめに
Docker Desktop で Zabbix を構築し SNMP で 機器を監視する備忘録です。
改訂履歴
- 2026/07/20 : 初期設定以降の手順追加。
- 2026/07/18 : 初版公開。
本文
1. 環境
- Docker Desktop for Windows 4.70.0
- Windows WSL2
- Windows 11 Home 25H2
2. 手順
2-1. Zabbix Server の構築
Zabbix 公式サイトに Docker Compose の YAML ファイルが用意されているので、それを使わせてもらいます。
以下のリポジトリをクローン、最新のブランチに切り替えます。今回は 7.4 でした。
構築には Git のルートにある compose_pgsql.yaml を使用します。今回は -d で必要なサービスだけを指定して起動しています。
docker compose -f compose_pgsql.yaml up -d zabbix-server zabbix-web-nginx-pgsql postgres-server zabbix-agent
補足
自分の環境では Compose 実行時に zabbix/zabbix-server-pgsql:Windows_NT-7.4-latest が見つからないというエラーが発生しました。
原因は Windows 環境変数 OS=Windows_NT が Zabbix 公式 .env の OS=alpine と競合し、イメージタグが誤って生成されたためのようです。
Git のルートにある .env ファイルの ZBX_IMAGE_TAG を alpine-7.4-latest に固定し、再度 Compose を実行すると、無事起動できました。
Compose 実行後、少しすると起動します。
Docker Desktop アプリからも起動していることが確認できます。
補足
画面では zabbix-docker-server-db-init-1 が動いていないように見えますが、初回起動時だけ実行されるデータベース初期化用のコンテナのため、これが正常です。
2-2. Zabbix Server の初期設定
起動後は以下の URL で Zabbix Server の管理画面にアクセスできます。
Admin / zabbix でサインインします。
左メニューの下にある User settings から Profile を選択します。
適宜設定します。今回は言語とタイムゾーンを変更しました。
2-3. Zabbix Server への Agent 登録
Zabbix Server のホスト機に Zabbix Agent がない旨の警告が出るため、対応します。
データ収集タブからホストの設定に移動し Zabbix server を選択します。
zabbix-docker-zabbix-agent-1 で接続するように変更します。
補足
この設定ですが、厳密には Windows ホスト PC 自体の監視は行っていません。あくまで zabbix-agent コンテナを監視しているだけのため、実際の運用環境では直接ホスト PC にエージェントを入れた方が良いです。
しばらくすると、繋がるようになります。
2-4. SNMP で機器を監視する
Zabbix では監視対象に Zabbix Agent を入れてモニターするのが正攻法だと思いますが、SNMP も使えます。監視対象側ではあらかじめ SNMP サービスを有効にし、コミュニティ名やアクセス許可を設定しておきましょう。
先程と同じく、データ収集タブからホストの設定に移動し、右上のホストの作成を選択します。追加ダイアログから監視対象を適宜設定します。
しばらくすると、繋がるようになります。
とりあえずダッシュボードでも確認できます。
おわりに
色々と多機能で使いこなすには少し時間がかかりそうです。