批量分诊
一批告警聚类、打分、排优先级,每簇给一条可执行建议;处置状态跨设备;按规则统计误报率并给降噪建议。需要许可。
输入
三种来源,任选其一:
| 来源 | 做法 |
|---|---|
| 从索引拉 | 选索引(默认告警索引 notable)+ 可选 SPL 过滤片段 + 时间窗 + 最多条数(默认 100) |
| 粘贴 | 一批告警的 JSON / 文本 |
| 从别处送来 | 首页「送去分诊」、实时告警页「升级到分诊」、自动分诊的一批(URL 带 ?run=) |

agentic 引擎会对每个簇跑一次只读 SPL 看历史与影响面([agentic] tools_triage,大批量慢时可单独关)。1.9.0 真机 100 条 → 2 簇约 35 秒。
结果

顶部 KPI(簇数、最高级别、疑似误报占比)+ 环图;下面是簇表:
| 列 | 说明 |
|---|---|
| 簇 | 规则 + 主体(rule_id / subject_field / subject_value),一簇的告警 id 与首末时间 |
| 级别 | Critical / High / Medium / Low / Info,附理由 |
| 建议 | 一条可执行的处置 |
| 处置 | 下拉:待处理 / 处理中 / 已确认 / 误报 / 已忽略;状态存 KV store(copilot_state),换设备可见 |
| 动作 | 「调查」(这一簇代表告警的完整调查)、「写回 ES(整簇)」、「升级」(发通知) |
「保存此次分诊」把批次存进历史,可以回看和对比。模型对不了解的告警会标「证据不足」而不是硬给级别。
自动分诊
告警动作 copilot_autotriage 装在 Splunk 的 alert action 列表里:任何 saved search 触发时可以把结果直接送分诊,结果落 copilot_triage_results。实时告警页顶部显示最近几批和挂了这个动作的规则数,点「去批量分诊」带 run 参数打开对应批次。
降噪建议
页面顶部「降噪建议」按规则折叠最近 30 天([noise] days)的处置:分诊处置 + copilot_state 的状态 + ES notable 的 status / disposition(有 ES 时)。FP 率 ≥ 60% 且总量 ≥ 10(fp_rate_threshold / min_alerts)的规则排最前,列出 Top 主体和各自的误报占比。

点「建议」对一条规则出三类卡:
| 类型 | 内容 | 减少量怎么算 |
|---|---|---|
| 阈值 | 改 where count > N | 新旧 SPL 各在真数据上 ` |
| 抑制 | alert.suppress 字段 + 周期 | 只对带 _time 分桶的规则可测;聚合型标「不可测」 |
| 排除 | NOT src IN (...)(只建议误报占比 > 80% 的主体) | 同阈值;排除放在字段产生之后(rex 后用 ` |
「应用」(管理员)改 saved search,先备份到 KV;行上「已降噪 · 撤销」可回滚。Splunk Free 许可不认 alert.suppress*,抑制类在那种环境应用会被拒。规则名要和 saved search 名一致才能应用;交互式分诊里 rule_id 退到 sourcetype 的簇没有对应 saved search,只能看建议。