8 仮想マシンの監視

概要

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監視アイテムキーを使用してデータを取得します。

Zabbixは収集したデータをVMwareの構成データとVMwareのパフォーマンスカウンターデータに分けます。 両方のタイプのデータはvmware collectorプロセスによって独立して収集されます。

VMwareのパフォーマンスカウンター情報に基づいて、以下の統計情報が利用可能です。

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

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

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 の記事を参照してください。

ディスカバリ

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を使用して詳細なデバッグのためにログに記録できます。 デバッグレベルは、server および proxy の設定ファイルで設定するか、ランタイム制御オプション -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による過剰なメモリ使用量のプロファイリング を参照してください。