仮想マシンの監視
概要
Zabbixは、ローレベルディスカバリルールを使用して、VMwareハイパーバイザーおよび仮想マシンを自動的に検出し、事前定義されたホストプロトタイプに基づいて監視するホストを作成できます。
Zabbixには、VMware vCenterまたはESXiハイパーバイザーの監視用にすぐに使えるテンプレートも含まれています。
必要なVMware vCenterまたはvSphereの最小バージョンは5.1です。
データ収集
仮想マシンの監視は2つのステップで構成されます。
-
Zabbixのvmware collectorプロセスが仮想マシンのデータを収集します。これらのプロセスはSOAPプロトコルを介してVMwareのWebサービスから必要な情報を取得し、前処理を行い、Zabbixサーバーの共有メモリに保存します。
-
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 サービスを監視する場合は StartVMwareCollectors を 2 に設定し、3 つのサービスを監視する場合は StartVMwareCollectors を 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 を使用した過剰なメモリ使用量のプロファイリング を参照してください。