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,我们也会在 Telegram 回复您。
WhatsApp 可选
格式:+国家代码 + 号码(例如:+86XXXXXXXXX)。

点击按钮即表示您同意数据处理。