SLO 设计

slo-design
分类设计
作者Alireza Rezvani
许可MIT
评分4.70/5
使用16.5K

/slo-design

使用 slo-architect 技能逐步完成 SLO 设计。该流程将生成 SLO 定义,计算错误预算和多窗口消耗率告警,并运行评审程序以捕捉常见错误。

用法

code
/slo-design
/slo-design --service checkout-svc --sli-type request-success-rate --target 99.9

实现

bash
SKILL=engineering/slo-architect/skills/slo-architect

步骤 1:收集输入(服务、SLI 类型、目标、窗口、负责人)

步骤 2:渲染 SLO 定义

python "$SKILL/scripts/slo_designer.py" \ --service "$SERVICE" \ --sli-type "$SLI_TYPE" \ --target "$TARGET" \ --window-days "$WINDOW_DAYS" \ --owner "$OWNER" \ --policy-doc "$POLICY_DOC" \ --format json > .slo.json

步骤 3:计算错误预算 + 消耗率告警

python "$SKILL/scripts/error_budget_calculator.py" \ --target "$TARGET" \ --window-days "$WINDOW_DAYS"

步骤 4:渲染 Markdown 格式的 SLO 以供同行评审

python "$SKILL/scripts/slo_designer.py" \ --service "$SERVICE" \ --sli-type "$SLI_TYPE" \ --target "$TARGET" \ --window-days "$WINDOW_DAYS" \ --owner "$OWNER" \ --policy-doc "$POLICY_DOC"

步骤 5:通过评审程序进行验证

echo "=== 保存 SLO 后,请针对该文档运行 slo_review.py ==="

输出

一份包含以下内容的 Markdown SLO 定义:

  • 服务、负责人、用户旅程
  • SLI 类型及其分子/分母表达式
  • 目标、窗口、错误预算
  • 多窗口消耗率告警阈值(PromQL 格式)
  • 评审周期

前置条件

  • 已安装 slo-architect 技能
  • 已确定服务
  • 拥有 30 天的历史 SLI 数据(以便选择可持续的目标)
  • 已存在或将创建错误预算策略文档

后置条件

  • 写入 .slo.json 文件,供下游工具使用(如混沌工程爆炸半径分析等)
  • 输出 Markdown SLO 以供评审
  • 打印 slo_review.py 检查结果:PASS / WARN / FAIL