为什么要定期评审
SLO 定下来不是就完了:业务阶段、用户预期与流量结构都在变,目标值与统计口径需要定期校准,通常按季度进行,并用期间的真实达成数据验证合理性。评审的产出是明确的调整项加上留痕记录,而不是一次讨论会纪要。没有评审机制的 SLO 会逐渐脱离业务,最后只剩一个没人看的数字。
评审四步
- 回顾:过去一个周期实际达成如何,是否频繁超支或长期大幅盈余
- 校准:目标值与用户预期是否匹配,缓冲区是否足够容纳正常波动
- 调整:口径变化(统计范围扩大、依赖变更)需同步更新看板与告警
- 记录:每次变更说明原因、生效时间与责任人,便于跨周期对比
- 对齐:与上游依赖方的 SLO 与错误预算协调,避免目标互相冲突
达成值与预算消耗
达成值与预算消耗
# 30 天可用性达成值(1 减去 5xx 占比)
1 - (sum(rate(http_requests_total{code=~"5.."}[30d]))
/ sum(rate(http_requests_total[30d])))
# 与目标对比:达成值减去 0.999,结果为负表示未达标
# 错误预算燃尽率:分母为目标允许的失败比例
sum(rate(http_requests_total{code=~"5.."}[1h]))
/ sum(rate(http_requests_total[1h]))
/ (1 - 0.999)评审输入清单
| 达成数据 | SLI 达成值、错误预算消耗速率与告警历史 |
|---|---|
| 用户反馈 | 投诉、工单与业务方对可用性的主观感受 |
| 依赖变化 | 上游服务、第三方接口的 SLO 与故障记录 |
| 成本约束 | 为达成目标需要投入的稳定性资源与优先级 |
长期大幅盈余意味着目标偏松,可以适度收紧;频繁超支则要么投入稳定性资源,要么把目标下调到可持续的水平,两者都要在会上给出明确结论。
达成情况与动作
| 周期表现 | 可能原因 | 建议动作 |
|---|---|---|
| 频繁超支 | 目标过高或稳定性投入不足 | 投入资源修复,或下调目标到可持续 |
| 长期大幅盈余 | 目标偏松,约束力不足 | 适度收紧目标,避免形同虚设 |
| 临界波动 | 缓冲区过窄,正常抖动即超支 | 复核 SLI 口径与窗口长度 |
| 口径被改 | 统计范围或依赖变化未同步 | 同步更新看板、告警与文档口径 |
评审产出物
- 调整决议:新的目标值、适用范围与生效时间
- 口径说明:SLI 的计算方式、排除项与统计窗口
- 跟进项:为达成目标需要完成的稳定性工作与负责人
- 留痕记录:本次变更原因与上一周期的对比数据