yuki-aigc/pomeloclaw/alert-rca
Claude Code and agent skill by yuki-aigc/pomeloclaw
- community
Checking that the SKILL.md file is still in the repository.
告警事故根因定位 - 系统化分析告警事件,通过多源数据关联分析快速定位根因,重建事故时间线,提供可操作的修复建议
Install
npx vskill@latest install yuki-aigc/pomeloclaw/alert-rcaSKILL.md
告警事故根因定位 (Alert Root Cause Analysis)
Overview
本技能提供系统化的告警事故根因定位方法论,帮助SRE团队快速分析告警事件,识别根本原因,并提供可操作的修复建议。支持多源数据(日志、指标、链路追踪、事件)的关联分析,重建完整的事故时间线。
适用场景
- 突发告警响应:收到P0/P1级别告警,需要快速定位根因
- 故障复盘分析:事后复盘,重建事故时间线,识别改进点
- 关联告警分析:多个服务同时告警,需要识别根因告警和衍生告警
- 慢性问题诊断:持续性性能下降或间歇性故障的根因分析
- 容量问题定位:资源瓶颈导致的性能问题分析
核心能力
- 🔍 多源数据关联:整合日志、指标、链路、事件等多维度数据
- ⏱️ 时间线重建:按时间顺序重建事故发展过程
- 🔗 相关性分析:识别告警之间的因果关系
- 🎯 根因定位:采用系统化方法定位根本原因
- 💡 修复建议:提供具体可执行的修复和预防措施
Input Format
告警数据输入结构
数据获取建议
| 数据类型 | 推荐工具 | 关键查询示例 | |
|---|---|---|---|
| 指标 | Prometheus/Grafana | rate(http_requests_total[5m]), container_cpu_usage_seconds_total | |
| 日志 | ELK/Loki/Splunk | service="api-gateway" AND (level="ERROR" OR level="FATAL") | |
| 链路 | Jaeger/Zipkin/SkyWalking | serviceName="api-gateway" AND duration>5s | |
| 事件 | PagerDuty/OpsGenie/内部系统 | 部署记录、配置变更、扩容事件 |
Analysis Workflow
Phase 1: 信息收集与预处理 (5-10分钟)
1.1 告警基本信息确认
1.2 数据收集清单
必须收集的数据:
- [ ] 告警触发前后30分钟的指标数据
- [ ] 相关服务的ERROR/FATAL级别日志
- [ ] 涉及服务的链路追踪数据
- [ ] 告警时间窗口内的事件(部署、变更、扩容等)
建议收集的数据:
- [ ] 上下游服务的健康状态
- [ ] 基础设施层指标(CPU、内存、网络、磁盘)
- [ ] 数据库性能指标(连接数、慢查询、锁等待)
- [ ] 缓存命中率和服务状态
1.3 数据质量检查
Phase 2: 时间线重建 (10-15分钟)
2.1 构建统一时间线
将所有事件按时间顺序排列,标注关键节点:
2.2 识别关键转折点
标记时间线上的关键事件:
- 🟥 起点事件:事故开始的第一个异常信号
- 🟨 恶化节点:问题升级的关键时刻
- 🟩 恢复节点:服务开始恢复的时间点
- 🟦 根因候选:可能的根本原因事件
2.3 相关性标注
在时间线上标注事件之间的关联:
Phase 3: 根因分析方法论 (15-30分钟)
3.1 5 Whys 分析法
针对核心症状连续追问"为什么",直到找到根本原因:
3.2 故障树分析 (FTA)
从顶事件(告警)向下分解,识别所有可能的故障路径:
3.3 变更关联分析
检查时间窗口内的所有变更,评估与告警的相关性:
| 时间 | 变更类型 | 组件 | 变更内容 | 与告警时间差 | 相关性评估 | |
|---|---|---|---|---|---|---|
| 08:15 | 配置变更 | database | max_connections 100→200 | 15分钟 | 低 | |
| 08:20 | 扩容 | eks-cluster | 节点 10→15 | 10分钟 | 低 | |
| 08:25 | 部署 | user-service | v2.3.1 | 5分钟 | 高 ⭐ |
评估标准:
- 高相关:变更后5分钟内出现异常,且变更组件与告警服务有直接依赖
- 中相关:变更后5-15分钟出现异常,或变更组件与告警服务有间接依赖
- 低相关:变更后15分钟以上出现异常,或变更组件与告警服务无直接关联
3.4 依赖拓扑分析
绘制服务依赖关系,识别故障传播路径:
分析要点:
- 从告警服务向上游追溯:是否有流量突增或攻击?
- 从告警服务向下游追溯:依赖服务是否异常?
- 检查同级服务:其他调用相同下游的服务是否正常?
Phase 4: 多源数据关联分析 (15-20分钟)
4.1 指标-日志关联
将指标异常时间点与日志错误关联:
4.2 日志-链路关联
通过 trace_id 关联日志和链路:
4.3 事件-指标关联
将变更事件与指标变化关联:
Phase 5: 根因确认与验证 (10-15分钟)
5.1 根因假设验证
基于分析提出根因假设,并设计验证方法:
| 假设 | 验证方法 | 预期结果 | 实际结果 | 结论 | |
|---|---|---|---|---|---|
| v2.3.1 导致连接泄漏 | 检查代码变更 | 发现连接未关闭 | 确认finally块缺失 | ✅ 验证通过 | |
| 数据库配置不当 | 检查max_connections | 配置合理 | 200连接,正常 | ❌ 排除 | |
| 流量突增导致 | 检查QPS趋势 | QPS平稳 | QPS无变化 | ❌ 排除 |
5.2 根因判定标准
满足以下条件可判定为根因:
- [ ] 能够解释所有观察到的症状
- [ ] 有时间上的先后关系(原因在前,结果在后)
- [ ] 有逻辑上的因果关系
- [ ] 有数据支持(日志、指标、代码等)
- [ ] 修复后问题得到解决或缓解
5.3 区分根因与表象
Output Format
根因分析报告结构
user-service v2.3.1 部署 ↓ 数据库连接泄漏 ↓ 连接池耗尽 (300/300) ↓ 新请求等待超时 (5s) ↓ api-gateway 调用超时 ↓ 错误率飙升 (5%→25%) ↓ 用户请求失败
[ERROR] 2024-01-15 08:30:15 - Connection pool exhausted java.sql.SQLException: Connection pool is full
// 问题代码 Connection conn = dataSource.getConnection(); // 缺少 finally { conn.close(); }
Examples
示例1: 代码缺陷导致的级联故障
场景: 微服务架构,user-service 部署后出现大量超时
输入数据:
- 告警:api-gateway P0 错误率>20%
- 指标:user-service 延迟 p99 从200ms增至5000ms
- 日志:大量 "Connection timeout" 错误
- 事件:user-service v2.3.1 部署于5分钟前
分析过程:
- 时间线显示部署后5分钟出现异常
- 故障树分析指向数据库连接问题
- 日志显示连接池耗尽
- 代码diff发现连接泄漏
输出结果:
- 根因:v2.3.1 连接泄漏bug
- 修复:回滚 + 修复代码
- 预防:代码审查 + 静态分析
示例2: 配置变更导致的性能下降
场景: 数据库配置变更后查询变慢
输入数据:
- 告警:order-service P1 响应时间>2s
- 指标:数据库查询平均耗时从50ms增至2000ms
- 事件:database 配置变更(query_cache_size调整)
- 日志:大量慢查询日志
分析过程:
- 时间线显示配置变更后立即出现异常
- 指标显示查询耗时突增
- 慢查询日志显示相同SQL执行变慢
- 配置对比发现query_cache_size设置为0
输出结果:
- 根因:query_cache_size误设置为0,导致缓存失效
- 修复:恢复配置
- 预防:配置变更review + 性能基线对比
示例3: 资源不足导致的雪崩效应
场景: 促销活动时服务大面积不可用
输入数据:
- 告警:多个服务P0错误率高
- 指标:CPU使用率100%,内存使用率95%
- 事件:促销活动开始
- 日志:大量 "OutOfMemoryError"
分析过程:
- 时间线与促销活动开始时间一致
- 资源指标显示CPU/内存打满
- 多个服务同时OOM
- 容量规划显示资源预留不足
输出结果:
- 根因:容量规划不足,未考虑促销流量
- 修复:紧急扩容 + 限流
- 预防:容量规划 + 自动扩缩容 + 限流降级
Best Practices
数据收集最佳实践
- 时间范围: 告警前30分钟到告警后15分钟,确保覆盖完整上下文
- 数据采样: 高流量场景注意日志采样率,必要时临时提高采样率
- 时间对齐: 统一使用UTC时间,避免时区混乱
- 数据保留: 关键数据截图保存,防止过期丢失
分析过程最佳实践
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingworkspace/skills/alert-rca/SKILL.md
Popularity
- Repository stars
- 58
- Repository forks
- 2
- 7-day trend score
- 20
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 25 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/yuki-aigc/pomeloclaw/alert-rca)