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

仮想マシン監視のために変更できる Zabbix サーバー設定ファイルのパラメータは次のとおりです。

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

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

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

データストアの容量メトリクスをサポートするには、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 を使用して詳細なデバッグ用にログに記録できます。 デバッグレベルは、サーバー および プロキシ の設定ファイルで構成するか、 実行時制御オプション -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による過剰なメモリ使用量のプロファイリング を参照してください。