31 lines
1.4 KiB
Markdown
31 lines
1.4 KiB
Markdown
|
|
# 可觀測性設計 (Observability Design) 知識合約指南
|
|||
|
|
|
|||
|
|
## 概述
|
|||
|
|
`observability-design` 是知識合約,用來提供可觀測性設計的原則與模式。涵蓋 Logs、Metrics、Traces、Correlation IDs、Alerts 與 SLOs。供 `design-architecture` 在定義 Observability Strategy 時參考。
|
|||
|
|
|
|||
|
|
## 核心原則
|
|||
|
|
### 可觀測性三支柱
|
|||
|
|
- **Logs**:離散事件,含上下文(誰、什麼、何時、何地)
|
|||
|
|
- **Metrics**:時間聚合的數值測量(速率、長條圖、Guage)
|
|||
|
|
- **Traces**:跨服務端到端請求流
|
|||
|
|
|
|||
|
|
### 可觀測性不是監控
|
|||
|
|
- 監控告訴你什麼時候壞了(已知未知)
|
|||
|
|
- 可觀測性讓你能問為什麼壞了(未知未知)
|
|||
|
|
- 必須從一開始就內建可觀測性,不能事後追加
|
|||
|
|
|
|||
|
|
## 設計重點
|
|||
|
|
- **Logs**:Log 等級、結構化 Log(JSON)、集中式 Log 聚合
|
|||
|
|
- **Metrics**:Counter、Gauge、Histogram、Summary;命名慣例
|
|||
|
|
- **Traces**:分散式追蹤、Correlation ID 傳播、Span 設計
|
|||
|
|
- **Alerts**:症狀警報、非操作警報;閾值與升遷路徑
|
|||
|
|
- **SLOs**:可用性、延遲、正確性;Error Budget 與 Burn Rate Alerting
|
|||
|
|
|
|||
|
|
## 知識合約職責
|
|||
|
|
- 提供可觀測性設計的理論指引
|
|||
|
|
- 不直接產生監控設定或警報配置
|
|||
|
|
|
|||
|
|
## 不應做的事
|
|||
|
|
- 不替系統選擇特定可觀測性工具
|
|||
|
|
- 不定義具體的指標名稱或警報閾值
|
|||
|
|
- 不產生監控設定檔案
|