今天跟大家分享將 VMware ESXi vSphere 也加入監控,原本我是預計使用 SNMP ,但是後來參考官方的文章,發現只要一組帳號密碼就可以了。

我是參考這份文件實作

https://www.zabbix.com/integrations/vmware

主要以下步驟

1. Compile zabbix server with required options (–with-libxml2 and –with-libcurl)

檢查正常(如果沒有可能要找一下原因,我預設有就有了)

 ldd /usr/sbin/zabbix_server | egrep 'libxml2|libcurl'

找到

libxml2.so.2 => /lib/x86_64-linux-gnu/libxml2.so.2 (0x00007feb0ad26000)
libcurl.so.4 => /lib/x86_64-linux-gnu/libcurl.so.4 (0x00007feb0a865000)

2. Set the StartVMwareCollectors option in Zabbix server configuration file to 1 or more


設定為1

vim  /etc/zabbix/zabbix_server.conf
StartVMwareCollectors=1

3. 記得重啟服務

systemctl restart zabbix-server

4. 匯入樣板

下載樣板(依樣不要選擇最新的 master 版本,請選擇跟 server 合用的)
https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/vmware/template_app_vmware.xml?at=refs%2Fheads%2Frelease%2F5.0
到樣板功能(Templates)點選右上角 import 按鈕,將 template_app_vmware.xml 上傳,所有選項都預設就好了。

5. Create a new host

這裡的 Interfaces 填寫 127.0.0.1 或是 ESXi IP 都可以,因為用不到,跟之前做法都不一樣,但是官方建議所以應還算穩定吧。

6. Set the host macros (on host or template level) required for VMware

這步驟到 Macros 分頁進行增加巨集參數

  • {$VMWARE.URL} : https://ESXi_URL/sdk (SSL憑證要過喔,不然會有問題)
  • {$VMWARE.USERNAME} : ESXi使用者帳號 (這邊只給予帳號唯讀的角色)
  • {$VMWARE.PASSWORD} : ESXi使用者密碼

7. Link the template to host created early

這步驟到 Templates 分頁進行增加樣板
Template VM VMware

完成後要等一下子喔(其實有點久XD)

8. Last Data 呈現

驚人的還在後頭(再過了很久)
他把我在 ESXi 的所有主機也都自己 Discover VMware VMs 自動匯入了,數據也都進來了,可喜可賀。

是說目前觀察好像只有蒐集資料,有嘗試故意斷網,但觸發器並沒有觸發,之後應該要想辦法整合。

官網手冊下方有更進階的設定(內有提到設定觸發器)可以參考一下
https://bestmonitoringtools.com/vmware-monitoring-with-zabbix-esxi-vcenter-vm-vsphere/

結論

監控 vSphere 之前學弟妹都沒有成功過,所以這次藉由這次30天鐵人賽再次研究,深怕定了標題結果開天窗XD~

內容如有介紹不周的地方,再麻煩大家提點,感激不盡。
同步發表 2021鐵人賽 再麻煩大家多多指教 謝謝

By zyxu