Splunk - 搜索语言


Splunk 搜索处理语言 (SPL) 是一种包含许多命令、函数、参数等的语言,编写这些语言是为了从数据集中获取所需的结果。例如,当您获取搜索词的结果集时,您可能还希望从结果集中过滤一些更具体的词。为此,您需要将一些附加命令添加到现有命令中。这是通过学习 SPL 的用法来实现的。

SPL 的组成部分

SPL 具有以下组件。

  • 搜索词- 这些是您正在寻找的关键字或短语。

  • 命令- 您想要对结果集执行的操作,例如格式化结果或对结果进行计数。

  • 函数- 您将对结果应用哪些计算。如总和、平均值等。

  • 子句- 如何对结果集中的字段进行分组或重命名。

让我们在下一节中借助图像讨论所有组件 -

搜索词

这些是您在搜索栏中提到的术语,用于从数据集中获取满足搜索条件的特定记录。在下面的示例中,我们正在搜索包含两个突出显示的术语的记录。

斯普_1

命令

您可以使用 SPL 提供的许多内置命令来简化分析结果集中数据的过程。在下面的示例中,我们使用 head 命令仅过滤掉搜索操作中的前 3 个结果。

斯普_2

功能

除了命令之外,Splunk 还提供了许多内置函数,这些函数可以从正在分析的字段获取输入,并在对该字段应用计算后给出输出。在下面的示例中,我们使用Stats avg()函数来计算作为输入的数字字段的平均值。

斯普_3

条款

当我们想要获取按某些特定字段分组的结果或者想要重命名输出中的字段时,我们分别使用 group by子句和 as 子句。在下面的示例中,我们获取web_application日志中存在的每个文件的平均字节大小。如您所见,结果显示每个文件的名称以及每个文件的平均字节数。

斯普_4