Zabbix×AIによる画像監視の可能性 ― サンタクロース検知から学ぶ次世代オブザーバビリティ

本記事は TechHarmony Advent Calendar 2025 12/5付の記事です

メリークリスマス、SCSK株式会社の小寺崇仁です。
(今回はAIを使ってブログ記事を作成しています)

近年、監視ツールの分野では「APM(Application Performance Monitoring)」と「オブザーバビリティ(Observability)」というキーワードが急速に注目されています。APMはアプリケーションの応答時間・エラー率・リソース使用率といった性能指標を監視して問題を発見します。一方オブザーバビリティは、複数のメトリックス、ログ、トレースを相関的に分析し、より深い原因究明を可能にする考え方です。

監視の世界は数値監視から文字列監視、そして今――画像を解析対象とする「画像監視」へと進化しつつあります。各製品がオブザーバビリティ機能を強化する中、ZabbixもVersion 8.0から本格的に対応を進めています。

以下では、「Zabbix × AI によるサンタクロース検知」を題材に、画像監視の新たな可能性を実験的に紹介します。


なぜ今「画像監視」なのか

従来の監視はCPU負荷やメモリ、サービス応答時間といった定量的なメトリックス中心でした。しかし、数値では表せない現場の状態――防犯カメラ、天候、道路状況、作業手順の逸脱など――にも重要な監視情報が存在します。

画像を監視対象とすることで、人間の「目」が担っていた判断を自動化し、監視の範囲を飛躍的に拡張できます。これが「オブザーバビリティの次の段階」と考えられます。


検証概要:Zabbix×AIによるサンタクロース検知

本実験の目的は、Zabbixを中心にAI画像解析を連携し、視覚的なイベントを監視対象にできるかを検証することです。

実際には作業PCのカメラが撮影した画像をZabbixに送信し、AIがその画像内に「サンタクロースらしいもの」が写っているか判定します。

今回はAI環境にローカルLLM(Large Language Model)を採用しました。クラウドAIを利用する場合、API利用料や画像送信の通信コストが発生しますが、ローカル運用であればコストを抑制し、内部データを安全に処理できます。GPUを搭載したPC上で動作することで、クラウドコストゼロ・低遅延・オフライン分析を同時に実現できました。


検証環境構成

作業PC環境

  • 機種:弊社標準ノートPC(Let’sNote)
  • カメラ操作:PowerShell+FFmpegをユーザーパラメータ経由で実行
  • データ送信:撮影画像をBase64変換しZabbixへ送信

Zabbix環境

  • 仮想アプライアンス:ZV-700
  • 構成:CPU 2コア / メモリ 4GB

AI解析環境

  • CPU:Ryzen 5 7600
  • メモリ:32GB
  • GPU:RTX 4060
  • AI実行環境:WSL2+Docker+Ollama
  • AIモデル:llama3.2-vision(ローカルLLM)

実装手順

1. カメラ撮影設定(作業PC側)

FFmpegのインストール

winget install ffmpeg

撮影スクリプト(photo.ps1)

$CamName="USB HD Webcam"
$FfmpegPath="C:\Users\scsk-kodera\AppData\Local\Microsoft\WinGet\Packages\Gyan.FFmpeg_Microsoft.Winget.Source_8wekyb3d8bbwe\ffmpeg-8.0.1-full_build\bin\ffmpeg.exe"
$FilePath="C:\zabbix\photo.jpg"

& $FfmpegPath -y -f dshow -i "video=$CamName" -frames:v 1 $FilePath -loglevel quiet 2>&1 | Out-Null

$Bytes = Get-Content -Path $FilePath -Encoding Byte -Raw
$Base64String = [System.Convert]::ToBase64String($Bytes)
Write-Output $Base64String

Zabbix Agent設定

UserParameter=get.file.photo[*],"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy Bypass -File "C:\zabbix\photo.ps1"

2. 画像監視設定(Zabbix側)

(1) 撮影アイテム

名前 撮影アイテム
アイテムキー get.file.photo
監視間隔 1m

(2) 画像保存アイテム

名前 画像アイテム
タイプ 依存アイテム
データ型 バイナリ
マスターアイテム 撮影アイテム

(3) AI画像判定アイテム

名前 サンタクロース判定アイテム
タイプ 依存アイテム
データ型 文字列
マスターアイテム 撮影アイテム
保存前処理(Javascript)
AI_URL = 'http://192.168.0.244:11434/api/generate' 
ai_req = new HttpRequest(); 
ai_data = { 
"model": 'llama3.2-vision', 
"prompt": 'Does the person in the image look like Santa Claus? Answer only with "yes" or "no".', 
"images": [value],
"stream": false,
"options": { "num_predict": 5, "temperature": 0.0 }
}; 
ai_resp = ai_req.post(AI_URL, JSON.stringify(ai_data));
ai_resp = JSON.parse(ai_resp);
return ai_resp.response;

※ここでプロンプトを指定しています

(4) トリガー設定

名前 サンタクロース検知
条件式 find(/pc/san,,,”Yes”)=1

3. AI環境構築

# Ubuntu導入
wsl --install -d Ubuntu-22.04
wsl -d Ubuntu-22.04

# Dockerセットアップ
sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

# Nvidiaのドライバ設定
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
  sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
  sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
apt install -y nvidia-container-toolkit

# Ollama起動(ローカルLLM)
docker run -d --gpus all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
docker exec -it ollama ollama pull llama3.2-vision

# Windows側からアクセス設定
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=11434 connectaddress=172.23.36.218 connectport=11434

検証結果

定期監視で撮影された画像がZabbix上に表示され、AI判定結果(Yes/No)が確認できます。サンタの風船を写したタイミングではAIが「YES」と回答し、トリガーが検知しました

検知画面

GPUリソースが正しく利用されており、ローカルLLMによる推論が安定して実行されています。クラウドに画像を送信しない設計のため、セキュリティ面でも保護された構成となりました。

GPUリソース状況


注意点

  • Zabbixの保存前処理のタイムアウトは10秒です(変更不可)。
  • AI処理にはGPU性能が大きく影響します。
  • クラウド利用料やAPIトークンコストを避けるため、ローカルLLMを活用しています。
  • レスポンスを安定させるため、「num_predict=5」「temperature=0.0」でYes/No回答に限定しています。

まとめと今後の展望

今回のアドベントカレンダー記事では「サンタクロース検知」を通して、Zabbix×AI連携の新しい監視アプローチを検証しました。AI解析にはローカルLLM(llama3.2-vision)を活用し、クラウド依存のない低コスト・セキュアな画像監視基盤を構築しています。

今後の展開としては、AIを使った画像監視の高度化が期待されます。
AIが物体や動きのパターンを学習することで、単純な「Yes/No判定」から「異常検知」「状態分類」「傾向分析」へとステップアップし、よりインテリジェントな監視が可能になります。

  • 製造ラインでの品質検査や異常検知
  • 天候・災害監視の自動化
  • 道路交通や防犯映像のリアルタイム分析
  • オフライン環境でのローカルAI監視

OSSとAIによるオブザーバビリティ拡張の未来――
Zabbix × ローカルLLMによるAIを使った画像監視が、監視の新しい形を切り開こうとしています。

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をコピーしました