投稿

9月, 2026の投稿を表示しています

vSphere APIでVMのpower_stateを監視し、POWERED_OFF時にZabbixからEmail通知する

イメージ
検証の概要 vSphere APIを使って特定のVMの power_state を定期的に取得し、VMが POWERED_ON になった際にZabbixからEmail通知を送信します。 今回の構成では、ZabbixのScript ItemでvCenter APIを2段階で呼び出し、対象VMの power_state を取得します。その後、Zabbixのトリガー機能で power_state の値を評価し、トリガーアクションで事前に設定したユーザにメール通知を発報します。 1. POST /api/session → APIセッションTokenを発行 2. GET /api/vcenter/vm/{vm} → 対象VMの power_state を取得 3. Zabbix Dependent item → レスポンスから power_state を抽出 4. Trigger + Action → POWERED_ON検知でEmail送信 利用するvSphere APIについて APIでTokenを発行する vSphere Automation APIのセッションエンドポイントに、Basic認証でアクセスします。以下は動作確認用の例です。パスワードはコマンドへ直接記述せず、環境変数や秘密情報管理機能から渡すことを推奨します。 bash VCENTER_URL='https://vcenter01.demo.local' VCENTER_USER='administrator@vsphere.local' read -rsp 'vCenter password: ' VCENTER_PASSWORD printf '\n' ACCESS_TOKEN=$(curl -ks -X POST "${VCENTER_URL}/api/session" \ -H 'Content-Type: application/json' \ -u "${VCENTER_USER}:${VCENTER_PASSWORD}" \ | tr -d '"') /api/session のレ...