ZabbixのVMwareを監視する方法について説明します。テンプレート「Templates/Template VM VMware」を適用し、「{$VMWARE.URL}」「{$VMWARE.USERNAME}」「{$VMWARE.PASSWORD}」の3つのマクロを定義する事で、ある程度の監視が手際良く実行する事ができます。
VMware Collectors
VMwareの監視を行うには、予めVMware Collectorsプロセスを起動する必要があります。/etc/zabbix/zabbix_server.confを編集し、StartVMwareCollectorsの値を1以上にします。
StartVMwareCollectorsの値は、書籍「Zabbix統合監視実践入門」ではESXiまたはvCenterの数の2倍を推奨しています。Zabbixの公式ドキュメントでは、ESXiまたはvCenterの1倍以上2倍以下を推奨しています。
# vi /etc/zabbix/zabbix_server.conf ### Option: StartVMwareCollectors # Number of pre-forked vmware collector instances. # # Mandatory: no # Range: 0-250 # Default: # StartVMwareCollectors=0 StartVMwareCollectors=2
zabbix-serverを再起動させ設定を反映させます。さらに、vmware collectorのプロセスが起動している事を確認します。
[root@zabbix081 ~]# systemctl restart zabbix-server.service [root@zabbix081 ~]# ps aux | grep -i vmware zabbix 2793 0.0 0.1 193968 4068 ? S 21:38 0:00 /usr/sbin/zabbix_server: vmware collector #1 2022/07/16 zabbix 2794 0.0 0.1 193968 4068 ? S 21:38 0:00 /usr/sbin/zabbix_server: vmware collector #2 2022/07/16 root 2821 0.0 0.0 221900 1080 pts/0 R+ 21:38 0:00 grep --color=auto -i vmware [root@zabbix081 ~]#
VMware監視設定
ホストの作成
ZabbixのVMware監視は、ESXiまたはvCenterのAPIを利用して情報を収集します。厳密に言えば、ESXiやvCenterのホストを作成する必要はありませんが、管理上の分かりやすさを考えて、ESXiやvCenterのIPアドレスを指定したホストを作成します。
この設定は必須ではありません。任意のホストにテンプレート「Template VM VMware」を適用すれば監視は開始されます。
テンプレートの適用
前述のホストに対してテンプレート「Templates/Template VM VMware」を適用します。
マクロの定義
適用されたテンプレートのディスカバリールールを見ると、マクロ「{$VMWARE.URL}」「{$VMWARE.USERNAME}」「{$VMWARE.PASSWORD}」が予め定義されている事が分かります。
マクロの設定画面へ遷移し、マクロ「{$VMWARE.URL}」「{$VMWARE.USERNAME}」「{$VMWARE.PASSWORD}」を定義します。「{$VMWARE.URL}」は以下URLを指定してください。なお、このURLはXMLのリクエストのみに応答するため、ブラウザや単純なcurlコマンドでは応答を返さない仕様になっています(「VMware kb1003218」)。
https://<ESXiまたはvCenterのIPアドレス>/sdk
監視結果の確認
設定投入後、ローレベルディスカバリが行われるよう1時間ほど放置します。
最新データの画面で仮想マシンが表示されるようになった事を確認します。
各仮想マシンの最新データを閲覧すると、CPU ready(ハイパーバイザがCPUリソースを割り当てられなかった時間)などのVMware固有の監視が実施されている事が確認できます。