Splunk - 搜索宏


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

宏创建

要创建搜索宏,我们进入设置→高级搜索→搜索宏→添加新的。这将显示下面的屏幕,我们可以在其中开始创建宏。

搜索宏1

宏观场景

我们想要显示web_applications日志中有关文件大小的各种统计信息。统计信息是关于使用日志中字节字段的文件大小的最大值、最小值和平均值。结果应显示日志中列出的每个文件的这些统计信息。

所以这里的统计数据类型本质上是动态的。stats 函数的名称将作为参数传递给宏。

定义宏

接下来,我们通过设置各种属性来定义宏,如下图所示。宏的名称包含 (1),表示在搜索字符串中使用宏时,需要向宏传递一个参数。fun是在搜索查询执行期间将传递给宏的参数。

搜索宏2

使用宏

要使用宏,我们将其作为搜索字符串的一部分。在为参数传递不同的值时,我们会看到预期的不同结果。

考虑查找文件的平均大小(以字节为单位)。我们传递 avg 作为参数并得到如下所示的结果。作为搜索查询的一部分,宏已保存在 ` 符号下。

搜索宏3

同样,如果我们想要日志中存在的每个文件的最大文件大小,那么我们使用max作为参数。结果如下图所示。

搜索宏4