Splunk 搜索语言

 

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

 

SPL 的组成部分

SPL 具有以下组件。

  • 搜索词-这些是您要查找的关键字或词组。
  • Commands-您要对结果集采取的操作,例如格式化结果或对其进行计数。
  • 函数-您要对结果应用哪些计算。如总和、平均等
  • 条款-如何对结果集中的字段进行分组或重命名。

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

 

搜索词

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

Spl_1

 

命令

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

Spl_2

 

功能

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

Spl_3

 

条款

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

Spl_4

 Splunk 已经包含优化功能、分析和处理您的搜索以实现最高效率。这种效率主要通过以下两个优化目标来实现:早期过滤-这些优化很早就过滤了结果,以便在搜索过程中尽早减少处理的数据量。这种早期过滤器可避免对不 ...