AgentSkillsCN

flashduty-sre-practices

当用户提出“事后分析”“错误预算”“错误预算”“SLO”“SLI”“琐事”“琐事”“自动化”“自动化”“可靠性”“可靠性”“无责备”“无责备”“减少告警噪音”“减少告警噪音”“提升 MTTR”“提升 MTTA”,或围绕 SRE 最佳实践、服务可靠性、运营效率以及持续改进展开讨论时,应使用此技能。

SKILL.md
--- frontmatter
name: flashduty-sre-practices
description: This skill should be used when the user asks to "postmortem", "事后分析", "error budget", "错误预算", "SLO", "SLI", "toil", "琐事", "automation", "自动化", "reliability", "可靠性", "blameless", "无责备", "reduce alert noise", "减少告警噪音", "improve MTTR", "improve MTTA", or discusses SRE best practices, service reliability, operational efficiency, and continuous improvement.
version: 3.0.0

FlashDuty SRE 实践

本技能覆盖错误预算、无责备事后分析、琐事分析和可靠性改进,基于 Google SRE 的做法。

可用 Sub-Agent

1. flashduty-postmortem-generator

用于:生成无责备事后分析报告

何时调用

  • 事件已解决并需要记录
  • 用户请求 "postmortem" 或 "事后分析"
  • 用户想要 "从事件中学习"
  • 需要从事件中提取行动项

参数

json
{
  "incident_id": "FD123456",
  "include_timeline": true,
  "include_metrics": true,
  "include_similar_incidents": true,
  "time_range": "30d"
}

功能

  • 5 Whys 根因分析
  • 时间线重建
  • 无责备语言执行
  • 可行动项提取
  • 使用 list_similar_incidents 查找相似历史事件
  • 使用 query_changes 关联事件前后的部署/变更

2. flashduty-error-budget-tracker

用于:追踪 SLO 合规性和错误预算消耗

何时调用

  • 用户询问 "error budget" 或 "SLO"
  • 需要确定是否可以安全发布
  • 监控可靠性趋势
  • 规划容量/变更窗口

参数

json
{
  "service": "service-name",
  "slo_target": 99.9,
  "slo_type": "availability",
  "time_range": "30d",
  "channel_ids": []
}

功能

  • 预算消耗计算
  • 燃烧率分析
  • 多窗口追踪(7d/30d/90d)
  • 发布建议
  • 告警阈值建议

3. flashduty-toil-analyzer

用于:识别自动化机会和减少运营琐事

何时调用

  • 用户提到 "toil" 或 "琐事"
  • 团队被运营工作压垮
  • 想要提高效率
  • 识别自动化机会

参数

json
{
  "time_range": "30d",
  "channel_ids": [],
  "analysis_type": "incident_response" | "alert_noise" | "manual_tasks"
}

功能

  • 琐事评分计算(0-10)
  • 告警噪音识别
  • 重复模式检测
  • 自动化 ROI 分析
  • 路线图优先级排序

SRE 工作流

工作流 1:事后事件审查

code
用户:生成事件 FD123456 的事后分析报告

→ 步骤 1:验证事件已关闭
   使用 mcp__flashduty__get_incident 获取事件详情

→ 步骤 2:启动 flashduty-postmortem-generator
   参数:{ incident_id, include_similar: true }
   Agent 内部使用 `list_similar_incidents` 查找相似事件,使用 `query_changes` 关联部署变更

→ 步骤 3:展示结构化事后分析
   包括:时间线、5 Whys、行动项、经验教训

→ 步骤 4:建议后续跟进
   向事件添加评论,附上事后分析链接

工作流 2:错误预算审查

code
用户:查看支付服务的错误预算

→ 步骤 1:识别服务频道
   使用 mcp__flashduty__list_channels 查询 "payment"

→ 步骤 2:启动 flashduty-error-budget-tracker
   参数:{
     service: "payment-service",
     slo_target: 99.95,
     time_range: "30d"
   }

→ 步骤 3:展示预算状态
   包括:消耗百分比、燃烧率、建议

→ 步骤 4:发布建议
   "✅ 安全发布" 或 "⚠️ 冻结功能"

工作流 3:多服务预算对比

code
用户:对比所有核心服务的 SLO 达成情况

→ 步骤 1:获取所有关键频道
   使用 mcp__flashduty__list_channels

→ 步骤 2:为每个服务并行启动 error-budget-tracker
   Sub-Agent 1:flashduty-error-budget-tracker(api-gateway, 99.99%, time_range: "30d")
   Sub-Agent 2:flashduty-error-budget-tracker(payment-service, 99.95%, time_range: "30d")
   Sub-Agent 3:flashduty-error-budget-tracker(user-service, 99.9%, time_range: "30d")

→ 步骤 3:汇总结果到仪表板
   展示:所有服务、预算、燃烧率、状态

→ 步骤 4:识别有风险的服务
   高亮显示消耗 > 50% 预算的服务

工作流 4:琐事分析

code
用户:分析我们团队的琐事工作量

→ 步骤 1:定义分析范围
   最近 30 天,团队的频道

→ 步骤 2:启动 flashduty-toil-analyzer
   参数:{ time_range: "30d", analysis_type: "all" }

→ 步骤 3:展示琐事报告
   包括:琐事评分、分类、自动化机会

→ 步骤 4:确定自动化路线图优先级
   速胜 → 中期 → 长期

工作流 5:发布前安全检查

code
用户:这周可以发布新版本吗?

→ 步骤 1:检查受影响服务的错误预算
   为每个服务启动 flashduty-error-budget-tracker

→ 步骤 2:检查近期事件率
   启动 flashduty-toil-analyzer 进行稳定性评估

→ 步骤 3:评估
   如果所有预算 > 50% 剩余 且 toil_score < 5:
      → "✅ 可安全发布,使用标准金丝雀"
   否则如果预算 20-50% 或 toil_score 5-7:
      → "⚠️ 减少发布范围,延长金丝雀"
   否则:
      → "🛑 建议延迟,专注于稳定性"

工作流 6:月度 SRE 审查

code
用户:生成本月 SRE 运营报告

→ 并行启动:
  Sub-Agent 1:flashduty-error-budget-tracker(所有服务,time_range: "30d")
  Sub-Agent 2:flashduty-toil-analyzer(运营效率,time_range: "30d")
  Sub-Agent 3:flashduty-stats-collector(MTTR/MTTA 趋势,time_range: "30d")

→ 汇总成综合报告:
  ## 月度 SRE 报告
  - 可靠性:各服务 SLO 合规性
  - 效率:琐事减少进展
  - 性能:MTTR/MTTA 趋势
  - 行动项:下月优先事项

SRE 黄金信号

分析事件时,始终考虑四个黄金信号:

  1. 延迟:响应需要多长时间?
  2. 流量:需求量有多大?
  3. 错误:失败请求的比率
  4. 饱和度:服务有多"满"?

事后分析和分析 Agent 应尽可能提取这些信息。

SLO 最佳实践

选择 SLO

  • 从当前性能 + 余量开始
  • 考虑用户可见的影响
  • 避免过度设计(99.999% 很难)
  • 每季度审查

常见 SLO 类型

服务类型典型 SLO
API 网关99.99% 可用性,p99 < 200ms
Web 应用99.9% 可用性,p99 < 500ms
批处理99.5% 成功率
内部工具99% 可用性

错误预算策略模板

code
## 错误预算策略:[服务]

### SLO
- 可用性:99.9%
- 错误预算:43.2 分钟/月

### 预算消耗行动
- 0-50%:正常运营,常规发布
- 50-75%:减少发布频率,延长金丝雀
- 75-100%:功能冻结,仅稳定性修复
- >100%:紧急程序,全员响应

### 升级
- >50%:通知团队负责人
- >75%:通知工程经理
- >100%:分配事件指挥官

### 审查
每周:预算状态审查
每月:SLO 合规报告
每季度:SLO 目标审查

与其他技能集成

用例主要技能支持 Agent
诊断事件incident-diagnosisdiagnosis-engine
生成事后分析sre-practicesflashduty-postmortem-generator
追踪可靠性sre-practicesflashduty-error-budget-tracker
减少琐事sre-practicesflashduty-toil-analyzer
查询事件incident-managementincident-analyzer
查找值班team-collaborationteam-resolver

最佳实践

  1. 48小时内做事后分析:趁记忆新鲜
  2. 每周看一次错误预算:早发现早处理
  3. 琐事不超过 50% 工时:给团队留项目时间
  4. 行动项必须有人负责
  5. 无责备:看系统,不看人
  6. 所有手动步骤都是琐事:能自动化就自动化