跳到主要内容

搜索栏命令

在 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命令声明 python.required = 3.9, 3.13。selfcontained 包在 3.13 下运行 agentic,其余走 requests 引擎

本页内容