Skip to main content

搜索栏命令

不离开 Splunk 搜索栏:`| copilot` 用自然语言生成并执行 SPL,`| splexplain` 解释一条查询并给优化改写。1.7.0 起。

两个自定义搜索命令随 App 安装(commands.conf),在 Splunk 的任何搜索栏、报表、仪表盘里都能用。许可、角色、脱敏、审计与首页走同一套:命令直接调后端模块,不经 HTTP。

| copilot

| copilot "最近 30 天登录失败按主机统计" index=rst_demo

生成 SPL → 只读校验 → 以当前用户身份执行 → 结果行作为命令输出。生成的 SPL 挂在作业的 info 消息里,搜索页顶部可展开看。

参数默认说明
第一个位置参数必填自然语言问题,引号包起来
index=自动指定索引;不指定按白名单挑
run=tf 时不执行,只输出一行 spl / confidence / explanation,适合先看再跑

搜索栏 copilot

  • 结果按 Events 视图显示(generating 命令没有 _time 列时 Splunk 就这样排),要按时间线看在后面接 | table _time …
  • 命令自己决定时间窗(写进生成的 SPL 的 earliest=),不吃搜索页右上角的时间选择器。
  • 生成是非确定性的:同一句两次可能按 host 元数据或抽取的 dest 分组,两者都对。要固定就把生成的 SPL 复制出来用。
  • 1.9.0 真机 | copilot 一般 15–50 秒(含试跑)。

| splexplain

index=* | stats count by host
| splexplain

或直接给一条:

| splexplain spl="index=* | stats count by host"

输出一行:explanation(这条 SPL 做什么)、risks(全索引扫描、没有时间窗、过滤靠后、通配前缀)、optimized_spl(改写)、why(为什么这样改)。改写规则只读:建议 tstats、早过滤、去 index=*fields 裁剪、加时间窗,不会引入写命令。

splexplain

作为流式命令吃上游时,每次最多处理 20 条(每条一次模型调用)。首页「解释这条 SPL」按钮用的是同一个核心。

存为 Report / Alert

首页结果卡的「保存到 Splunk」菜单把生成的 SPL 存成 search app 里的 saved search:Report 不调度;Alert 带 cron 和触发条件,写法与检测规则部署一致。分析员档可存 Report,Alert 与规则部署一样需要 schedule_search

保存到 Splunk

权限与审计

  • 命令以当前搜索用户的会话跑,看不到的索引查不到。
  • copilot_use 就能用两个命令;生成的 SPL 通过与首页相同的只读闸。
  • 每次调用记一条审计(via=search_command),在调用审计里按动作筛。
  • 命令声明 python.required = 3.9, 3.13;selfcontained 包在 3.13 下跑 agentic,其余走 requests 引擎。

本页内容