Splunk 查找

2025年3月17日 | 阅读 7 分钟

在本节中,我们将学习Splunk 平台中的查找。我们还将学习Splunk 中的查找是什么,查找的类型,查找表文件,搜索命令和查找,以及查找中的操作。

查找

查找通过添加来自搜索表的变化字段值来扩展我们的事件数据。Splunk 软件使用查找将我们事件数据中的字段值组合与外部查找表中的字段值组合进行匹配。如果 Splunk 软件在我们搜索表中找到这些字段值组合,Splunk 软件会将表中相应的字段值组合添加到表中。

查找类型

有四种类型的查找

  • CSV 查找
  • 外部查找
  • KV 存储查找
  • 地理空间查找

Splunk Web 中,我们可以通过“设置”搜索页面创建查找。

我们可以通过编辑配置文件来自定义查找,无论我们使用的是 Splunk Enterprise 还是 Splunk Light,我们都可以访问 Splunk 部署配置文件。

查找表文件

包含视图表的文件称为查找表文件。标准的查找从该表中提取字段,并在匹配我们事件中的相应字段时将它们添加到我们的事件中。

所有类型的查找都使用查找表,但只有两种类型的查找要求我们上传查找表文件。它们是 CSV 查找和地理空间查找。多个查找定义可以利用单个查找表文件。

例如,假设我们有一个文件,它在 CSV 查找表中提供了 http 状态字段的定义。如果我们的事件包含 http status = 503,我们可以有一个查找,它在查找表列中找到 http 状态字段的 503 值,并从该查找表中提取相应的状态描述值。

然后,查找会将 status description = Service Non-available, Server Error 添加到任何 http status = 503 事件中。

查找定义

查找的定义提供了查找的名称以及查找表的路径。查找定义可以包含其他设置,例如匹配规则,或对我们 Splunk 平台中与查找匹配的字段的限制。一个查找表可以有多个查找的定义。

所有类型的查找都需要查找的定义。但这必须在我们创建查找定义之后进行。

自动查找

使用自动查找,可以在搜索时将自动查找应用于所有搜索。在创建了搜索描述的自动化搜索之后,我们无需手动调用查找按钮。

搜索命令和查找

定义并与应用程序共享我们的查找后,我们可以通过用于搜索的命令与它们进行交互

  • lookup:用于在搜索结果的事件中添加查找字段。
  • inputlookup:用于搜索查找表的内容。
  • outputlookup:用于将搜索结果中的字段写入您指定的静态查找表文件或 KV 存储集合。我们不能将 outputlookup 命令与外部查找一起使用。

查找和搜索时间操作序列

搜索时间操作顺序

查找在搜索时间操作顺序中排在第六位,在计算字段之后的事件类型之前进行处理。

限制

Splunk 软件按 ASCII 排序顺序处理属于特定主机、源或源类型的查找。

查找配置可以引用字段的字段提取、字段别名和计算字段。它们不能引用事件的类型和标签。

在 Splunk Web 中定义 CSV 查找

基于文件的查找,通过 CSV 文件表示的静态表中的字段值与我们事件中的字段值进行匹配。将表中相应的字段值输出到我们的事件。它们通常被称为静态查找。

CSV 查找最适合小型数据集。在 Splunk Web 中创建 CSV 查找的通用工作流程是上传文件,共享该文件作为查找表,然后为该查找表创建查找定义。CSV 内联搜索表文件,以及使用 CSV 文件的内联搜索描述,都是数据集的类型。请参阅类型和使用数据集。

CSV 文件中的限制

在查找中,我们可以对 CSV 查找有一些限制。

  • CSV 格式的表至少应包含 2 列。其中一列代表我们事件中具有一组值的字段。这必须包含属于字段的值。该列的名称不必与字段名称相同。任何列都可以有多个相等的值,这在 Splunk 查找中是多值字段。
  • 在查找中,CSV 文件不能有“\r”换行符。
  • 另外,在 Splunk 查找中,CSV 文件中的标题行不得超过 4096 个字符。

上传查找表文件

为了使用查找表文件,我们必须将文件上传到我们的 Splunk 平台。

前提条件

  • 表必须是 .csv 或 .gz 格式。
  • 我们的作业必须具备上传查找文件的能力。没有它,我们就无法将查找表文件上传到 Splunk 站点。

步骤:

  1. 要转到“查找管理器”选项卡,请选择“设置”>“查找”。
  2. 在“操作”列中,点击“查找表”旁边的“添加新文件”。
  3. 从列表中选择一个“目标应用程序”。查找的表文件将保存在应用程序在系统中所在的位置。例如:$SPLUNK HOME / etc / users///lookups/.
  4. 点击“选择密码”扫描以上传 CSV 文件。Splunk 软件会将我们的 CSV 文件保存在$SPLUNK HOME / etc / system / lookups/$SPLUNK HOME / etc/lookups/(如果它属于特定应用程序)。
  5. 输入目标文件名。这就是它在 Splunk 服务器上作为查找表文件的名称。如果您上传了已压缩的 CSV 文件,请输入以 .gz 结尾的文件名。上传纯文本 CSV 文件时,请使用以 .csv 结尾的文件名。
  6. 单击“保存”按钮。

与应用程序共享表查找文件

上传查找文件后,告诉 Splunk 软件哪些应用程序可以使用此文件。默认应用程序是启动器。按照以下步骤与应用程序共享表查找文件。

  1. 点击“设置”选项 >“查找”
  2. 现在,从“查找管理器”选项中,点击“查找表文件”
  3. 现在,点击要共享的查找的“共享”列中的“权限”
  4. 现在,“权限”对话框中,“对象应显示在”下,选择“所有应用程序”以全局共享。如果您希望查找仅限于此应用程序,请选择“此应用程序”。您也可以通过选择“保持私有”来保持查找私有。
  5. 单击 保存

创建 CSV 查找定义

我们必须使用查找表文件来创建查找定义。

前提条件

我们必须共享查找表文件,以便 Splunk 可以看到它,从而创建查找定义。

  1. 选择“设置”>“查找”
  2. 点击“查找定义”
  3. 点击“新建”
  4. 从列表中选择一个目标应用程序
    我们的查找表文件保存在应用程序所在的位置。
  5. 例如:$SPLUNK HOME / etc / users/<username>/<app name>/lookups/
  6. 必须为查找定义指定一个唯一的名称
  7. 现在,选择“基于文件”作为查找类型
  8. 现在从列表中选择查找文件。CSV 查找的文件扩展名必须为 .csv,
  9. 如果 CSV 文件包含时间字段,请选择“配置基于时间戳的查找”复选框,使 CSV 查找具有时间限制。(可选步骤)
  10. 单击 保存

我们的查找定义为基于 CSV 文件的搜索,并出现在搜索定义列表中。

与应用程序共享查找定义

创建查找定义后,指定我们希望在该定义中使用查找的应用程序。

  1. 点击“设置”选项 >“查找”
  2. 接下来,点击“查找定义”选项。
  3. 在“查找定义”列表中,现在点击要共享的查找定义的“共享”列中的“权限”
  4. 在“权限”对话框中,“对象将显示在”下,选择“所有应用程序”以全局共享。如果您只希望此查找仅限于此应用程序,请选择“此应用程序”。选择“保持私有”也将使您的查找私有
  5. 单击 保存

我们可以使用此查找字段,将查找表文件中的信息添加到我们的事件中。在搜索字符串中,我们可以使用带有搜索按钮的字段查找。我们可以自动设置字段查找以运行有关如何创建自动查找的信息。

处理大型 CSV 查找表

查找表在搜索头上构建和更新。搜索头会将新的或修改的查找表复制到其他搜索头或索引器(用于某些任务)。

  • 知识包复制。当搜索头将搜索分发给索引器时,也会将相关的知识包分发给索引器。知识包包含索引器需要进行搜索的知识对象,例如搜索表。
  • 配置复制(搜索头集群)。对于搜索头集群,集群中的所有其他搜索头都会自动复制在其中一个搜索头上所做的运行时修改。如果用户在集群搜索头上创建或更新搜索表,该搜索头会将更新后的表复制到其他搜索头上。
  • 根据情况,搜索头或索引器(或两者)必须复制搜索表的更新版本。默认情况下,搜索头每次都会发送表中任何部分的更改到整个表。

使查找自动化

当我们要将字段查找应用于我们的事件时,我们可以设置查找自动运行,而不是在搜索中使用查找命令。


下一主题Splunk 告警