10. 仮想マシン監視

概要

Zabbix は、ローレベルディスカバリ ルールを使用して VMware ハイパーバイザーおよび仮想マシンを自動的に検出し、 事前定義されたホストプロトタイプに基づいて、それらを監視するためのホストを作成できます。

Zabbix には、VMware vCenter または ESXi ハイパーバイザーを監視するためのすぐに使えるテンプレートも含まれています。

必要な VMware vCenter または vSphere の最小バージョンは 5.1 です。

データ収集

仮想マシンの監視は、次の2つのステップで構成されます。

  1. Zabbixの vmware collector プロセスが仮想マシンのデータを収集します。これらのプロセスは、SOAPプロトコルを介してVMware Webサービスから必要な情報を取得し、前処理を行ったうえで、Zabbixサーバーの共有メモリに保存します。

  2. Zabbixの poller プロセスが、Zabbixのシンプルチェック VMware monitoring item keys を使用してデータを取得します。

Zabbixは、収集したデータをVMwareの設定データとVMwareのパフォーマンスカウンターデータに分類します。
これら2種類のデータは、いずれも vmware collector プロセスによって独立して収集されます。

VMwareのパフォーマンスカウンター情報に基づいて、次の統計情報を利用できます。

  • データストア
  • ディスクデバイス
  • CPU
  • 電源
  • ネットワークインターフェース
  • カスタムパフォーマンスカウンターアイテム

VMwareのパフォーマンスカウンターからデータを取得するアイテムの完全な一覧については、VMware monitoring item keys を参照してください。

VMwareイベントの取得頻度は vmware.eventlog の監視間隔に依存しますが、5秒未満にはできないことに注意してください。

設定

Zabbixサーバーをsourcesからコンパイルする場合、仮想マシン監視を有効にするには、--with-libcurl --with-libxml2 設定オプションを指定してコンパイルする必要があります。 Zabbixパッケージは、これらのオプションがすでに有効な状態でコンパイルされています。

仮想マシン監視では、以下のZabbixサーバー設定ファイルパラメータを変更できます。

監視対象のVMwareサービス数より多くのコレクターを有効にすることを推奨します。 そうしないと、VMware設定データの取得(大規模な環境では時間がかかります)によって、VMwareパフォーマンスカウンター統計の取得が遅延する可能性があります。

一般的に、StartVMwareCollectors の値は 2 を下回らず、監視対象のVMwareサービス数の2倍を超えないようにする必要があります: サービス数 < StartVMwareCollectors < (サービス数 * 2)。 たとえば、1つのVMwareサービスを監視する場合は StartVMwareCollectors2 に設定し、3つのサービスを監視する場合は 5 に設定します。

必要なコレクター数は、VMware環境の規模、および VMwareFrequencyVMwarePerfFrequency の設定パラメータにも依存することに注意してください。

データストア容量メトリクスをサポートするには、VMware の vpxd.stats.maxQueryMetrics キーの値が少なくとも 64 に設定されていることを確認してください。 詳細については、VMware Knowledge Base article を参照してください。

ディスカバリ

Zabbixは、低レベルディスカバリルール(例: vmware.hv.discovery[{$VMWARE.URL}])を使用して、VMwareハイパーバイザーおよび仮想マシンを自動的に検出できます。 さらに、Zabbixはホストプロトタイプを使用して、検出されたエンティティに対応する実際のホストを自動的に生成できます。 詳細については、ホストプロトタイプを参照してください。

Configuration examples

For a basic example of how to set up Zabbix for monitoring VMware using the VMware FQDN template, see Monitor VMware with Zabbix.

For a more detailed example of how to create a host, a low-level discovery rule, and a host prototype for monitoring VMware, see Setup example.

拡張ログ

vmware collector プロセスによって収集されたデータは、デバッグレベル5を使用して詳細なデバッグのためにログへ記録できます。 デバッグレベルは、サーバー および プロキシ の設定ファイルで設定するか、 ランタイム制御オプション -R log_level_increase="vmware collector,N" を使用して設定できます。ここで "N" はプロセス番号です。

たとえば、すべての vmware collector プロセスのデバッグレベルを 4 から 5 に上げるには、次のコマンドを実行します。

zabbix_server -R log_level_increase="vmware collector"

2 番目の vmware collector プロセスのデバッグレベルを 4 から 5 に上げるには、次のコマンドを実行します。

zabbix_server -R log_level_increase="vmware collector,2"

VMware collector データの拡張ログが不要になった場合は、-R log_level_decrease コマンドを実行して、デバッグレベルをデフォルト (3) に下げることを推奨します。

トラブルシューティング

  • メトリクスを利用できない場合は、最近のVMware vSphereバージョンでそれらがデフォルトで利用不可または無効になっていないか、あるいはパフォーマンスメトリクスのデータベースクエリに何らかの制限が設定されていないかを確認してください。
    詳細については、ZBX-12094を参照してください。
  • config.vpxd.stats.maxQueryMetrics が無効である、または許可されている最大文字数を超えているというエラーが表示される場合は、vCenter Serverの設定に config.vpxd.stats.maxQueryMetrics パラメータを追加してください。
    このパラメータの値は、VMwareの web.xml ファイル内の maxQuerysize の値と同じである必要があります。
    詳細については、VMware Knowledge Base の記事を参照してください。
  • Zabbixインストール環境でメモリを過剰に使用している疑いがある場合は、tcmallocを使用した過剰なメモリ使用量のプロファイリングを参照してください。