用途:SLO Architect 用于定义、审查和运营 SLO(服务等级目标)、SLI(服务等级指标)与错误预算,强调 SLO 应是对用户体验的承诺,而非随意数字。适用于为新服务或功能定义 SLO、审查现有 SLO 常见缺陷、选择合适 SLI、计算错误预算与燃烧率告警阈值,以及将 SLO 与功能开关、混沌工程、Kubernetes Operator 等控制手段关联。不适用于通用可观测性策略、面向客户的 SLA 合同、性能负载测试或活跃事件响应。
主要能力:提供三个仅依赖标准库的 Python 工具。slo_designer.py 生成结构化 SLO 定义,缺少必填字段时拒绝输出(退出码 1),支持 request-success-rate、request-latency、availability-time、data-freshness、correctness 五种 SLI 类型。error_budget_calculator.py 根据目标可用性与窗口计算允许停机时间、多窗口燃烧率阈值(快速燃烧:1 小时内消耗 2% 月度预算则告警;慢速燃烧:6 小时内消耗 10% 则告警,3 天内消耗 10% 则开单)并输出告警规则。slo_review.py 审查 SLO 定义目录,检查目标过高(≥99.99%)、目标过低(≤99.0%)、窗口过短(<7 天)、窗口过长(>90 天)、缺少 SLI 定义、缺少错误预算策略、以 CPU 作为 SLI 等常见问题。
使用方式:设置 SKILL=engineering/slo-architect/skills/slo-architect 后运行:python "$SKILL/scripts/slo_designer.py" --service checkout-svc --sli-type request-success-rate --target 99.9 --window-days 30;python "$SKILL/scripts/error_budget_calculator.py" --target 99.9 --window-days 30;python "$SKILL/scripts/slo_review.py" --slo-doc docs/slos/。还提供 /slo-design 交互式向导及 assets/slo_template.yaml、assets/error_budget_policy.md 模板。
限制:资料未提供具体收费、价格、平台支持范围或效果保证;工具输出为 markdown 或 JSON,告警规则为 PromQL 形状,需自行接入监控系统。SLO 目标应基于历史数据设定,避免系统从未维持过的目标。