iT邦幫忙

2023 iThome 鐵人賽

DAY 6
0
資訊處理流程 生成 收集 儲存 使用
Exporter

Architecture

當你發現使用的 Windows 系統變得卡頓,通常會怎麼做呢?一般來說,我們會按下 CTRL + ALT + DEL,打開工作管理員,查看是不是 CPU 或 Memory 出現滿載的狀況。這種幾乎成為反射性動作的習慣,其實就是我們最早接觸到「系統資源指標」的時刻。然而,這種方法主要適用於具有圖形使用者介面的系統。因此,在一般維運情境下,我們會使用稱為「Exporter」的工具來取得這些系統資源指標,並可搭配 Prometheus 進行數據收集。以下將盤點幾個常見的 Exporter:

Node Exporter

由 Prometheus 開源的 Node Exporter 是大家最常用的一種,主要用來監控 Linux Server 的各項資源,包括 CPU、Memory、磁碟空間和網路狀態等。之所以叫做「Node Exporter」,是因為在分散式架構中,每一台獨立的機器都被稱為一個「Node」(節點)。

可以參考搭配的 Grafana Dashboard:Node Exporter Full

Node Exporter Full
Node Exporter Metrics Grafana Dashboard,圖片來源:Node Exporter Full

Windows Exporter

對於 Windows 的伺服器,Prometheus 提供了類似 Node Exporter 的 Windows Exporter

可以參考搭配的 Grafana Dashboard:Windows Exporter DashboardWindows Exporter Dashboard 20230531-StarsL.cn

Windows Exporter Dashboard
Windows Exporter Metrics Grafana Dashboard,圖片來源:Windows Exporter Dashboard

DCGM-Exporter

隨著 AI 技術的崛起,GPU 資源的監控變得越來越重要。NVIDIA 利用 DCGM(Data Center GPU Manager)開發出了 DCGM-Exporter,專門用於監控 GPU Memory 用量、溫度等。

可以參考搭配的 Grafana Dashboard:NVIDIA DCGM Exporter Dashboard

NVIDIA DCGM Exporter Dashboard
DCGM-Exporter Metrics Grafana Dashboard,圖片來源:NVIDIA DCGM Exporter Dashboard

cAdvisor

cAdvisor 是由 Google 開源專門用於監控 Container 的工具。它不僅提供 Web UI 供使用者檢視,也預設支援 Prometheus 格式的 Metrics,可直接供 Prometheus 收集。

cAdvisor Web UI
cAdvisor Web UI 檢視 Grafana 畫面

其他 Exporter

除了與硬體和機器相關的 Exporter 之外,軟體服務也經常透過 Exporter 揭露各種指標。如果你需要某個特定服務的指標,可以先至 Prometheus 官網的 Exporter 介紹頁面查詢,或在 Google 中搜尋該服務名稱加上「Exporter」,便能找到相對應的工具。包括 PostgreSQL ExporterMySQL Server ExporterRedis Exporter、Kafka Exporter 等。

Lab

範例程式碼:06-exporter

Quick Start

  1. 啟動所有服務

    docker-compose up -d
    
  2. 檢視服務

    1. Prometheus: http://localhost:9090
    2. Node Exporter: http://localhost:9100
    3. CAdvisor: http://localhost:8080
    4. Grafana: http://localhost:3000,登入帳號密碼為 admin/admin
  3. 關閉所有服務

    docker-compose down
    

Goals

  1. 建立 Prometheus,爬取 Node Exporter 與 cAdvisor 的 Metrics
  2. 建立 Node Exporter,取得 Host 的 Metrics
  3. 建立 cAdvisor,取得 Container 的 Metrics
  4. 建立 Grafana,透過 Provisioning 的方式建立 Prometheus Data Source 與 Dashboard,Dashboard 包含:
    1. CAdvisor exporter:視覺化呈現 cAdvisor 的 Metrics 於 Dashboard
    2. Node Exporter Full:視覺化呈現 Node Exporter 的 Metrics 於 Dashboard

小結

透過各種訂製的 Exporter,能快速掌握硬體與軟體的現況。搭配社群提供的 Grafana Dashboard,你馬上就可以化身一名看似專業的系統維運人員,信手拈來的便是各種五彩繽紛、不停跳動的 Dashboard。然而,單純引用別人的智慧結晶,並不會讓我們真正了解為何要進行這些監控。下一篇,我們將討論這些 Dashboard 背後的設計邏輯與準則,讓你能真正掌握這些智慧。


上一篇
Prometheus - 照亮來時路與前方途的火炬
下一篇
Monitoring Best Practices - 監控的黃金法則
系列文
時光之鏡:透視過去、現在與未來的 Observability30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言