深色模式
SLO 报表与复盘
摘要:SLO 的价值在于“用数据说话”。本文给出一份月度报表模板与自动生成方法,让达标率、预算消耗、超标原因一目了然,驱动持续改进。
适用环境
- 已落地 SLO 并能查 SLI 历史(Prometheus 30d 数据)
- 有 Grafana 或脚本导出能力
操作步骤
1. 报表核心字段
text
服务 / SLI / 目标 / 实际达标率 / 预算消耗% / 超标时长 / 关联事故 / 改进项1
2. 用脚本算达标率
bash
# 取 30 天窗口实际 SLI 均值
curl -s 'prom:9090/api/v1/query?query=avg_over_time(sli_availability[30d])' \
| jq '.data.result[0].value[1]'
# 与目标比较,输出达标/不达标1
2
3
4
2
3
4
3. Grafana 月度面板
- 新建面板展示
avg_over_time(SLI[30d])与 SLO 阈值线 - 用
slo_error_budget_remaining画月度预算消耗 - 导出 PDF/图片贴进月报
4. 月度复盘会
- 达标服务:是否目标过松(见 SLO 与成本权衡)
- 不达标服务:列根因与 owner、截止日
- 更新 SLO 文档与错误预算政策
DANGER
报表只给数字不给“为什么”等于没用。每条不达标必须配根因与改进项,否则月月重复超标。
验证
bash
# 跑脚本确认能产出各服务达标率,且与实际 Grafana 面板一致1
常见坑
WARNING
- 30d 滚动窗口在月初数据不足时会失真,报表统一用自然月或固定滚动窗,别混用。
- 达标率“好看”但预算靠月底冲回来,要同时看燃烧速率趋势。