資訊處理流程 | 生成 | 收集 | 儲存 | 使用 |
---|---|---|---|---|
Exporter | ✓ |
當你發現使用的 Windows 系統變得卡頓,通常會怎麼做呢?一般來說,我們會按下 CTRL + ALT + DEL,打開工作管理員,查看是不是 CPU 或 Memory 出現滿載的狀況。這種幾乎成為反射性動作的習慣,其實就是我們最早接觸到「系統資源指標」的時刻。然而,這種方法主要適用於具有圖形使用者介面的系統。因此,在一般維運情境下,我們會使用稱為「Exporter」的工具來取得這些系統資源指標,並可搭配 Prometheus 進行數據收集。以下將盤點幾個常見的 Exporter:
由 Prometheus 開源的 Node Exporter 是大家最常用的一種,主要用來監控 Linux Server 的各項資源,包括 CPU、Memory、磁碟空間和網路狀態等。之所以叫做「Node Exporter」,是因為在分散式架構中,每一台獨立的機器都被稱為一個「Node」(節點)。
可以參考搭配的 Grafana Dashboard:Node Exporter Full
Node Exporter Metrics Grafana Dashboard,圖片來源:Node Exporter Full
對於 Windows 的伺服器,Prometheus 提供了類似 Node Exporter 的 Windows Exporter。
可以參考搭配的 Grafana Dashboard:Windows Exporter Dashboard、Windows Exporter Dashboard 20230531-StarsL.cn
Windows Exporter Metrics Grafana Dashboard,圖片來源:Windows Exporter Dashboard
隨著 AI 技術的崛起,GPU 資源的監控變得越來越重要。NVIDIA 利用 DCGM(Data Center GPU Manager)開發出了 DCGM-Exporter,專門用於監控 GPU Memory 用量、溫度等。
可以參考搭配的 Grafana Dashboard:NVIDIA DCGM Exporter Dashboard
DCGM-Exporter Metrics Grafana Dashboard,圖片來源:NVIDIA DCGM Exporter Dashboard
cAdvisor 是由 Google 開源專門用於監控 Container 的工具。它不僅提供 Web UI 供使用者檢視,也預設支援 Prometheus 格式的 Metrics,可直接供 Prometheus 收集。
cAdvisor Web UI 檢視 Grafana 畫面
除了與硬體和機器相關的 Exporter 之外,軟體服務也經常透過 Exporter 揭露各種指標。如果你需要某個特定服務的指標,可以先至 Prometheus 官網的 Exporter 介紹頁面查詢,或在 Google 中搜尋該服務名稱加上「Exporter」,便能找到相對應的工具。包括 PostgreSQL Exporter、MySQL Server Exporter、Redis Exporter、Kafka Exporter 等。
範例程式碼:06-exporter
啟動所有服務
docker-compose up -d
檢視服務
http://localhost:9090
http://localhost:9100
http://localhost:8080
http://localhost:3000
,登入帳號密碼為 admin/admin
關閉所有服務
docker-compose down
透過各種訂製的 Exporter,能快速掌握硬體與軟體的現況。搭配社群提供的 Grafana Dashboard,你馬上就可以化身一名看似專業的系統維運人員,信手拈來的便是各種五彩繽紛、不停跳動的 Dashboard。然而,單純引用別人的智慧結晶,並不會讓我們真正了解為何要進行這些監控。下一篇,我們將討論這些 Dashboard 背後的設計邏輯與準則,讓你能真正掌握這些智慧。