本篇提問
- 常見的監控指標和 PromQL 有哪些?
- Prometheus Server 的讀寫流程是怎樣的?
Prometheus 讀寫流程
前面的文章介紹了 Prometheus Server 的各模組。然而還沒有演示一遍完整的讀寫流程。包括:
- scrape.Manager 拉到樣本後,如何寫入 storage
- rule.Manager 計算規則後,如何寫入 storage 並觸發 Alert
- web.Handler 如何解讀 PromQL,並讀取 storage 的資料
常見的監控需求
為了演示 Prometheus Server 的讀寫流程,我們先來看一些常見的監控需求。並寫出相對應的指標和 PromQL,再來分析它們在 Prometheus Server 的運作流程。
一些常見的監控需求有:
- 在有很多 docker 容器執行相同映像的情形下,檢查 CPU / Memory 使用率第二高的容器。以決定是否要增加容器數量。
- 視覺化 Message Queue 裡的 Message 數量,並在 Message 數量過高時觸發警報。
- 視覺化 http 服務上下游 API 的流量。
- 當單一 API 的錯誤率、P99 時長達到一定程度時,觸發警報。
- 監控業務數據的分佈,例如:訂單金額分佈。
接下來的文章會先實作這些監控需求,再來分析 Prometheus Server 的運作流程。