ZabbixによるVMware ESXiと仮想マシンの自動登録・監視手順

こんにちは!SCSKの新沼です。

VMware環境の監視において、こんな悩みを抱えていませんか?
「膨大な数の仮想マシンを、1つずつZabbixに手動登録するのは大変…」
「すべての仮想マシンにZabbixエージェントを入れる必要があるの?」

今回は、Zabbixの標準機能(VMwareテンプレート)を利用して、VMware ESXiホストおよび、その上で稼働する仮想マシン(以下VM)を全自動で登録・監視する手順をご紹介します。

1. VMware監視の仕組みと構成

設定に入る前に、ZabbixにおけるVMware監視の仕組みを整理します。

従来の監視手法では、仮想マシン(ゲストOS)1台ずつにZabbixエージェントをインストールするのが一般的でした。しかし、この方法には以下のような課題があります。

  • VMの数が多すぎて、手動でのホスト登録やエージェント導入に膨大な手間がかかる。
  • アプライアンス製品など、そもそもOSにエージェントをインストールできない仮想マシンが存在する。
  • VMが作成・削除されるたびに、Zabbix側の監視設定も手動で追加・削除しなければならない。

これらを一気に解決するのが、Zabbix標準のVMwareテンプレートローレベルディスカバリ(LLD)の組み合わせです。

 

<メリット>

  1. 完全エージェントレス: Zabbixサーバーが直接ESXi(またはvCenter)のAPIと通信し、ハイパーバイザー側から見たCPUやメモリ、ストレージの利用状況を取得します。VM側には一切手を加えません。
  2. LLDによる自動追従: ESXiをZabbixに1つ登録するだけで、その配下にあるVMやデータストアをZabbixが自動的に見つけ出します。今後VMが増減しても、Zabbixが自動で監視対象に追加・削除してくれます。

2. 検証環境

本記事では、以下の環境を前提として設定手順を解説します。

  • Zabbix Server: 構築済みのZabbixサーバ (Version 7.0)
  • 監視対象: 1台のESXiホスト
  • ESXi上のVM: 以下の2台を事前に作成済み
    • Web-Server-Test
    • DB-Server-Test

この1台のESXiをZabbixに登録し、最終的に2台の仮想マシンがZabbix上に自動登録されることを目指します。

3. 事前準備①:ESXi側でのユーザー作成

ZabbixがAPI経由でESXiにアクセスするための認証情報を用意します。

セキュリティの観点から、root ユーザーではなくZabbix監視用の読み取り専用(Read-only)ユーザーを新規作成します。

  1. ESXiのWeb管理画面にログインします。
  2. 左メニューの 「ホスト」 > 「管理」 > 「セキュリティとユーザー」 > 「ユーザー」 タブを開きます。
  3. 「ユーザーの追加」をクリックし、ユーザー(例:zabbix-monitor)とパスワードを設定して作成します。
  4. 次に、左メニューの 「ホスト」 を右クリックし、「権限」 をクリックします。
  5. 「ユーザーの追加」をクリックし、先ほど作成した zabbix-monitor に対して 「読み取り専用 (Read-only)」 ロールを割り当てて保存します。

画像の赤枠のように、読み取り専用ロールがついたアカウントがあることを確認。

4. 事前準備②:Zabbix Server側のプロセスチューニング

Zabbixのデフォルト設定では、VMware環境からデータを収集するための専用プロセスが停止しています。設定ファイルを編集してプロセスを起動させます。

  1. Zabbix ServerにSSH等でログインし、設定ファイルを開きます。

$ sudo vi /etc/zabbix/zabbix_server.conf
  1. 以下の2つのパラメータを探し、コメントアウトを外して値を設定します。 

# VMwareのデータを収集するプロセス数(デフォルト0、小~中規模なら3~5程度)
StartVMwareCollectors=5
# APIから取得したデータを保存するキャッシュサイズ(VM数が多い場合は拡張推奨)
VMwareCasheSize=64M
  1. 設定を保存後、Zabbixサーバープロセスを再起動して設定を反映させます。

$ sudo systemctl restart zabbix-server

5. Zabbixフロントエンドでのホスト登録

準備が整ったら、ZabbixのWeb管理画面からESXiを登録します。

ステップ1:ホストの作成

  1. Zabbixの管理画面にログインし、「データ収集」 > 「ホスト」 を開きます。
  2. 右上の 「ホストの作成」 をクリックします。
  3. 「ホスト」タブで以下を入力します。
    • ホスト名ESXi-Test (任意の名前)
    • テンプレートVMware を選択
    • ホストグループVirtual machines 等の任意のグループ

💡 ポイント:インターフェース ZabbixのVM監視は、APIによる監視を行うのでインターフェースの設定は不要です。ここでは、エージェントを選択してデフォルトのまま設定しています。

ステップ2:マクロ(認証情報)の設定

次に、上部の「マクロ」タブを開き、「継承とホストマクロ」を選択します。VMwareテンプレートで定義されている以下の3つのマクロの「値」を入力します。

  • {$VMWARE.URL} : https://<ESXiのIPアドレス>/sdk
  • {$VMWARE.USERNAME} : zabbix-monitor (先ほどESXiで作ったユーザー)
  • {$VMWARE.PASSWORD} : (設定したパスワード)

💡 ポイント:URLの末尾に注意 URLを設定する際、単なるIPアドレスではなく、vSphere APIのエンドポイントである /sdk を必ず末尾に付与してください。これを忘れるとAPI通信に失敗します。

入力が完了したら、画面下部の「追加」ボタンをクリックしてホストを保存します。

※画像は、作成後のものなので、「ホストマクロ」タブになっていますが、「継承したマクロとホストマクロ」のタブで入力して「追加」をクリックしてください。

6. ディスカバリ(自動登録)の確認

ホストを追加すると、Zabbixが設定した間隔(デフォルトは1時間)でESXiと通信し、仮想マシンやデータストアの情報を自動的に取得(ディスカバリ)し始めます。
→すぐに確認したい場合は、ホスト>ディスカバリから、すべてのディスカバリルールを選択して、「監視データ取得」をクリックしてください。

💡 ポイント:初回登録時の「取得不可」エラーについて 登録直後にホストの「ディスカバリルール」画面を見ると、ルールが赤色の「取得不可」状態になることがあります。これは設定ミスではなく、Zabbixのバックグラウンドプロセスがデータを収集し、キャッシュに保存し終わるまでの一時的な状態です。 焦らずに5〜10分程度待つと、自動的に緑色の「有効」状態に切り替わります。

自動登録されたホストの確認

キャッシュが溜まり、ディスカバリが正常に実行された後、「データ収集」「ホスト」 の一覧画面を再度確認します。

手動で登録した ESXi-Test ホストの他に、事前準備で作成しておいた Web-Server-TestDB-Server-Test といった仮想マシンが、別々のホストとして自動的に追加されていることが確認できます。自動登録されたホストは、名前の横にディスカバリのリンクアイコンが表示されます。

 

7. 【補足】本番環境(vCenter)での運用について

今回は検証のため、「1台のESXiホスト」を直接Zabbixに登録し、その上の仮想マシンを自動検出する方針で解説しました。

しかし、実際の運用現場では複数のESXiホストを「vCenter Server」で一元管理しているケースが多いと思います。その場合、各ESXiをZabbixに1台ずつ登録する必要はありません。

Zabbix側に「vCenter」を1つだけホストとして登録し、マクロにvCenterの認証情報を設定するだけでOKです。

ZabbixがvCenterのAPIを叩き、その配下にある「複数のESXiホスト」も「すべての仮想マシン」も芋づる式に全自動で検出・登録してくれます。

本番環境に展開する際は、ぜひこの「vCenter起点」の構成で、劇的な監視運用の自動化を体感してください。

おわりに

以上がZabbixを利用したVMware ESXiおよび仮想マシンの自動監視設定の手順です。

VMwareテンプレートを使用することで、ハイパーバイザー自体のリソース状況をエージェントレスで取得できるだけでなく、仮想マシンが新規作成・削除された際の監視設定の追加・削除作業も全自動化されます。

仮想環境の監視運用を劇的に効率化できる強力な機能ですので、ぜひご自身の環境でも活用してみてください。

 

                                                             

弊社ではZabbix関連サービスを展開しています。以下ページもご参照ください。

★SCSK Plus サポート for Zabbix★

SCSK Plus サポート for Zabbix
世界で最も人気のあるオープンソース統合監視ツール「Zabbix」の導入構築から運用保守までSCSKが強力にサポートします。

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

SCSK Zabbixチャンネル
SCSK Zabbixチャンネルでは、Zabbixのトレンドや実際の導入事例を動画で解説。明日から使える実践的な操作ナレッジも提供しており、監視業務の効率化に役立つヒントが満載です。 最新のトピックについては、リンクの弊社HPもしくはXアカ...

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

https://x.com/SCSK_Zabbix
タイトルとURLをコピーしました