SuperAPI AI 工具集

oodle-triage

部署与运维

查看项目

更新于 10-16 02:39

技能介绍

用途:把生产告警转成有证据支撑的结论,而非叙事式猜测。它读取近期 PR 上的 O11y Change Context 清单,将触发中的告警与可能引发它的变更关联起来。核心原则是每一步都区分已证实与推断:已确认症状、主要假设与确切缺失证据,优于基于相关性的整洁根因故事。

模式:Mode A(分诊上下文)输入单条告警、工单 id 或症状描述,产出上下文报告并可选更新工单;Mode B(自动值班分诊)输入时间窗口(及父工单),枚举窗口内所有触发项、去重并创建/更新子工单,适合按 /loop 节奏运行。输入指向单个告警/工单/症状用 Mode A;要求分诊一个窗口或“所有触发项”用 Mode B(对每条告警复用 Mode A)。

发现步骤:按能力与工具形态解析后端,不硬编码服务器名。可观测性 MCP 用于查找告警/监控、PromQL 指标、日志与追踪工具;若套件符合 Oodle 形态,选择拥有该服务的环境,并在低层调用前加载匹配的 load_skill__* 工作流。工单 MCP 用于查找所用跟踪器(Linear 为示例,Jira 类似)。后端缺失时,用现有信号尽力而为并说明缺口。

Mode A 要点:先确立书面事实,固定服务/组件、集群/环境、pod、容器与精确时间窗,并同时换算 UTC 与报告者本地时区。用硬信号确认症状(重启/OOM 原因、错误率、延迟、资源使用对比限制、事件日志)。从代码学习埋点,读取真实指标名、日志字符串与 span 属性,不猜测,并明确哪些未被采集。跨指标、日志、追踪与 profile 三角验证。通过 GitHub/Linear MCP 或 gh CLI 查找近期 PR 并读取其 O11y Change Context 块,watch 项与 type 用于聚焦假设,guarded-by 确认告警与代码的关联,gaps 说明遥测本就不提供的证据。每个发现标注 Confirmed | Inferred | Unknown;配置上限或默认值不是测量,共现不是因果;主动用一次测量尝试证伪主要假设。无法确认时停止,产出排序的缺失证据清单,说明每项能确认/反驳哪个假设、可能位于何处、是否可获取,并请求解除首要阻塞项。输出简短诚实的报告:已确认症状(含 UTC+本地时间戳)、归因、主要假设(明确已证实与推断)、已排除项(附测量)、缺失证据(排序清单),并可提议作为工单评论发布。

Mode B 要点:按枚举→抑制→去重→归档运行 Mode A 调查。严格匹配检查先于任何创建,确保重跑不重复归档。枚举窗口内进入 firing 状态的告警实例,绝不把 pending/for-not-yet-satisfied 当作触发。为每条告警补充:当前是否仍活跃、噪声类别(flapping/storm/perpetual/auto-resolving/boundary)与约 7 天触发次数、是否被静音(匹配该监控与范围的静音规则)、是否已路由。抑制被静音与未路由的告警,不归档;若存在对应陈旧工单,以评论说明原因后关闭。抑制具体实例而非整个告警类。合并风暴:同一监控的多条序列合并为一个逻辑告警、一个工单。按严重度缩放调查深度。按指纹(env + monitor + scope)语义匹配去重归档:无匹配则创建,匹配到开启则评论新发生,匹配到关闭则重开并评论;按严重度设优先级;写入失败重试一次,不留半成品重复;同一窗口重跑幂等。

指纹块:每个归档工单携带稳定指纹,格式保持恒定:## Fingerprint,含 env、monitor、scope、links 字段。

通用性与 Oodle 专用:确认与推断标注、仅枚举 firing、抑制静音/未路由噪声、风暴合并、指纹去重与清单关联适用于任何后端;具体机制因后端而异,Oodle 提供 ALERTS 风格状态指标、带类型匹配器的 muting_rules 与监控路由标志,其他厂商 MCP 有各自等价物。存在等价物则使用,概念确实缺失则跳过,绝不虚构后端没有的机制。需要更深查询时可使用 oodle-metrics、oodle-logs、oodle-traces。