2019年2月17日 星期日

[經驗分享]以 netdata 強化 Proxmox VE 效能監視戰力



在 Proxmox VE 的 WebUI 上,儀表板已經俱備效能圖表的顯示功能,但仍然有些不足之處,例如:

  • 保存的資料時間有限,超過圖表範圍就看不見
  • 無法自由的放大或縮小刻度顯示
  • 分鐘級的更新頻率,對於秒級變化的效能無法感知


而在前幾天的文章中,我們也提到如何搭配其它套件來加強 Proxmox VE 的效能監視部份,不過當時僅就 DISK I/O 部份討論。

今天我們就來針對 netdata 應用在 Proxmox VE 之時,有那些可以觀看的指標,以提升問題定位的作業速度。









安裝套件

netdata 安裝非常簡單快速,到官網上就有完整的說明。

netdata


請到 netdata 專案 GitHub 網站,在網頁中搜尋 Quick Start 的字樣。

netdata 快速安裝


在 netdata 說明頁面上,提供的懶人包式的一行安裝,在幾乎所有的 Linux 發行版本都可以此用這個方法進行快速安裝。
一行安裝 netdata
bash <(curl -Ss https://my-netdata.io/kickstart.sh)

執行至所有流程都成功以後,請以瀏覽器輸入 http://ip:19999,即可開始享用 netdata。









效能指標

開啟 netdata 畫面以後,映入眼廉的是精美的圖表,即時的更新,並且是深色系的科技感佈景主題。

netdata 深色佈景主題


如果不習慣或是不喜歡深色佈景主題,可以點選頂端列的齒輪圖示 > Visua 頁籤 > 將 Dark 切換為 White 即可。

netdata 淺色佈景主題


我相信,絕大多數的朋友看完淺色佈景主題後又會切回去深色主題。






NODE 節點


對於 PVE 節點原本的 WebUI 儀表板數據,在 netdata 裡全都可以找到相對應的圖表呈現。


NODE 節點 CPU


請展開右方清單的 CPU 即可觀看。

觀看節點 CPU 圖表


此處的 CPU 使用率可以查看每一個核心的個別情況,若要查看總量,請點選右方清單 System Overview 裡的 CPU 即可。


NODE 節點 IO Delay


請展開右方清單 System Overview 裡的 CPU,並只點亮圖表中的 iowait 這個項目。

觀看節點 IO Delay 圖表


NODE 節點 Memory


請展開右方清單的 Memory 即可觀看。

觀看節點 Memory 圖表



NODE 節點 KSM


請展開右方清單的 Memory ,並點選下方的 deduper (ksm) 即可觀看。

觀看節點 KSM 圖表



NODE 節點 Swap


請展開右方清單的 System Overview,並點選下方的 Swap 即可觀看。

觀看節點 Swap 圖表



NODE 節點 Disk I/O


請展開右方清單的 Disks,再點選要觀看的磁碟名稱即可。

觀看節點 Disk I/O 圖表



NODE 節點 ZFS


請展開右方清單的 ZFS filesystem,再點選要觀看的項目即可。

觀看節點 ZFS 圖表


在 ZFS 項目裡,提供了 ZFS 效能關鍵的 ARC 與 L2 ARC Size 資訊,以及歸類在 accesses 裡的 ZFS 與 L2 ARC 讀寫資料量,還有 efficiency 下的 Cache Hits 快取命中率。

這些資訊對於 ZFS 效能的掌握以及調校提供了非常重要的參考資訊,在過去我們會使用命令列的 arcstat.py 與 arc_summary.py 來取得這樣的資訊,但 netdata 以圖表即時呈現,就是可以讓我們更輕易一目瞭然,加速作業能力。





KVM 虛擬機器


在 netdata 裡,要獨立觀看 PVE 節點下的 KVM 虛擬機器情況,可以在右方的清單中找到以 qemu 開頭的項目,在 qemu.slice 名稱後面的三位數字,就是對應 PVE 給客體機所編號的三位數 VMID。


KVM 虛擬機器 CPU


點選後即可觀看該虛擬機器的 CPU 使用率圖表。

觀看虛擬機器 CPU 圖表



KVM 虛擬機器 Network


接下來,請在右方清單找到 Network Interfaces,展開後可以找到 tap 開頭的項目,後方接著的三位數同樣是 VMID,點選後即可查看虛擬機器的網路流量。

觀看虛擬機器的網路流量圖表


若同一台虛擬機器配有兩張以上的網卡,則可以從名稱的最後一位數判斷。例如 tap104i0 表示為 104 這台虛擬機器的第一張網卡,tap104i1 表示為 104 這台虛擬機器的第二張網卡,依此類推。



KVM 虛擬機器 Memory


虛擬機器的 Memory 記憶體使用量,目前在 netdata 上仍無法個別查看。




KVM 虛擬機器 DISK


若要查看虛擬機器的 DISK 讀寫使用率,只能用在使用 ZFS Block Level 形式的才可以,請搭配「[經驗分享]找尋虛擬機磁碟 I/O 效能問題所在」這一篇所提到的技巧先找到對應的 zdN 設備名稱,再於右方清單展開 Disks,點選裡面的 zdN 以查看圖表。

觀看虛擬機器的磁碟讀寫量圖表










LXC 容器


至於 LXC 容器,則會直接以該容器在 PVE 中所命名的方式出現,請在右方清單直接點選即可。



LXC 容器 CPU


展開 LXC 容器名稱後,下方點選 CPU 即可查看使用率圖表。

觀看容器 CPU 圖表




LXC 容器 Network


展開 LXC 容器名稱後,下方點選網卡名稱 (如 eth0) 即可查看使用率圖表。

觀看容器的網路流量圖表



LXC 容器 Memory


展開 LXC 容器名稱後,下方點選 Memory 即可查看使用率圖表。

觀看容器 Memory 圖表




LXC 容器 DISK


容器的 DISK 磁碟讀寫量,目前在 netdata 上仍無法個別查看。








結論

善用各種同樣是開源的工具,可以讓我們在使用 Proxmox VE 時如虎添翼,直線式的往上拉升工作效率,這就是開源的能量,開放的力量。






參考資料