2019年2月8日 星期五

[套件介紹]監測 Proxmox VE 服務運作健康狀況



Proxmox VE 上線運作以後,為了確保正常服務,應該要以服務監測工具進行自動化的檢測運作健康程度。

說來容易,但要監測 Proxmox VE 是否正常,該怎麼做呢?






套件介紹

早期我是自己寫簡單的 script 檢測,後來發現了一支熱心人士已經寫好的現成外掛,經過修改以後可以搭配我很喜愛使用的 LibreNMS 來檢測,非常好用。


check_pve


在 GitHub 上已經有人撰寫好現成的外掛,他原本是為了 Icinga2 這套監控程式而寫,功能極為完整。值得一提,它也有提供給 Grafana 使用的 metrics 輸出資訊,有使用 Grafana 的朋友可以試試。

在我的經驗裡,只要是撰寫給 Nagios、Icinga2 使用的 Plugin 外掛程式通常也可以被 LibreNMS 所使用,可惜 check_pve 不是。

為了讓 LibreNMS 也可以用它來檢測 Proxmox VE 的運作狀態,我另外 Fork 分支了一個修改版(參考資料第三項),讓搭配 LibreNMS 的朋友使用,若使用 Icinga2 者,可以取用原作者的版本。(參考資料第二項)






功能說明

check_pve 可以檢測的項目,列舉重點如下。

  • 檢查叢集 (Cluster) 健康狀況
  • 檢查節點 (Node) 服務建康狀況,主要是與 PVE 相關的服務
  • 檢查節點 (Node) CPU 負載程度
  • 檢查節點 (Node) 記憶體用率
  • 檢查節點 (Node) IO Wait 延遲狀況
  • 檢查節點 (Node) 磁碟 (Disk) 健康狀況
  • 檢查節點 (Node) 付費技術支援 (Subscription) 狀況
  • 檢查儲存 (Storage) 使用狀況
  • 檢查虛擬機器 (VM) 狀況,包含 CPU、記憶體、運作狀態等
  • 檢查複寫 (Replication) 狀態


對於 Proxmox VE 的資訊掌握已經相當足夠,尤其是節點服務的狀態檢查,更是曾讓我抓到奇怪的問題過。

使用方式相當簡單,請參閱參考資料的 GitHub 連結,按照說明檔中的 Setup 區段一步步設定完成即可。






使用結果

check_pve 這支外掛的使用方法,與 Nagios、Icinga2、LibreNMS 外掛安裝與設定方法均相同,可參考相關說明文件。

設定完成以後,在 LibreNMS 可以呈現這樣的成果:



LibreNMS 檢測狀況


以上圖為例,我們可以讓 LibreNMS 監測 Proxmox VE 的健康狀況,例如 Cluster 叢集服務、IO Wait 延遲狀況、套件更新狀況...等,可以很容易的一次掌握重要關鍵。

除了檢測狀態,更重要的是以此為數據,發現異常時立即推播警報給管理者,以達及早處理及早排除的功效。

透過 Telegram 推播服務異常警報








結論

利用 check_pve,我們可以讓檢查的動作自動化,警報發送的速度即時化,對於系統管理是相當重要的一環,更別說您的 PVE 上可能承載了企業所有重要的服務虛擬機器,更需要它。





參考資料