10. 仮想マシン監視
概要
Zabbixでは、バージョン2.2.0からVMware環境の監視に対応しています。
Zabbixは事前に定義されたホストプロトタイプに基づき、ローレベルディスカバリルールを使用して、
VMwareハイパーバイザーと仮想マシンを自動的に検出し、監視するためのホストを作成することができます。
Zabbixのデフォルトデータセットには、VMware vCenterやESXハイパーバイザーの監視に適した
テンプレートが用意されています。
VMware vCenterまたはvSphereの最低必要バージョンは5.1です。
詳細
仮想マシンの監視は、2つのステップで行われます。
まず、vmware collector Zabbixプロセスによって、仮想マシンのデータが収集されます。
これらのプロセスは、VMware社のWebサービスから必要な情報をSOAPプロトコルで取得し、プリプロセスを行い、
Zabbix server の共有メモリに格納します。
そして、このデータはポーラーによってZabbixのシンプルチェックVMware keys を使用して取得されます。
Zabbixバージョン2.4.4から、収集されたデータは2つのタイプに分けられます。
VMwareの設定データとVMwareのパフォーマンスカウンタデータです。
両データはそれぞれ独立した vmware collectors によって収集されます。
このため、監視するVMwareサービス数より多くのコレクタを有効にすることをお勧めします。
そうしないと、VMwareパフォーマンス・カウンターの統計の取得が、
VMware 構成データの取得(大規模なインストールでは時間がかかる)によって遅延する可能性があります。
現在、データストア、ネットワーク・インターフェイス、ディスク・デバイスの統計情報
およびカスタム・パフォーマンス・カウンターの項目のみが、VMwareのパフォーマンス・カウンターの情報に基づいています。
コンフィギュレーション
仮想マシンの監視を行うには、Zabbixが --with-libxml2 and --with-libcurl のオプションで
compiled されている必要があります。
次の設定ファイルオプションを使用して、仮想マシンの監視を調整することができます。
- StartVMwareCollectors - フォークされたVMwareコレクターインスタンスの数です。
この値は、監視するVMwareサービスの数に依存します。
Servicenum < StartVMwareCollectors < (servicenum * 2)
ここで、servicenum は VMware サービスの数です。例:監視するVMwareサービスが1つの場合
監視するVMwareサービスが1つの場合、StartVMwareCollectorsを2に設定し、
3つのVMwareサービスがある場合、StartVMwareCollectorsを5を設定します。
ほとんどの場合、この値は2未満であってはならず、監視するVMwareサービスの数の2倍を超えないようにしてください。
またこの値は、VMware 環境のサイズと VMwareFrequencyおよびVMwarePerfFrequency
構成パラメータ(以下を参照)にも依存することに留意してください。 - VMwareCacheSize
- VMwareFrequency
- VMwarePerfFrequency
- VMwareTimeout
詳細は Zabbixserver , proxy の設定ファイルのページを参照してください。
データストアのキャパシティメトリクスをサポートするために、Zabbixは
VMwareの設定vpxd.stats.maxQueryMetricsパラメータに64以上の値を設定する必要があります。
VMwareナレッジベース article を参照してください。
ディスカバリー
Zabbixはローレベルディスカバリールールを使用して、VMwareハイパーバイザーと
仮想マシンを自動的に検出することができます。

すべての必須入力フィールドには、赤いアスタリスクが表示されます。
上記のスクリーンショットのディスカバリールールのキーは次のとおりです。 vmware.hv.discovery[{$VMWARE.URL}].
すぐに使えるテンプレート
Zabbixのデフォルトデータセットには、VMware venterや直接ESXハイパーバイザーを監視するために
すぐに使えるテンプレートがいくつか用意されています。
これらのテンプレートには事前に設定されたLLDルールと、仮想インストレーション監視のための
多くのビルトインチェックが含まれています。
VMware vCenterおよびESXハイパーバイザーの監視用テンプレートでは、
- VMware - 対応するマクロに UUID データを使用します。
- VMware FQDN - 対応するマクロに FQDN データを使用します。
VMware FQDNテンプレートが正しく機能するためには、以下のことが必要です。
監視する各VMは、FQDNルールに準拠した一意のOS名を持つ必要があります。
VMware Toolsが各マシンにインストールされている必要があります。これらの条件を満たす場合
VMware FQDN テンプレートを使用することをお勧めします。
Zabbix 5.2.でカスタムインターフェイスを持つホストを作成する機能が追加されたことにより、
VMware FQDNテンプレートの作成が可能になりました。
FQDNの要件を満たせない場合には、 従来のVMwareテンプレートも利用可能です。
ただし、VMware*テンプレートには既知の問題があることに留意してください。
検出された仮想マシンのホストは、vCenter に保存された名前で作成されます(たとえば、VM1、VM2など)。
これらのホストにZabbixエージェントアクティブをインストールし、自動登録を有効にした場合
自動再登録プロセスで起動時に登録されたホスト名(例,vm1.example.com、vm2.example.comなど)に一致するホストがないため、
新しいホストを作成します。
その結果、各マシンに異なる名前の2つの重複したホストが存在することになります。
ディスカバリーで使用されるテンプレート(通常、これらのテンプレートはホストに手動でリンクされるべきではありません。
- VMware Hypervisor;
- VMware Guest

ホストの構成
VMwareシンプルチェックを使用するには、ホストに以下のユーザーマクロが定義されている必要があります。
- {$VMWARE.URL} - VMwareサービス(vCenterまたはESXハイパーバイザー) SDK URL (https://servername/sdk)
- {$VMWARE.USERNAME} - VMwareサービスのユーザー名
- {$VMWARE.PASSWORD} - VMware サービス {$VMWARE.USERNAME} ユーザー名 パスワード
例
以下の例は、Zabbix上でVMwareの監視を素早く設定する方法です:
- オプション (--with-libxml2と--with-libcurl) を指定してZabbixサーバーをコンパイルします
- Zabbix設定ファイル内のStartVMwareCollectorsオプションを1以上にします
- 新しいホストを作成します
- VMwareの認証のためのマクロを設定します:

- ホストにVMwareのサービステンプレートをリンクします:

- 追加ボタンをクリックしてホストを保存します。
拡張ログ
VMwareコレクターによって収集されたデータは、デバッグレベル5を使用して
詳細なデバッグのためのログを記録することができます。
このレベルは serverと proxy 設定ファイルまたは
ランタイムコントロールオプションを使用して設定します。
実行時制御オプションの使用(-R log_level_increase="vmware collector,N" (Nはプロセス番号)) を使用します。
次の例は、デバッグレベル 4 がすでに設定されている場合に、拡張ロギングを開始する方法を示しています。
vmware collectors 全体のログレベルの加算:
shell> zabbix_server -R log_level_increase="vmware collector"
second vmware collectorのログレベルの加算: shell> zabbix_server -R log_level_increase="vmware collector,2"
VMware コレクターデータの拡張ログが必要ない場合は、-R log_level_decrease オプションを使用して、
ログを停止することができます。
トラブルシューティング
- メトリクスが利用できない場合、最近のVMware vSphereのバージョンで利用できなくなったり、
デフォルトでオフになったりしていないか、また、パフォーマンス メトリックのデータベース クエリに
何らかの制限がかかっていないかどうかを確認してください。
ZBX-12094を参照してください。
<!-- -->
- 'config.vpxd.stats.maxQueryMetrics' is invalid or exceeds the maximum number of characters permitted** エラー が発生した場合、
vCenter Server の設定にconfig.vpxd.stats.maxQueryMetricsパラメータを追加します。
このパラメータの値は、VMware の web.xml にあるmaxQuerysizeの値と同じにする必要があります。
このVMwareのナレッジベース articleを参照してください。