可觀察性和狀態控制
1)目標和原則
目的:實時了解「發生了什麼」和「為什麼」,以警告事件並迅速恢復,而無需違反SLO或膨脹OPEX。
原理:SLO-first,「黃金信號」(latency, traffic, errors, saturation),單一遙測標準(OpenTelemetry),最低限度足夠的細節,可解釋性,成本可觀察性。
2)可觀察性層
1.度量標準:SLI/SLO、capacity和Trends (RED/USE模型)的聚合。
2.Traces:查詢、支付和遊戲交易的因果鏈。
3.Logi/Events:操作員/服務活動的詳細上下文和審核。
4.合成(black-box):外部API/Web路徑檢查,PSP/KYC hels-ping。
5.RUM(實際用戶):前線度量(TTFB,LCP,JS錯誤),地理/斷層。
6.低級遙測:eBPF/Profyling CPU/IO/alloc,網絡感應延遲。
3)SLI套件和「黃金信號」
Latency: p50/p95/p99按關鍵路徑(登錄、存款、出價、出價)。
Errors: 5xx/timeout/decline的份額(提供商/銀行正常化)。
Traffic/Throughput:RPS/TPS,活動會話,事件/秒。
Aturation: CPU/RAM/IO下載、隊列深度、池使用、復制頁。
業務SLI:每個窗口的成功存款/利率百分比,KYC/PSP轉換偏差,chargeback份額。
4)遙測架構
標準化無花果:OpenTelemetry SDK/collector →規範化、采樣、隱私過濾器→存儲(TSDB、跟蹤、日誌)。
相關性:邏輯和度量標準(exemplars)中的trace-id/span-id;單一correlation-id用於支付/遊戲事件。
拓撲:服務mapa(服務圖形),具有實時SLI的從屬外部提供商。
成本管理:可信度,聚合,動態采樣,「熱「/」冷」存儲類別。
5)度量: 設計與基數
規則:少量標簽,在時間系列中禁止高密度(userId,sessionId);此類細節-僅在軌道/logi中。
RED/USE: Requests-Errors-Duration для API;用於基礎架構的Utilization-Saturation-Errors。
Exemplars:將高感應器綁定到特定的跟蹤示例。
業務指標:$/RPS,按銀行/GEO轉換的PSP,提供商的容錯能力。
6) Tracing: 深度和采樣
上下文:通過前沿的跟蹤上下文→ API →經紀人→經紀人→ DB/PSP。
采樣:基本1-10%,異常情況下的動態規則提升(基於尾巴)。
焦點:支付流(init → auth → capture/settle)、遊戲交易(bet → settle)、KYC(init → verify)。
註釋:PSP應答碼,bank-BIN/issuer類別,區域,風險範圍。
7)記錄和審計
結構化日誌:JSON, Profile Level (Prod上的INFO,調試中的DEBUG)。
隱私過濾器:掩蓋PII,禁用KYC的原始文檔。
審核事件:誰/什麼/何地/何時/為何,ID字幕,高風險操作(獎金、限額、PSP路由)的前/後值。
不可更改性:WORM/immutable,簽名,策略重構。
8)病情控制(健康)
Liveness/Readiness/Startup:正確的樣本(不檢查外部依賴性)。
Degraded mode:明確的服務降級標誌,以便異物和狀態頁面保持一致。
Budget health:burn-rate錯誤預算(快速/慢速窗口),按資源和隊列排隊。
9)警戒和預警
SLO-alerta:根據錯誤預算(4小時和1小時窗口)而不是「原始」p95。
異常:STL/IQR/在線檢測器用於 5xx爆發,特定GEO/罐中的 PSP授權下降。
Root-cause hints:將Alerts 與最新版本/ficheflags/計劃工作聯系起來。
Runbooks:每個警報都有花花公子、圖形、「快速檢查」的鏈接。
10)Dashbords(誰和看到什麼)
高管:藥房/SLO,burn-rate,成功存款/利率,提供商狀態,容量預測和$/RPS。
SRE/平臺:RED/USE按服務,隊列/lag,池使用,repliclag,CDN/WAF,eBPF profile。
Payments/Risk:PSP/銀行/GEO授權成功,軟/硬標記,KYC時間,chargeback早期信號。
支持/CS:事件狀態面板、SLA響應、FAQ宏。
11)可觀察性成本管理(FinOps-Observability)
重組:「原始」步道7-14天,總量更長;有選擇地-熱點服務。
Sampling/聚合:對異常進行動態采樣,降低舊行。
Ingest policy:切斷噪音(健康pings,多余的日誌),高堿度度量的配額。
KPI價值:$/GB ingest,$/trace,$/SLI dashboard;偶爾的食人族的咆哮。
12)隱私和合規性
PII/財務:隱蔽、令牌化、遙測數據最小化。
地理位置化:管轄範圍內的存儲和處理;邏輯導出-僅通過經批準的工作流進行加密和TTL。
遙測訪問審核:RBAC/ABAC,用於卸載的SoD,查詢日誌。
13)與事件管理和發布集成
狀態頁面:事件卡自動升級。
發布門: 金絲雀分析SLI,自動停止發布在burn-rate>閾值.
Mortem後:從軌道/登錄時間線,實際的SLI和違規窗口。
14)實用實施方法(8-12周)
奈德。1-2:關鍵路徑和SLI清單;堆棧選擇(OTel,TSDB,logi,軌道);依賴圖。
奈德。3-4:將OTel引入3-5項關鍵服務(登錄/存款/投註),基本RED/USE,跟蹤上下文到登錄。
奈德。5-6:SLO和burn-rate-alertes;PSP/KYC合成;第一個runbooks;RUM到Web/mobile。
奈德。7-8:動態采樣,exemplars,服務模式;Exec/SRE/Payments dashbords。
奈德。9-10:eBPF/熱瓶頸分析;隱私過濾器;配額/豁免。
奈德。11-12:SLI上的發布門和自動回滾;與狀態頁集成;tabletop教學。
15)工件模板
SLO服務卡:SLI,目標,窗口,錯誤預算,Alerta,所有者。
警報規格: 度量/條件,閾值,dedup/cylens,收件人,runbook.
儀表板規格:受眾,問題,6-8小部件,數據源,刷新率。
Telemetry Policy:哪些字段是允許的/禁止的,還原,掩蔽,導出。
Cost Review Pack: Top Series/Log Stream, Sampling/TTL優惠,預期節省。
16)可觀察性函數的KPI
MTTA/MTTR(引入SLO評分後的改進)。
在用戶投訴之前,合成/SLI檢測到的事件百分比。
在沒有人工幹預的情況下通過SLI門的版本比例。
降低遙測的$/RPS,同時保持診斷能力。
用關鍵路徑跟蹤覆蓋(>90%)。
相關性的準確性「狀態升級↔實際SLI」。
17)反模式
「我們都在計算」→成本爆炸和噪音。
通過「原始」度量來代替SLO/burn-rate → pager-fatigue。
高基數度量(userId)→ TSDB風暴。
沒有業務上下文的預告片(PSP/銀行/GEO)→沒有洞察力。
與發布/事件沒有可觀察性關系→遙測獨立存在。
底線
可觀察性和狀態控制不是一組工具,而是受控系統:正確的SLI/SLO →標準化的遙測和相關性→ SLO測距和運行手冊→與發行版和狀態通信的集成→成本管理操作和隱私。這樣的回路即使在極端的流量峰值下也能提供早期信號,快速RCA和業務可持續性。