[comment]: # ({115c4a46-3ca85094})
# 8 仮想マシンの監視

[comment]: # ({/115c4a46-3ca85094})

[comment]: # ({9629b83b-621e23e6})
#### 概要

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

Zabbixには、VMware vCenterまたはESXiハイパーバイザーの監視用に[すぐに使えるテンプレート](/manual/config/templates_out_of_the_box/vmware)も含まれています。

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

[comment]: # ({/9629b83b-621e23e6})

[comment]: # ({7c4732bd-4c2e8939})
#### データ収集

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

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

2. Zabbixの*poller*プロセスが、Zabbixのシンプルチェックである[VMware監視アイテムキー](/manual/vm_monitoring/vmware_keys)を使用してデータを取得します。

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

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

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

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

VMwareイベントの取得頻度は[vmware.eventlog](/manual/vm_monitoring/vmware_keys#vmware.eventlog)のポーリング間隔に依存しますが、5秒未満にはできませんのでご注意ください。

[comment]: # ({/7c4732bd-4c2e8939})

[comment]: # ({49e652a9-68c3f7d5})
#### 設定

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

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

- [`StartVMwareCollectors`](/manual/concepts/server/server_params#startvmwarecollectors)

::: noteclassic
監視対象の VMware サービス数よりも多くのコレクターを有効にすることを推奨します。
そうしないと、VMware のパフォーマンスカウンター統計の取得が、VMware 設定データの取得によって遅延する可能性があります（大規模な環境ではこれに時間がかかります）。
<br><br>
一般に、`StartVMwareCollectors` の値は `2` を下回らず、かつ監視対象の VMware サービス数の 2 倍を超えないようにしてください: サービス数 < `StartVMwareCollectors` < (サービス数 \* 2)。
たとえば、1 つの VMware サービスを監視する場合は `StartVMwareCollectors` を `2` に設定し、3 つのサービスを監視する場合は `5` に設定します。
<br><br>
必要なコレクター数は、VMware 環境の規模や `VMwareFrequency` および `VMwarePerfFrequency` の設定パラメータにも依存することに注意してください。
:::

- [`VMwareCacheSize`](/manual/concepts/server/server_params#vmwarecachesize)
- [`VMwareFrequency`](/manual/concepts/server/server_params#vmwarefrequency)
- [`VMwarePerfFrequency`](/manual/concepts/server/server_params#vmwareperffrequency)
- [`VMwareTimeout`](/manual/concepts/server/server_params#vmwaretimeout)

::: noteimportant
データストアの容量メトリクスをサポートするには、VMware の `vpxd.stats.maxQueryMetrics` キーの値を少なくとも `64` に設定してください。
詳細については、[*VMware Knowledge Base* 記事](https://kb.vmware.com/s/article/2107096) を参照してください。
:::

[comment]: # ({/49e652a9-68c3f7d5})

[comment]: # ({dc05cb06-e5966479})
##### ディスカバリ

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

[comment]: # ({/dc05cb06-e5966479})

[comment]: # ({b1610a0a-6877fbcb})
##### 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*](/manual/guides/monitor_vmware).

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*](/manual/vm_monitoring/example).

[comment]: # ({/b1610a0a-6877fbcb})

[comment]: # ({a7a8a86c-44948bb1})
#### 拡張ログ

*vmware collector* プロセスによって収集されたデータは、デバッグレベル 5 を使用して詳細なデバッグ用にログに記録できます。
デバッグレベルは、[サーバー](/manual/concepts/server/server_params#debuglevel) および [プロキシ](/manual/concepts/proxy/proxy_params#debuglevel) の設定ファイルで構成するか、
実行時制御オプション `-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) に下げることを推奨します。

[comment]: # ({/a7a8a86c-44948bb1})

[comment]: # ({cc21c6f6-f6f9d3ef})
#### トラブルシューティング

- 利用できないメトリックがある場合は、それらが最近のVMware vSphereバージョンで利用不可またはデフォルトでオフになっていないか、またはパフォーマンスメトリックのデータベースクエリに何らかの制限が設けられていないかを確認してください。
  詳細については、[ZBX-12094](https://support.zabbix.com/browse/ZBX-12094) を参照してください。
- `config.vpxd.stats.maxQueryMetrics`が無効であるか、許可されている最大文字数を超えている場合は、vCenter Serverの設定に`config.vpxd.stats.maxQueryMetrics`パラメータを追加してください。
  このパラメータの値は、VMwareの*web.xml*ファイルの`maxQuerysize`の値と同じにする必要があります。
  詳細については、[*VMware Knowledge Base*の記事](https://kb.vmware.com/s/article/2107096) を参照してください。
- Zabbixインストールが過剰なメモリを使用していると思われる場合は、[tcmallocによる過剰なメモリ使用量のプロファイリング](/manual/installation/known_issues#profiling-excessive-memory-usage-with-tcmalloc) を参照してください。

[comment]: # ({/cc21c6f6-f6f9d3ef})
