監控節點的度量指標:Grafana 串接 Prometheus

監控節點的度量指標:Grafana 串接 Prometheus

前面的討論中,我們可以用 Prometheus 去監控 End Devices,但 Prometheus 內建的 Dashboard 只是為了開發用,缺乏許多進階功能,在真正需要資料視覺化時並不方便。因此 Prometheus 通常會跟 Grafana 搭配使用。

Grafana 是一套開源的 Dashboard 平台,之前開發產品時,有用過 Grafana 來呈現 Database 中的資料。其實用起來還是偏 Monitor Host,並不適合用在 Domain Data Visualization,但在開發初期,我們可以先借用 Grafana 的呈現能力來確認方向(反正開發初期規格會一直修改,重要的是工具能否快速調整,實不實用倒是其次)。

Install Grafana

跟 Prometheus 一樣,用 docker 來安裝

docker run -p 3000:3000 --user root --name grafana -v "$PWD"/docker/grafana:/var/lib/grafana grafana/grafana &

用 -p 將 port forward 到 3000;用 -v 將 grafana 內的資料 bind 到家目錄的資料夾。

安裝完成後,在瀏覽器輸入 URL,應該能看到登入畫面

Setup Data Source

輸入預設的帳號密碼 admin:admin 後登入

需要在 Grafana 中加入 Data source,Grafana 才知道要去哪裡抓資料,點選 Add data source 的圖示

第一個就是 Prometheus,不用猶豫,點下去

在 URL 中輸入 Promethues 的 URL,port 沒改的話就是 9090。儲存並測試。

Create Dashboard

有了資料來源後,要緊接著加入 Dashboard,Grafana 有提供 Prometheus 的範例 Dashboard,我們來看看

點選上方的 Dashboards 分頁,加入預設的 Dashboard

華麗的 Dashboard 就跑出來了!是不是很簡單!雖然這張表的數據不是我們要的,但光看就是很威啊。

Add Panel

有了範例後,參照 Grafana 的說明慢慢手動調整各個 Panel,就能調出想要的效果啦。假設今天想 Monitor end devices 的 CPU usage,我們可以加入一個新的 Panel

用 Add Query 加入查詢式

查詢式用的是 Prometheus 的查詢語言 PromQL,照樣輸入

100 - (avg by (instance) (irate(node_cpu_seconds_total{job="node",mode="idle"}[5m])) * 100)

查詢結果就自動變成圖表了。

小結

以 Dashboard 來講,Grafana 真的很強大,呈現的樣式多,查詢語言容易上手,但是 Grafana 不適合用來進行資料處理,如果需要呈現處理後的資料,而查詢語言本身又沒有相關的聚合指令的話,記得先處理完後再丟進 Database,或者在 Database 跟 Grafana 中間加入一個中間層,不要用 Grafana 硬幹。

Reference

Read more

Weekly Issue 第 3 期:Cloudflare 宣布內容獨立日

最近用了很多 Cloudflare 的產品,像是 Zero Trust、WARP,還有 Cloudflare Tunnel。每次的體驗都讓我嘖嘖稱奇,好像它們預判了我的需求一樣。這家公司始終追求著「更好的網路」這個目標,內容付費又是另一個例子。 🗞️ 熱門新聞 Content Independence Day: no AI crawl without compensation! 賽博佛陀 Cloudflare 又來普渡眾生了。這次是針對 AI 爬蟲收費。 「網路正在改變。它的商業模式也將改變。在這個過程中,我們有機會從過去 30 年網路的優點中學習,並為未來的網路創造更好的環境。 」 Cloudflare 真的很有意思,連思考的角度都很有趣。 內容當然是有價的,只是價格會怎麼支付呢?在現代的內容創作,這題變得非常複雜。 Folklore.org: Joining Apple Computer

By Ken Chen

Weekly Issue 第 2 期:Linux 基金會啟動 FAIR 專案

有些產品看到會覺得行不通,有些產品則相反,只要聽到就覺得是個好主意。Sentry 的產品通常都是後者。我猜有部分,也是因為它們的產品都指向同一個使命:可除錯性。 🗞️ 熱門新聞 Linux Foundation Announces the FAIR Package Manager Project for Open Source Content Management System Stability Linux 基金會啟動 FAIR 專案,為 WordPress 外掛程式提供替代方案。 底下的 Supporting Quotes 可以看看,講話都很客氣,左一句「去中心化」右一句「透明的治理架構」,在講什麼大家都很清楚 😜 。 Uber 與 Airbnb 重塑 VC 玩法,一文看懂 a16z 創辦人

By Ken Chen

Weekly Issue 第 1 期:Stack Overflow 流量大跌

來自阮一峰老師的靈感與嘗試,我會在 Weekly Issue 中記錄每周值得分享的科技內容,周一發刊。多數內容都有刊在我的 X、Threads 或 Facebook 中,你可以追蹤上述社群媒體得到最新消息。這裡的性質更接近單周回顧與歷史歸檔。 🗞️ 熱門新聞 The Pulse #134: Stack overflow is almost dead StackOverflow 的情況比我想的還糟,退化到剛成立三個月的狀況?太要命了。 我自己好奇的是 2020 年的衰退如何引起?平台治理的問題嗎? Cloudflare service outage June 12, 2025 Cloudflare 近幾次中斷事故都有出報告,內容包括背景跟時間軸,還有改善方式,這是很正確也很重要的實踐。 我也曾經遇過幾次重要的服務停機事件,當時都會盡可能擠出時間即時更新 + 出報告。後來服務也的確越來越穩。這種問題很多都是文化層面的問題。 Ask HN: How

By Ken Chen