Zabbix×Claude Codeでモジュール開発

こんにちは。SCSK小寺です。

私の20台の頃の目標に、オープンソースのプロジェクトに参加して、機能追加、バグ修正をしたいという目標がありました。
ただ、時間もなく、仕事に追われ、漠然とした夢となっていました。
ここ最近のAIブームにより、その夢が手に届きそうなところにきましたので、このブログで紹介したいと思います。

内容は、Claude Codeを使用して、Zabbixのモジュール開発をしてみたいと思います。
Zabbixのモジュールはプラグイン形式で、所定の場所にプログラムを配置することで、画面の追加やウィジェットの追加をすることができます。
そこで今回は Claude Code を相棒にして、WSL上のZabbix環境でフロントエンドモジュールを作り、ブラウザに「Hello World」を表示するところまでをやってみます。

 今回のゴールと構成

– WSL(Ubuntu)上に **Zabbix** と **Claude Code** をインストール
– WindowsのホストPCに **VS Code** +拡張機能(Remote Development / Claude Code)をインストールし、WSLに接続して開発
– 最小構成のフロントエンドモジュールを作り、ブラウザに「Hello World」を表示
– 途中でエラーが出たら、Claude Codeに調査・修正を任せる

全体像はこんなイメージです。

 

 1. WSLの準備

まずWindows側でWSLを有効化し、Ubuntuを入れます。すでにWSL環境がある方はスキップしてください。
※WSLじゃなく、仮想サーバやEC2でもSSHで接続できれば問題ありません

# PowerShell(管理者)で実行
wsl --install -d Ubuntu

インストール後、Ubuntuを起動してユーザー作成まで済ませておきます。

2. WSLにZabbixをインストール

WSL(Ubuntu)のターミポイントで、Zabbixをインストールします。
今回は検証用なのでサーバ+フロントエンド+DB(MySQL)をひとまとめに入れる構成です。
公式の手順は環境(OS・Zabbixバージョン)で変わるため、ここでは流れだけ示します。
実際のコマンドは [Zabbix公式のダウンロードページ]で対象バージョンを選んで生成されるものに従ってください。

3. WSLにClaude Codeをインストール

次に相棒のClaude Codeを入れます。

curl -fsSL https://claude.ai/install.sh | bash

インストール方法は更新されることがあるので、

最新は [Claude Code公式ドキュメント](https://code.claude.com/docs/ja/quickstart) を確認してください。

次にAIプロバイダーの設定を行います。私はAmazon Bedrockを使用するためAWS CLIをインストールしています。

#.claude.json に追記
  "env": {
    "CLAUDE_CODE_USE_BEDROCK": "1",
    "AWS_REGION": "ap-northeast-1",
    "AWS_PROFILE": "aws-profile",
    "ANTHROPIC_MODEL": "jp.anthropic.claude-sonnet-4-5-20250929-v1:0"
  },

 

4. ホストPCにVS CodeをインストールしてWSLに接続

Windows側に [VS Code](https://code.visualstudio.com/) をインストールし、続けて以下の拡張機能を入れます。
拡張機能ビュー(`Ctrl+Shift+X`)で「Remote Development」「Claude Code」を検索してインストールしてください。

Remote Development(Microsoft)

|WSL・SSH・コンテナ内のファイルをローカル同様に編集できるようにする拡張パック。Zabbixサーバへの接続に利用

Claude Code for VS Code(Anthropic)

VS Code内でClaude Codeを呼び出せるプラグイン。エディタとターミナルを行き来せず、開いているファイルを文脈に渡せる

 

VS Codeを開いて、左下の緑色アイコン → 「Connect to WSL」を選ぶと、WSL内のファイルをそのまま編集できるようになります。

ZabbixのWebモジュールは「/var/lib/zabbix」にあるため、VS Codeのフォルダを開くで「/var/lib/zabbix」を開きます。

これで「Windowsで編集 → WSLで実行」という快適な開発環境が整いました。

 

5. Claude Codeに `/init` させて構成を理解させる

ここからが本題です。モジュールを作りたいディレクトリで `claude` を起動し、`/init` を実行します。

`/init` を実行すると、Claude Codeがプロジェクト(=今いるディレクトリ)の構成を読み取り、`CLAUDE.md`(プロジェクトの説明メモ)を生成します。これにより、以降のやり取りでClaude Codeが「ここはZabbixのモジュールディレクトリだ」という前提を共有した状態で動いてくれます。

 

6. 「Hello World」モジュールを作らせる

Claude Codeにこう頼みます。

ブラウザに「Hello World」と表示するだけの、最小構成のZabbixフロントエンドモジュールを作って。

そうするとClaude Codeがモジュールの作成を開始して、以下のファイルが作成されます。

helloworld/
├── manifest.json … モジュールの定義(名前・バージョン・アクション・メニュー)
├── Module.php … モジュール本体クラス
├── actions/
│ └── HelloWorld.php … アクション(コントローラ)
└── views/
└── helloworld.php … 表示テンプレート

ファイルの生成が完了したら、Zabbixの管理画面 **「管理」→「一般設定」→「モジュール」** から対象モジュールをスキャン・有効化し、ブラウザでアクションのURLを開きます。

無事に「Hello World」が表示されれば成功です。

7. エラーが出ても、Claude Codeに調査させる

ここが今回いちばん伝えたいところです。**初回からきれいに動くことは、まずありません。** ファイル配置ミス、namespaceの不一致、manifestのキー名違い…と、地味なエラーが必ず出ます。

これまでなら、エラーメッセージをコピーしてチャット形式のAIに貼り付けて。。。という手間でした。

Claude Codeなら、こう投げるだけです。

“`
モジュールを有効化したらこのエラーが出た。原因を調べて直して。
(エラーメッセージを貼る)

“`

Claude Codeは、

– 生成したファイルの中身を自分で読み直し
– Zabbixのログ(`/var/log/zabbix/` やApacheのエラーログ)を確認し
– manifestやnamespaceの不整合を特定し
– 修正パッチを当てて、再度確認する

という調査ループを **自分で回してくれます**。こちらは「直して」と言って、結果を確認するだけ。

私の体感では、ここでの「自分でログを見に行ってくれる」挙動がいちばんありがたい。

モジュール開発はエラーの8割が「定義ファイルのちょっとしたズレ」なので、人間が探すと地味に時間が溶けます。

 

まとめ

今回やったことを振り返ります。

「オープンソースの開発」はハードルが高いというイメージは、相棒のClaude Codeがいるとかなり下がります。**まず動くものを作って、エラーは任せて、自分は設計と確認に集中する**。この進め方は、もっと実用的なモジュール(カスタムダッシュボードウィジェットや独自のデータ表示など)を作るときにもそのまま効いてきます。

次回は、この延長で「ZabbixとClaude CodeとMCP」あたりを書いてみたいと思います。

それでは、よいZabbixライフを。

SCSK Plus サポート for Zabbix

★YouTubeに、SCSK Zabbixチャンネルを開設しました!★

★X(旧Twitter)に、SCSK Zabbixアカウントを開設しました!★

著者について

Zabbixの構築をメインに担当しています。
■資格
 Zabbix認定プロフェッショナル
 AWS Certified Solutions Architect - Professional
 Google Certified Professional - Cloud Architect
 LPIC 303,304 ORACLE MASTER Gold DBA 11g
 CCNA Oracle Certified Java Programmer, Silver SE 7

小寺崇仁をフォローする

クラウドに強いによるエンジニアブログです。

SCSKでは、自社クラウドと3大メガクラウドの強みを活かし、ハイブリッドクラウド/マルチクラウドのソリューションを展開しています。業界の深い理解をもとに、お客様の業務要件に最適なアーキテクチャをご提案いたします。サービスサイトでは、お客様のDX推進をワンストップで支援するサービスの詳細や導入事例を紹介しています。

AI・MLZabbixソリューションプロダクト運用・監視
シェアする
×
タイトルとURLをコピーしました