大綱

  • evidence package 的責任:把分散的 observability 資料包成可交給 reliability 與 incident response 的證據
  • 資料來源:log、metric、trace、audit log、dashboard、query、client-side signal、deployment event
  • 欄位:source、time range、owner、query link、data quality、confidence、known gap、retention
  • 跟 4.17 的關係:telemetry data quality 提供資料限制,evidence package 提供交接格式
  • 跟 6.23 的關係:可靠性驗證使用同一格式保存 experiment evidence
  • 跟 8.18 / 8.19 的關係:事故 intake 與 decision log 使用同一組 evidence link
  • 反模式:只貼 dashboard 截圖;query 沒有時間窗;evidence 沒標示 sampling / freshness 限制

Observability evidence package 的核心是把可觀測資料從「查詢結果」升級成「可交接證據」。事故與驗證需要一組能說明來源、時間窗、可信度、限制與 owner 的 evidence。

概念定位

Observability evidence package 是可觀測性模組交給可靠性驗證與事故處理的證據包,責任是讓 log、metric、trace 與 audit log 能被重用、回放與復盤。

這一頁處理的是交接格式。4.17 Telemetry Data Quality 說明資料是否可信;evidence package 說明如何把可信度、查詢入口與限制一起交給下游流程。

證據包的價值在於保存判讀上下文。只有截圖時,讀者看不到 query、時間窗、sampling、資料延遲與 owner;有 evidence package 時,後續 release gate、incident decision log 與 post-incident review 才能回放同一組事實。

Evidence 欄位

Evidence 欄位的責任是讓每個觀測證據都可查、可解釋、可追蹤。欄位不需要複雜,但要覆蓋事中判讀與事後復盤的最小需求。

欄位責任判讀用途
Source標示資料來源區分 log、metric、trace、audit
Time range標示查詢時間窗對齊 incident timeline
Query link保留可重跑查詢支援 handoff 與復盤
Owner指定可解釋資料的人避免 evidence 失去語意
Data quality標示 completeness / freshness防止資料限制被誤讀
Confidence標示 confirmed / suspected支援分級與決策
Known gap標示 missing signal 或 drift回寫 04 readiness 與 data quality
Retention標示保存期限支援 audit、PIR 與長事故

Source 欄位讓讀者知道 evidence 的能力邊界。Metric 適合看趨勢,log 適合看事件細節,trace 適合看路徑,audit log 適合看責任鏈。

Time range 是 evidence package 的基本欄位。事故前後 30 分鐘、部署期間、DR drill 時窗、burn rate 短窗與長窗都需要明確,否則同一張圖可能被不同人解讀成不同結論。

Query link 比截圖更重要。截圖適合溝通當下狀態,query link 才能讓下一班 on-call、可靠性 owner 或 PIR reviewer 重跑同一個判讀。

Data quality 欄位讓 evidence 保留限制。sampling ratio、ingest delay、schema drift、log drop、cardinality truncation 與 timestamp skew 都應直接出現在證據包中。

資料來源

Evidence package 的資料來源要按判讀責任分層。每一層回答的問題不同,下游使用時也要保留這個差異。

資料來源回答問題常見限制
Log單一事件發生了什麼schema drift、drop、PII masking
Metric趨勢是否偏離穩態聚合粒度、cardinality、延遲
Trace失效卡在哪個服務或依賴邊界sampling、async 斷鏈
Audit log高風險操作與責任鏈如何形成權限限制、retention、法規要求
Dashboard操作視角如何快速判讀面板版本、查詢成本、owner
Client-side signal使用者感知是否和 server 一致browser / region / device bias
Deployment event近期變更是否與異常時間線重疊rollout 粒度、feature flag owner

Log evidence 適合進入 incident intake。它要保留 request id、tenant、region、error class 與 trace id,讓事故候選能被查證。

Metric evidence 適合進入 SLO、release gate 與 steady state 判讀。它要保留時間窗、分母分子、聚合粒度與資料延遲,讓 burn rate 與容量判斷可回放。

Trace evidence 適合支援 dependency 與 async workflow 判讀。它要標示 sampling policy 與缺失 span,讓下游知道 trace 能支持到哪個邊界。

Audit log evidence 適合支援資安、資料修復與高風險操作。它要保留 access path、retention、masking 與 chain of custody 限制。

打包流程

Evidence package 的打包流程是從問題開始。先問下游要做什麼決策,再選擇足以支援該決策的資料與工具入口。

  1. 定義 evidence 要支援的決策:readiness、release gate、incident intake、decision log 或 PIR。
  2. 選擇最小資料集合:metric 看趨勢、log 看事件、trace 看路徑、audit 看責任。
  3. 補上 time range、query link、owner 與 data quality。
  4. 標示 confidence 與 known gap。
  5. 把缺口回寫到 4.16 readiness、4.17 data quality 或 4.18 operating model。

Readiness 用的 evidence package 要回答「服務是否能被判讀」。它重視核心旅程、依賴、dashboard、alert、trace 與 owner。

Reliability 用的 evidence package 要回答「驗證是否有結果」。它重視 steady state、stop condition、experiment timeline、SLO burn 與回復訊號。

Incident 用的 evidence package 要回答「事故是否需要啟動、升級或回退」。它重視 source、impact scope、confidence、decision log 與 stakeholder update。

資料庫 migration 用的 evidence package 要回答「資料語意是否能進入下一階段」。它重視 validation query、row count、mismatch sample、replication lag、slow query 與資料限制;完整服務路徑可接到 1.7 Schema Migration Rollout 證據

案例中的證據包判讀

證據包的價值要放回真實事故才看得清楚。Cloudflare 2019 與 AWS S3 2017 都不是「缺資料」,而是「資料若沒被包成可交接證據,決策會慢、通訊會亂、回寫會斷」。

Cloudflare 2019 的第一波判讀來自跨區 CPU、5xx 與 latency 同步惡化。這組訊號如果只有圖表截圖,團隊只能知道「全網變慢」;把 query link、time range、rule rollout event 與 confidence 一起交接,才能快速形成「先回滾規則」的決策。

AWS S3 2017 的關鍵是恢復分層:GET/LIST/DELETE 與 PUT 回線時間不同,且狀態頁通訊入口也受依賴影響。證據包若保留 subsystem 狀態、操作類型影響範圍與已知限制,對外更新才不會把「部分恢復」誤寫成「全面恢復」。

兩個案例共同指向同一個判讀原則:證據包要保留「能支持當下決策」的最小閉環,蒐集越多越好的思路反而製造噪音,至少包含事件時間窗、跨訊號對位、資料限制與決策責任人。

誤判風險與修正路徑

事故中的誤判多半源自證據包缺少判讀上下文,演算法本身很少是問題。當 evidence 只有結論沒有限制,下游就會把暫時訊號當成穩定事實。

誤判場景為何會誤判修正路徑
圖表短暫回穩就宣告恢復缺少時間窗與回線連續性門檻在 evidence 補 recovery window 與 steady state 對位
trace 看起來正常缺 sampling ratio 與 missing span在 evidence 補 data quality 與 known gap
對外說法過度樂觀缺 subsystem 分層狀態與限制說明在 evidence 補 scope / limitation / next update
回滾決策反覆缺 deployment event 與影響範圍對位在 evidence 補 rollout event、impact scope 與 owner
復盤找不到依據只留截圖,沒有 query 與時間窗在 evidence 補 query link 與 retention

修正路徑的核心是把 evidence package 當成事故中的工作物,而不是事故後整理物。當下有完整欄位,後續 8.19 決策紀錄才有可回放證據,8.22 回寫才有可追蹤缺口。

常見反模式

Evidence package 的反模式通常來自把資料貼出來就當作證據交接。證據需要上下文,否則只是一段輸出。

反模式表面現象修正方向
只貼 dashboard 截圖事後缺少可重跑查詢保留 query link 與 time range
Query 無時間窗同一查詢不同時間跑出不同結論標準化 time range
缺資料品質限制sampling / drop / delay 被忽略引用 4.17 data quality 欄位
Evidence 無 owner下游無人能解釋欄位語意指定 service / platform owner
Retention 未標示PIR 或 audit 時證據已過期標示 retention 與保存責任

只貼 dashboard 截圖會讓 evidence 失去可回放性。截圖可以當摘要,query、時間窗與資料限制則提供復盤與交接能力。

缺資料品質限制會讓下游高估證據。若 trace sampling 只保留 10%、log pipeline 有 drop、metric 有 ingest delay,這些限制要跟證據一起交接。

交接路由

  • 4.16 observability readiness:補 evidence package 所需的訊號入口
  • 4.17 telemetry data quality:標示 completeness、freshness、drift 與 sampling 限制
  • 4.18 operating model:指定 evidence owner、retention 與 review cadence
  • 1.7 Schema Migration Rollout 證據:把 validation query 與資料限制包成 migration gate 可用的證據
  • 6.23 verification evidence handoff:把驗證結果包成同一格式
  • 8.18 incident intake:把 evidence package 轉成事故候選
  • 8.19 incident decision log:把 evidence package 連到事中決策