Metrics
Metrics 的核心概念是「用可聚合數值描述系統行為的時間序列」。常見指標包括 request count、error rate、latency、queue depth、consumer lag、CPU、memory、connection pool 使用量與 cache hit rate。
概念位置
Metrics 是趨勢觀測跟 alert 的基礎。跟 log(事件明細)跟 trace(跨服務路徑)互補:log 適合查單一事件的細節,trace 適合看一次 request 的路徑,metrics 適合回答「服務是否在變慢、錯誤是否在增加、容量是否接近上限」。
Metrics 有三種基本型別:counter(累積計數、只增不減)、gauge(瞬間值、可增可減)、histogram(分布、支援 percentile 計算)。選錯型別會讓後面的 SLI、dashboard 跟 alert 建立在錯誤訊號上。
使用情境
系統需要 metrics 的訊號是團隊需要在使用者回報前知道服務異常。Checkout p95 latency 上升、Redis timeout 增加、broker lag 擴大,都應先從 metrics 看見。
設計責任
Metrics 設計要選擇正確的型別(latency 用 histogram、request count 用 counter、connection pool size 用 gauge)跟有界的 label(service、method、status_code,排除 user_id / request_id)。重要指標要能對應 SLI / SLO 跟 runbook;高 cardinality label 會推高儲存跟查詢成本。Metrics 的聚合查詢跟 recording rule 設計見 4.2 metrics basics。