こんにちは、SCSKの坂木です。
統合監視ツールとして広く利用されている Zabbix。近年はクラウド環境の監視にも強力に対応し、マルチクラウド環境の一元管理にも活用されています。
今回は、Zabbix公式テンプレート Azure Virtual Machine by HTTP を使用して、Azure上の特定の仮想マシン(VM)を監視する手順をステップ・バイ・ステップで解説します。
ステップ1:Azure側の設定(認証情報の作成とID取得)
まずはAzure側に「Zabbix専用の窓口(サービスプリンシパル)」を作り、アクセス権限を与えます。
1. アプリの登録(Zabbix用アカウントの作成)
Azure Portalで「Microsoft Entra ID」を開き、Zabbix用のアプリケーションを登録します。
- 「アプリの登録」>「新規登録」から、分かりやすい名前(例: Zabbix-Monitor)をつけて登録します。
- 登録完了後の「概要」画面で、以下の2つの情報をメモしておきましょう
・ アプリケーション (クライアント) ID
・ ディレクトリ (テナント) ID
2. クライアントシークレットの作成
次に、作成したアプリにシークレットを発行します。
- 左メニューの「証明書とシークレット」を開き、「新しいクライアントシークレット」を作成します。
- 作成直後に表示される値の文字列を必ずコピーしてください。
3. 監視対象VMの各種IDの確認
今回のテンプレートでは、監視したいVMを特定するための情報が必要です。 対象となる仮想マシンの「概要」画面を開きます。
この画面から、以下の2つをメモします。
- サブスクリプション ID
- リソース ID
(画面右上の「JSON ビュー」をクリックすると、最上部に /subscriptions/…/virtualMachines/vm-test… といった長い文字列の「リソース ID」が表示されるので、それをコピーします)
4. アクセス権 (IAM) の付与
最後に、作成したZabbix用アプリに「Azureの情報を読み取る権限」を与えます。
- 対象の「サブスクリプション」を開き、左メニューから「アクセス制御 (IAM)」を選択します。
- 「追加」>「ロールの割り当ての追加」から、閲覧者ロールを選択します。
- メンバーとして、先ほど作成したアプリ(Zabbix-Monitor)を選択して保存します。
ステップ2:Zabbix側の設定
Azure側の準備ができたら、Zabbix側の設定を行います。
(※Zabbixサーバーのインストールと初期設定は完了している前提で進めます)
1. テンプレートの確認
監視対象として登録したホストの設定画面を開き、テンプレートタブから「Azure Virtual Machine by HTTP」をリンクさせます。
2. マクロの設定
ここが連携の肝です。ホスト設定画面の「マクロ」タブを開き、「継承したマクロとホストマクロ」を選択して、先ほどAzure側でメモした5つの情報を入力します。
入力する対応表は以下の通りです。
| Zabbixのマクロ名 | 設定する値(Azure側でメモしたもの) |
|---|---|
| {$AZURE.APP.ID} | アプリケーション (クライアント) ID |
| {$AZURE.PASSWORD} | クライアントシークレットの「値」 |
| {$AZURE.RESOURCE.ID} | 仮想マシンのリソースID |
| {$AZURE.SUBSCRIPTION.ID} | サブスクリプションID |
| {$AZURE.TENANT.ID} | ディレクトリ (テナント) ID |
これを設定して保存すれば完了です。数分待つと、ZabbixがAzure APIを叩いて対象VMのデータ取得を開始します!
ステップ3:Zabbixで取得できる値
「Azure Virtual Machine by HTTP」テンプレートを使うと、Azureの「Azure Monitor」で取得できるメトリックと同等の情報をZabbixに取り込むことができます。
主に以下のような情報を取得・監視可能です。
| 項目 | 監視内容 |
|---|---|
| ステータス | VMの稼働状態 |
| メモリ | 使用可能なメモリ量 |
| CPU | CPU使用率 など |
| ネットワーク | 受信/送信トラフィック量 など |
| ディスク | データディスクおよびOSディスクの読み込み/書き込み速度 など |
まとめ
本ブログでは、ZabbixからAzureの仮想マシンを監視するために、Azure側でのアプリ登録や権限付与といった事前準備から、Zabbix側でのマクロ設定までの手順を解説しました。
特定の仮想マシンを監視する場合、認証情報に加えて「仮想マシンのリソースID」をマクロに設定するのがポイントです。ZabbixのAPI連携を活用して、Azureリソースを含めた効率的な一元管理環境を構築してみてください!
▼ Zabbixに関するおすすめ記事


弊社ではZabbix関連サービスを展開しています。以下ページもご参照ください。
★Zabbixの基礎をまとめたeBookを公開しております!★

★SCSK Plus サポート for Zabbix★

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









