This is a translation of the original English documentation page. Help us make it better.

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を使用して
詳細なデバッグのためのログを記録することができます。
このレベルは serverproxy 設定ファイルまたは
ランタイムコントロールオプションを使用して設定します。
実行時制御オプションの使用(-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を参照してください。