Splunk - 搜索优化

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

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

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

分析搜索优化

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

示例

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

我们遵循搜索 → 作业 → 的路径检查作业以获取以下详细信息 −

Search Optimisastion1

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

Search Optimisastion2

关闭优化

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

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

Search Optimisastion3

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

Search Optimisastion4