SLI、SLO 与错误预算
- SLI:对服务行为的量化指标,例如成功请求比例或 P95 延迟。
- SLO:在时间窗口内期望达到的 SLI 目标。
- SLA:与客户约定的承诺及未达到时的后果,通常比内部 SLO 更宽松。
选择 SLI
优先从用户可感知结果定义:
- 前端:页面加载成功率、关键交互成功率、LCP/INP 分位数。
- API:有效请求成功率、P95/P99 延迟、响应正确性。
- 异步任务:在规定时间内处理成功的任务比例。
- 数据系统:新鲜度、完整性和查询成功率。
不要把 CPU 使用率直接当作服务 SLI,它更适合作为诊断和容量指标。
计算示例
text
成功率 SLI = 符合条件的成功请求数 / 符合条件的全部请求数
错误预算 = 1 - SLO月度可用性目标 99.9% 对应约 0.1% 的失败预算。统计前需定义窗口、有效请求、客户端取消、健康检查和计划维护是否计入。
错误预算
错误预算未消耗时可以保持正常发布节奏;快速消耗时暂停高风险发布,优先修复可靠性、测试和观测缺口。它是产品与工程共同做取舍的机制,不是惩罚团队的指标。
告警
基于多窗口、多消耗速率告警:短窗口发现快速事故,长窗口发现持续退化。告警应包含受影响 SLO、当前消耗速率、版本变更、Dashboard 和 Runbook。