Splunk - 搜索宏

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

宏创建

要创建搜索宏,我们转到设置 → 高级搜索 → 搜索宏 → 添加新。这将显示以下屏幕,我们可以从中开始创建宏。

搜索宏 1

宏场景

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

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

定义宏

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

Search Macro2

使用宏

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

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

Search Macro3

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

Search Macro4