Splunk 子搜索

 

子搜索是常规搜索的一种特殊情况,当次要或内部查询的结果是主要或外部查询的输入时。它类似于 SQL 语言中子查询的概念。在 Splunk 中,主查询应该返回一个结果,该结果可以输入到外部或次要查询中。

当搜索包含子搜索时,首先运行子搜索。在主搜索中,子搜索必须用方括号括起来。

 

示例

我们考虑从网络日志中找到最大字节大小的文件的情况。但这可能每天都在变化。然后我们只想找到那些文件大小等于最大大小并且是星期日的事件。

 

创建子搜索

我们首先创建子搜索以查找最大文件大小。我们使用函数 Stat max 和名为 bytes 的字段作为参数。这标识了运行搜索查询的时间范围内文件的最大大小。

下图显示了此子搜索的搜索和结果:

Subsearch_1

 

添加子搜索

接下来,我们通过将子搜索放在方括号内,将子搜索查询添加到主要或外部查询中。搜索子句也被添加到子搜索查询中。

Subsearch_2

如我们所见,结果仅包含文件大小等于通过考虑所有事件找到的最大文件大小的事件,并且事件日为星期日。

 搜索宏是可重复使用的搜索处理语言 (SPL) 块,您可以将其插入到其他搜索中。当您想对数据集中的不同部分或值动态使用相同的搜索逻辑时,将使用它们。它们可以动态接受参数,搜索结果将根据新值进行更新。  ...