VMware ESXiをZabbixで監視

ZabbixにVMware監視するためのテンプレートが存在するのですが、結構便利なので使ってみました。


![zabbix.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226209/a76e2f00-7b1b-f9f8-ef04-b252e4480760.png)

ZabbixにVMwareテンプレートを適用すると、仮想ホストサーバと仮想マシンを自動的にホストを登録して、テンプレート内のアイテムとトリガーを作成します。

##1. vmware collectorプロセス数の変更
VMwareの監視をする場合、Zabbixサーバでvmware collectorプロセスを起動する必要があります。デフォルトでは、プロセス数が0なので、/etc/zabbix/zabbix.conf を変更します。

```bash:/etc/zabbix/zabbix.conf 
318~325行目
### Option: StartVMwareCollectors
#       Number of pre-forked vmware collector instances.
# 
# Mandatory: no
# Range: 0-250
# Default:
# StartVMwareCollectors=0
以下を追加
StartVMwareCollectors=5 
```

変更後に、[systemctl restart zabbix-server]でZabbixServerを再起動します。


##2. Zabbixテンプレート適用

まず、ホストを[適用]に作成します。
左メニューからホストをクリックして、

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226209/19f70475-5a8a-73f0-811a-9e85ed94e5a1.png)

右上の「ホスト作成」でホストを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226209/c2e6b64b-c4e4-3bd3-8c5c-c6d71e471b2a.png)

ホスト名、グループは適当でよいです。
ネットワークインタフェースは設定を変えずにそのままにします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226209/f5848992-8885-24d7-5bcd-50bc4eafe0cd.png)


テンプレートタブをクリックし、テンプレートの選択をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226209/022d7924-3ed5-8596-c535-abdb01b157cd.png)

ホストグループに「Templates」に指定すると、テンプレートが表示されます。テンプレート一覧から「Template VM VMware」を指定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226209/7147d632-38b2-949c-8048-01909979806b.png)

「マクロ」タブをクリックし、以下の項目に対し、「変更」をクリックします。
クリック後にそれぞれパラメータを入力します。

* {$VMWARE.PASSWORD}　→　ESXiのログインパスワード
* {$VMWARE.URL}　→　ESXiのSDK URL(https://「ESXiのFQDN」/sdk)
* {$VMWARE.USERNAME} → ESXiのログインユーザ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226209/59838943-d42d-6aaf-1e15-977d68ca940b.png)


入力が完了したら「追加」をクリックして、ホストの追加を完了します。
このホストがESXiとESXi上の仮想マシンを発見し、ホストを追加してくれます。
ホストの発見は最大１時間かかるので、１時間程度待ちます。

##3. ホストの確認

左メニューより[設定]-[ホスト]をクリックし、ホスト一覧をみると、ESXiと登録されたESXi上の仮想マシンが表示されているのがわかります。ESXiは[Discover VMware hypervisors] 仮想マシンは[Discover VMware VMs]から検出されています。

それぞれESXiは[Template VM VMware Hyperviser]が適用され、仮想マシンは[Template VM VMware Guest]テンプレートが適用されていることがわかります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226209/ba0d9fa5-09bd-6992-7c37-225599dbf1ee.png)


ESXiのアイテムにはCPU,メモリ,ストレージ,電源状態,ESXiのステータス状況,ネットワーク使用状況,等ESXiのリソース状況などが一覧で見ることが出来ます。
※VMware: Health state rollupだけは、vmware.hv.sensor.health.stateがESXi6.5以降の場合、使用できないため、値を取得することが出来ません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226209/34e60f7c-1343-d5a0-a86a-cf69309b4c7d.png)


トリガーはESXiのステータス状況を監視し、警告、障害が発生している場合に、アラートがなるようになっています。
※ESXi6.5以降の場合、アイテム[VMware: Health state rollup]の値が取れないため、一部のトリガーが使用できなくなっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226209/90a20f26-35a4-5d1f-2686-545b6f7d9d53.png)


VMwareも同様にリソース・ステータス状況のアイテムが作成されています。トリガーは起動時間が10分以下の場合、警告が出るようになっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226209/7a31a80e-e248-6e4e-24b3-35979fca8e30.png)


## 4.参考サイト

■zabbix公式サイト

https://www.zabbix.com/documentation/current/en/manual/vm_monitoring/discovery_fields

https://www.zabbix.com/documentation/current/en/manual/config/items/itemtypes/simple_checks/vmware_keys