事故调查是 Castrel 的核心能力之一,它把 AI 分析与人的专业经验结合起来,帮助 SRE 团队快速识别根因。无论你是在手机上响应告警,还是在桌面前做深入排查,Castrel 都能为不同场景提供合适的工具。
事故调查是一套由 AI 驱动的根因分析系统,帮助你定位线上问题的来源。当某条告警在 告警分诊 中被确认为事故后,Castrel 会自动扫描你的基础设施,例如 K8s 事件、Pod 日志、数据库指标等,以识别潜在根因,并可视化故障在系统中的传播路径。
与传统监控工具只能告诉你 出了什么问题 不同,事故调查会进一步告诉你 为什么会发生、该从哪里查起,让你能更快地处理事故。
1. 发起调查
你可以通过两种方式启动事故调查:
2. 查看分析报告
启动调查后,Castrel 会做一次全面扫描,并生成包含以下内容的分析报告:
3. 选择下一步
根据分析结果,你可以走三条路径:
| 场景 | 动作 | 说明 |
|---|---|---|
| 根因很明确 | Confirm & Close | AI 已找到证据充分的明确根因。你只需复核并确认,即可结束调查 |
| 仍需人工深挖 | Get Report | 下载一份上下文摘要,其中包含已排除的可能性和仍待确认的方向,便于继续手动排查 |
| 方向对了但还不够 | Provide Guidance | 利用你的领域知识,引导 AI 向某个方向继续深入 |
事故调查不是让你被动接收 AI 结果,而是为 双向协作 设计的。你可以主动利用自己的领域知识,引导调查过程。
传播拓扑
传播拓扑会把故障在系统中的传播路径分为四层:
| 层级 | 图标 | 说明 |
|---|---|---|
| 根因 | 🔴 | 故障的源头 |
| 关键传播 | 🟠 | 故障传播过程中的关键节点 |
| 直接影响 | 🟡 | 被故障直接影响的服务 |
| 间接影响 | ⚪ | 经由多跳传播后受到影响的边缘服务 |
你可以在拓扑中做这些操作:
假设列表
假设列表展示 AI 生成的潜在根因,你可以对它们进行管理:
| 动作 | 说明 |
|---|---|
| Add Hypothesis | 基于领域知识补充你的假设(例如“DBA 上周调整了索引”) |
| Verify Hypothesis | 让 AI 为某个假设收集更多证据 |
| Confirm Hypothesis | 将该假设标记为已确认根因 |
| Reject Hypothesis | 将该假设从候选范围中排除 |
每个假设都会附带支撑证据,包括日志、指标、代码 diff 或事件,你可以逐条查看。
通过聊天补充指导
你也可以直接用自然语言引导调查:
检查一下 order-service 最近的部署,尤其是事务逻辑相关的改动
重点看一下 3:15 左右的数据库锁问题
Castrel 会结合你的指导,把它的全局数据扫描能力聚焦到你指定的方向上。
Castrel 会按照一套系统化流程执行根因分析:
1. 数据采集
Castrel 会在指定时间范围内从已连接的数据源收集信息:
2. 假设生成
基于收集到的数据,Castrel 会通过以下方式生成假设:
3. 传播分析
Castrel 会建立传播模型:
4. 证据汇总
对于每个假设,Castrel 会汇总支撑证据:
| 建议 | 说明 |
|---|---|
| 接入全部数据源 | 指标、日志、链路和变更管理接得越完整,根因识别越准确 |
| 使用知识库 | 在 知识 中记录预期行为和 runbook,帮助 Castrel 更好理解你的系统 |
| 提供业务上下文 | AI 擅长扫数据,你擅长业务背景,二者结合效果最好 |
| 查看全部证据 | 在确认某个假设之前,先把支撑证据看完整 |