Splunk 简明教程

Splunk - Search Optimization

Splunk 已包含优化功能、分析并处理您的搜索以获得最高效率。这种效率主要通过以下两个优化目标实现 −

  1. Early Filtering − 这些优化很早就过滤结果,以便在搜索过程中尽可能早地减少获得处理的数据量。这种早期过滤避免了对不是最终搜索结果的事件进行不必要的查找和评估计算。

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

Analysing Search Optimisations

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

Example

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

我们遵循 Search → Job → Inspect Job 路径才能获取以下详细内容:

image::https://www.iokays.com/tutorialspoint/splunk/_images/search_optimisastion_1.jpg [Search Optimisastion1]

下一个屏幕提供上述查询中发生的优化的详细信息。在这里,我们需要记录事件数和返回结果所需的时间。

image::https://www.iokays.com/tutorialspoint/splunk/_images/search_optimisastion_2.jpg [Search Optimisastion2]

Turning Off Optimization

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

在下图中,我们使用 No Optimization 命令,它显示为 noop 搜索查询。

image::https://www.iokays.com/tutorialspoint/splunk/_images/search_optimisastion_3.jpg [Search Optimisastion3]

下一个屏幕向我们展示了不使用优化的结果。对于此给定查询,未经内置优化,结果会更快。

image::https://www.iokays.com/tutorialspoint/splunk/_images/search_optimisastion_4.jpg [Search Optimisastion4]