可觀測性演進史
網路監測階段
使用SNMP監控硬體狀態(CPU使用率、記憶體等),管理員透過閾值警報進行網路輪詢,奠定基礎監測架構。
服務監測階段
引入主機檢查與服務檢查,透過紅綠燈儀錶板顯示服務狀態,實現服務層級的即時監測。
監測階段
進階儀錶板與深度洞察,透過指標監測服務健康狀態,提升異常檢測能力。
可觀測性階段
整合日誌(Logs)、指標(Metrics)、追蹤(Traces),形成三支柱模型:
- Logs:說明發生了什麼
- Metrics:說明發生時間
- Traces:說明發生位置
擴展至六支柱模型
新增效能剖析(Profiling)、真實用戶監測(Real User Monitoring)、合成測試(Synthetic Testing),提升端到端可視性與主動監測能力。
AI驅動的可觀測性
人工智慧捕捉人類可能忽略的異常,OpenTelemetry標準化數據採集,推動可觀測性進入智能化階段。
調試流程與追蹤價值
典型調試步驟
- 接收異常警報(用戶投訴、監測通知等)
- 透過Matrix儀錶板尋找異常服務(尖峰/下降/模式變化)
- 針對特定服務檢視追蹤數據(Trace)
- 分析請求路徑與根因
追蹤的核心價值
- 提供完整請求路徑可視性
- 透過時間序列圖(Duration over Time)快速定位異常
- 紅點(錯誤追蹤)與紫色點(正常追蹤)視覺化差異
- 高時長追蹤(大點)與低時長追蹤(小點)直觀對比
採樣問題與挑戰
採樣率的矛盾
常見1%採樣率(每100個追蹤僅保留1個),結果可能遺失關鍵錯誤追蹤(針)。例如:10億筆交易/日 → 10億筆追蹤 → 100萬筆採樣追蹤(無錯誤)。
採樣問題的根源
- 數據體積過大:每日100億筆交易 → 3萬億個跨度(Spans),每個Span約2KB → 累計6PB數據,存儲需求:60臺SSD伺服器/日
- 處理開銷:跨雲端協調、資料結構管理,影響應用性能
尾部採樣(Tail Sampling)的限制
需保留錯誤/慢速追蹤,但當前大多數廠商不支援或收費昂貴。技術難點包括:
- 必須完整收集Span至請求結束
- 跨雲端協調與資料結構管理
解決方案與技術優化
列式儲存(Columnar Storage)
針對同類數據壓縮(如時間戳、字串、數值),壓縮率提升10-20倍。範例:
- 時間戳使用Delta編碼
- 字串使用字典編碼
- 數值使用Bit Packing
概率過濾器(Probabilistic Filters)
Bloom Filter加速Trace ID存在性檢查,節省空間並作為輕量索引。
分區策略(Partitioning)
- 時間戳分區:快速存取近期數據
- Trace ID分區:同一Trace ID的Span集中存儲,提升查詢效率與平行處理能力
特殊儲存結構(Special Sharding)
分離錯誤與慢速Span至專用儲存,降低查詢複雜度:
- 透過Trace ID表 → 關聯Span表 → 直接查詢錯誤Span
- 查詢效率提升50-100倍
分層儲存架構(Tiered Storage)
- 熱儲存(0-7天):高性能SSD
- 溫儲存(8-30天):成本效益HDD
- 冷儲存(>30天):物件儲存(S3/GCS)
- 自動化數據遷移:依數據年齡分類,提取錯誤/慢速Span至專用儲存
成本優化策略
針對1%錯誤數據優化儲存,專用儲存結構降低存儲與查詢成本,提升根因診斷效率與MTTR(平均修復時間)。
核心結論
追蹤的價值
提供最高保真度的根因診斷,完整系統狀態可視化。
採樣的風險
過度採樣導致盲點與調試困境,需平衡數據體積與診斷準確性。
技術解決方案
列式儲存 + 智能分片 + 效率索引,降低存儲成本與查詢延遲,提升系統可觀測性與主動監測能力。