用途
Investigate Incident 技能用于对已分诊完成的事故执行系统化的根因分析(RCA),基于 Port 服务目录中的实体数据进行调查。适用于生产问题根因查找、部署与事故关联分析等场景。
调查流程
第一步:构建时间线
通过查询 Port 构建时间线,包括:
- 最近 24 小时内的部署:list_entities(blueprint="deployment", query={ service: "affected-service", deployed_at: ">24h ago" })
- 最近合并的 PR:list_entities(blueprint="pull_request", query={ service: "affected-service", merged_at: ">24h ago" })
- 配置变更(若被追踪):list_entities(blueprint="config_change", query={ service: "affected-service" })
第二步:相关性分析
检查事故时间是否与以下因素相关:部署时间(最常见原因)、流量峰值、依赖故障、配置变更。
第三步:依赖检查
查询服务依赖关系:get_entity(blueprint="service", identifier="affected-service", include=["depends_on"])。对每个依赖项检查:健康状态、近期事故、错误率。
第四步:历史模式匹配
查找相似的历史事故:list_entities(blueprint="incident", query={ primary_service: "affected-service", created_at: "<30d" })。关注:相同的错误模式、相同的时间段、相同的触发条件。
第五步:确定根因
记录以下内容:发生了什么变更(导致问题的具体变更)、为何失败(失败机制)、为何未被捕获(测试/评审环节的缺口)。
第六步:更新事故
调用 update_incident_investigation,传入:root_cause_summary、related_deployment(如适用)、related_pr(如适用)、timeline_markdown、investigation_notes。
输出格式
输出为根因分析报告,包含:标题(根因分析:[事故 ID])、摘要(一段说明)、时间线(表格形式,含时间与事件)、根因(详细技术说明)、相关变更(PR 与部署信息)、建议(具体可执行条目)。
质量检查清单
- 构建完整时间线
- 检查所有近期部署
- 分析依赖关系
- 找到相关变更
- 清晰记录根因
限制
该技能依赖 Port 服务目录中已存在相应实体数据(部署、PR、配置变更、服务依赖、历史事故等);未提供数据的部分无法完成分析。具体收费、价格、平台支持范围等信息暂未提供。