Splunk - 搜索优化


Splunk 已包含优化功能,可分析和处理您的搜索以实现最高效率。这种效率主要通过以下两个优化目标来实现 -

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

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

分析搜索优化

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

例子

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

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

搜索优化1

下一个屏幕提供了上述查询优化的详细信息。在这里,我们需要记下事件的数量以及返回结果所花费的时间。

搜索优化2

关闭优化

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

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

搜索优化3

下一个屏幕为我们提供了未使用优化的结果。对于这个给定的查询,在不使用内置优化的情况下,结果会更快。

搜索优化4