GH GambleHub

SLA、SLO和KPI可靠性

1)術語和區別

SLI(服務級別指標)-可測量的質量指標(例如,成功查詢的比例,p95潛伏期)。
SLO(服務級別目標)是每個時間窗口(例如"成功≥ 99的目標SLI值。在28天內達到9%")。
預算錯誤(Error Budget)-SLO未完成的比例允許:'1 − SLO'。
SLA(服務級別協議)是帶有罰款/貸款(外部)的合同義務。
可靠性KPI-操作過程度量(MTTD/MTTA/MTTR/MTBF,%的自動聯網,過濾塗層等)。

💡 規則:SLA ≤ SLO;外部合同不應嚴格限制服務的內部目的。

2)如何選擇SLI(基於Golden Signals)

1.Latency是用於關鍵尾礦的p95/p99。
2.Traffic-RPS/RPM/消息流。
3.Errors是5xx/業務錯誤的份額(例如,不包括PSP過失的支付「決定」)。
4.飽和度-資源飽和度(CPU/RAM/IO/lag)。

良好SLI的標準:
  • 與用戶體驗(user-perceived)相關。
  • 技術上可用且測量穩定。
  • 我們控制(可能的改進行動)。
  • 收集成本低。

3)公式和示例

3.1個可用性(可用性)


Availability = Успешные запросы / Все запросы
Error Budget (за период) = 1 − SLO

示例:SLO 99。30天內9% →預算錯誤=0。1%,相當於43分鐘12秒。

3.2潛伏期

通過隱性,SLO表達為符合閾值的查詢比例:

Latency SLI = доля запросов с duration ≤ T
SLO пример: 99% запросов ≤ 300 мс (rolling 28d)

3.3付款(業務級別)


Payment Success SLI = (успешные проводки — внешние отказы PSP) / все попытки
💡 從服務故障中排除「客戶卡上的裝飾」;我們只包括平臺的罪惡感。

4)有缺陷的預算和burn-rate

預算錯誤-用於創新的燃油箱(發布、實驗)。

Burn-rate-預算消耗率:
  • 快速通道(1小時~的探測器),
  • 慢頻道(~ 6-12小時/24小時的趨勢)。
閾值想法:
  • 如果burn-rate> 14。1小時4-SEV-1(讓我們吃一天的預算~ 100分鐘)。
  • 如果burn-rate> 6在6小時內為SEV-2(快速降解)。

5)通過SLO進行處理(多窗口,多燃燒)

錯誤指示器:5xx或潛伏期違規的比例。

PromQL(廣義)示例:
promql
Доля ошибок за 5 минут sum(rate(http_requests_total{status=~"5.."}[5m]))
/
sum(rate(http_requests_total[5m]))

Быстрый burn (1m окно)
(
sum(rate(http_requests_total{status=~"5.."}[1m])) /
sum(rate(http_requests_total[1m]))
) / (1 - SLO) > 14.4

Медленный burn (30m окно)
(
sum(rate(http_requests_total{status=~"5.."}[30m])) /
sum(rate(http_requests_total[30m]))
) / (1 - SLO) > 2
對於潛伏期的SLO,請使用百分位直方圖:
promql p95 latency histogram_quantile(0.95, sum by (le) (rate(http_request_duration_seconds_bucket[5m])))

6)跨域的SLI/SLO示例

6.1個API網關/邊緣

SLI-Errors: 5xx <0的響應比例。1% (28d).

SLI-Latency:p95 ≤ 250毫秒(每天)。
SLO: Availability ≥ 99.95%(季度)。

6.2付款

SLI-Cuccess: 成功付款(不包括客戶豁免)≥ 99。8% (28d).

SLI-Latency: 99%(一天)的授權≤ 2秒。

SLO: Time-to-Wallet p95 ≤ 3 мин (24h).

6.3個數據庫(PostgreSQL)

SLI-Lag:p95 ≤ 1秒(每天)復制差。

SLI錯誤: 查詢錯誤百分比≤ 0。05% (28d).

SLO: 群集可用性≥ 99。95%.

6.4隊列/流媒體(Kafka)

SLI-Lag:p95 ≤ N消息的消費者脫落(小時)。

SLI-Durability: 確認記錄≥ 99。99% (28d).

SLO: 經紀人的可用性≥ 99。9%.


7)可靠性過程的KPI

MTTD (Mean Time To Detect)

MTTA (…To Acknowledge)

MTTR (…To Restore)

MTBF (…Between Failures)

自動聯想事件的百分比

SLO覆蓋頂部交通路徑(目標≥ 95%)

擁有金絲雀舞臺的發行比例

使用錯誤的命令/犯規預算


8)如何現實地設置SLO

1.測量當前基本可靠性(3-4周)。
2.定義「敏感」用戶路徑(登錄、存款、遊戲)。
3.考慮每個偏差的成本(時間,金錢,聲譽)。
4.選擇一個雄心勃勃但可實現的目標(比基本目標提高10-30%)。
5.每季度審查一次。

反模式:
  • 立刻「五九」沒有理由。
  • 通過用戶無法看到的度量標準(例如,與UX無關的CPU)進行SLO。
  • 太多的SLO →噴塗焦點。

9) SLO和預算報告

標準報告(每周/每月):
  • 每個SLO的執行:事實vs目標,趨勢,confidence。
  • 錯誤消耗摘要:多少預算「燒毀」比誰,(發布/事件)。
  • 退化的五大原因,CAPA計劃和任務狀態。
  • 業務影響:轉換,ND,保留,LTV.

10)與發布政策的關系

錯誤預算<50% →免費版本。
50-80%→「謹慎模式」:只有低風險/金絲雀布局。

💡 80% →凍結發布,專註於穩定和債務。

11) SLA(合同)-項目模板

負擔能力義務:例如99。9%/月。
例外(Force Majeure):DDoS在合理控制之外,第三方提供商。

測量窗口和責任區: 指標來源,計算方法.

學分/罰款:等級表(例如,60-120分鐘不可用→ X%學分)。
上報和通知程序:時間表、渠道。

數據和隱私: 掩蔽,存儲,法律保留.

重復預防工作計劃(CAPA)在發生違規時。

💡 外部SLA必須參考特定的,可驗證的SLI和計算方法。

12)測量工具

被動指標:Prometheus/Mimir/Thanos,出口商。
Logi: Loki/ELK用於計算業務層面的成功/錯誤。
合成:cron上的活性樣品(登錄/存款/遊戲)。
跟蹤:Tempo/Jaeger for「瓶頸」p99。
付款/財務:支付SLI的地面真相來源。


13)查詢示例(模板)

成功的API請求比例(不包括4 xx作為客戶端):
promql
1 - (
sum(rate(http_requests_total{status=~"5.."}[5m]))
/ sum(rate(http_requests_total[5m]))
)
SLO卡:
yaml slo:
name: "API Availability"
window: "28d"
target: 0.999 sli: "1 - 5xx%"
owner: "Platform SRE"
alerting:
fast_burn: {window: "1h", factor: 14.4}
slow_burn: {window: "6h", factor: 6}
支付成功(通過博客/流中的業務事件):

success_rate = (count_over_time({app="payments"}     = "status=success"[5m]))
/ (count_over_time({app="payments"}     ~ "status=(success    fail)"[5m]))
💡 重新定義過濾器以排除「按客戶端設置」。

14) FinOps和可靠性

最多9:添加「九」的成本呈指數增長。
收益曲線:收入增長/損失減少≥額外「9」成本的最佳狀態。
SLO組合:不同路徑的不同級別(關鍵支付「更昂貴」,報告「更便宜」)。


15)SLO/Alerts質量-支票清單

  • SLI與UX和業務指標相關。
  • 窗口和聚合是一致的(滾動28 d/季度)。
  • Alerta多窗口,無翻轉,具有角色扮演路由。
  • 文件:所有者,公式,來源,運行簿。
  • SLO演示面板具有錯誤的預算和燃燒指標。
  • 定期審查目標(季度)。
  • 針對關鍵場景的合成測試。

16)實施計劃(4次叠代)

1.第一周:用戶路徑清單,SLI草案,基本行車記錄。
2.第2周:SLO正式化,預算計算,Alerta(快速/慢燒傷)。
3.第3周:與事件/發布過程集成,freeze規則。
4.第4周+:合同SLA,季度咆哮,「每人每人9」的泡沫模型。


17)迷你常見問題

每項服務是否需要一個SLO?
優於2-3鍵(成功+潛在)而不是數十個次要。

如果預算用盡,該怎麼辦?
凍結發布,專註於穩定和CAPA,消除實驗性幻想。

如何避免發布速度與可靠性之間的沖突?

計劃「按預算」發布,實施金絲雀布局和功能橫幅。


結果

可靠性不是由一組不同的指標驅動,而是由系統驅動:SLI → SLO →預算錯誤→燃燒→事件過程→ CAPA → SLA。標準化定義、數據源和報告,將目標帶入用戶體驗和經濟,並根據實際的ROI定期審查「九」級別。

Contact

與我們聯繫

如有任何問題或支援需求,歡迎隨時聯絡我們。我們隨時樂意提供協助!

開始整合

Email 為 必填。Telegram 或 WhatsApp 為 選填

您的姓名 選填
Email 選填
主旨 選填
訊息內容 選填
Telegram 選填
@
若您填寫 Telegram,我們將在 Email 之外,同步於 Telegram 回覆您。
WhatsApp 選填
格式:國碼 + 電話號碼(例如:+886XXXXXXXXX)。

按下此按鈕即表示您同意我們處理您的資料。