Splunk - 搜索优化



Splunk 已经包含了优化功能,分析并处理您的搜索以实现最大效率。这种效率主要通过以下两个优化目标实现:

  • 早期过滤 - 这些优化会在早期过滤结果,以便在搜索过程中尽早减少处理的数据量。此早期过滤器避免对不属于最终搜索结果的事件进行不必要的查找和评估计算。

  • 并行处理 - 内置优化可以重新排序搜索处理,以便在将搜索结果发送到搜索头进行最终处理之前,尽可能多地在索引器上并行运行命令。

分析搜索优化

Splunk 为我们提供了分析搜索优化如何工作的工具。这些工具帮助我们弄清楚如何使用过滤条件以及这些优化步骤的顺序。它还告诉我们搜索操作中各个步骤的成本。

示例

考虑一个搜索操作,查找包含以下单词的事件:fail、failed 或 password。当我们将此搜索查询放入搜索框时,内置优化器会自动执行操作以确定搜索路径。我们可以验证搜索返回特定数量的搜索结果所花费的时间,如果需要,可以继续检查优化的每个步骤以及与其相关的成本。

我们按照搜索 → 作业 → 检查作业的路径获取这些详细信息,如下所示:

Search Optimisastion1

下一个屏幕显示了上述查询发生的优化的详细信息。在这里,我们需要注意返回结果的事件数量和时间。

Search Optimisastion2

关闭优化

我们还可以关闭内置优化,并注意搜索结果所花费的时间差异。结果可能比内置搜索更好也可能更差。如果更好,我们总是可以选择仅针对此特定搜索关闭优化的选项。

在下图中,我们在搜索查询中使用表示为noop的“无优化”命令。

Search Optimisastion3

下一个屏幕显示了不使用优化所得到的结果。对于此给定查询,不使用内置优化,结果返回得更快。

Search Optimisastion4
广告