你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Azure Monitor 中运行搜索作业

搜索作业是在 Log Analytics 中对任何数据运行的异步查询(包括交互式保留和长期保留的数据),这使得查询结果可在工作区内用于新搜索表中的交互式查询。 搜索任务利用并行处理,可以在大型数据集上运行数小时。 本文介绍如何创建搜索作业以及如何查询其结果数据。

此视频介绍何时以及如何使用搜索任务:

所需的权限

行动 所需的权限
运行搜索任务 对 Log Analytics 工作区的 Microsoft.OperationalInsights/workspaces/tables/writeMicrosoft.OperationalInsights/workspaces/searchJobs/write 权限,例如 Log Analytics 参与者内置角色所提供的权限。

注意

目前不支持跨租户搜索作业,即使通过 Azure Lighthouse 管理 Entra ID 租户也不例外。

何时使用搜索作业

可以使用搜索作业完成以下操作:

  • 长期保留内容以及基本计划和辅助计划的表中检索记录,并将其整合到一个新的 Analytics 表中,以便充分利用 Azure Monitor 日志的完整分析功能。
  • 如果 10 分钟的日志查询超时时间不够,则可扫描大量数据。

搜索作业的用途是什么?

搜索作业将其结果发送到与源数据位于同一工作区中的新表中。 搜索作业开始后,结果表即告可用,但结果可能需要一段时间才能开始显示。

搜索作业结果表是一个分析表,可用于日志查询和其他使用工作区中表的 Azure Monitor 功能。 该表使用为工作区设置的保留值,但你可以在创建表后修改此值。

搜索结果表架构基于源表架构和指定的查询。 以下其他列可帮助你跟踪源记录:

_OriginalType Type 值来自源表。
_OriginalItemId 源表中的 _ItemID 值。
_OriginalTimeGenerated 源表中的 TimeGenerated 值。
TimeGenerated 搜索作业运行的时间。

对结果表的查询显示在日志查询审核中,但不显示在初始搜索作业中。

运行搜索任务

运行搜索作业,以将大型数据集中的记录提取到工作区中的新搜索结果表中。

提示

运行搜索作业会产生费用。 因此,在运行搜索作业之前,请在交互式查询模式下写入和优化查询。

若要运行搜索作业,请在 Azure 门户中执行以下操作:

  1. 在“Log Analytics 工作区”菜单中,选择“日志”。

  2. 键入一个搜索作业查询或仅选择所需的表。

  3. 选择屏幕右侧的省略号菜单,然后选择 “搜索作业”。

    “日志”屏幕的屏幕截图,其中突出显示了“搜索作业”菜单项。

  4. 使用时间选取器指定搜索作业日期范围。 最大范围为一年,但可以是数据保留期允许的任何一年。

    如果你的 Kusto 查询还指定了时间范围,则使用时间范围的合并来进行搜索作业。

    显示提示时间范围和搜索作业结果表的搜索作业界面的屏幕截图。

  5. 请输入搜索作业结果表的名称,然后选择“运行搜索作业”。

    Azure Monitor 日志运行搜索作业,并在工作区中为搜索作业结果创建新表。

  6. 新表准备就绪后,选择 <查看”searchtablename>_SRCH“ 以查看 Log Analytics 中的表。

    搜索作业结果在开始流入新创建的搜索作业结果表时可用。

    显示带有数据的搜索作业结果表的屏幕截图。

    Azure Monitor 日志显示搜索作业已完成时,会出现已完成消息。 当你看到该消息或进度显示为 100%时,结果表格已经准备好,包含与搜索查询匹配的所有记录。

获取搜索任务状态和详细信息

  1. 在“Log Analytics 工作区”菜单中,选择“日志”。

  2. “表搜索结果”>中,将鼠标悬停在搜索结果表上以查看进度。

    搜索作业结果表中的图标会显示更新指示器图标,直到搜索作业完成。

    显示 Azure 门户中“日志”屏幕上的“表”选项卡的屏幕截图,其中搜索结果表列在“搜索结果”下。

删除搜索作业表

我们建议你在查询完表后删除搜索作业表。 此最佳做法可减少工作区混乱和数据保留的额外费用。

限制

搜索作业存在以下限制:

  • 已经优化为一次只查询一个表。
  • 搜索日期范围最长为一年。
  • 支持最长运行 24 小时的搜索,超时后停止。
  • 记录集中的结果记录数量限制为 100 万条。
  • 每个工作区最多可同时执行五个搜索作业。
  • 每个工作区限制为 100 个搜索结果表。
  • 每个工作区每天只能执行 100 个搜索作业。

达到记录限制时,Azure 将中止作业,状态为“部分成功”,并且表中仅包含截至该点引入的记录

KQL 查询限制

搜索作业旨在扫描特定表中的大量数据。 因此,搜索作业查询必须始终以表名开头。 为了使用分布和分段启用异步执行,查询支持 KQL 的子集,包括运算符:

  • [where](/azure/data-explorer/kusto/query/whereoperator)
  • [extend](/azure/data-explorer/kusto/query/extendoperator)
  • [project](/azure/data-explorer/kusto/query/projectoperator)
  • [project-away](/azure/data-explorer/kusto/query/projectawayoperator)
  • [project-keep](/azure/data-explorer/kusto/query/project-keep-operator)
  • [project-rename](/azure/data-explorer/kusto/query/projectrenameoperator)
  • [project-reorder](/azure/data-explorer/kusto/query/projectreorderoperator)
  • [parse](/azure/data-explorer/kusto/query/parse-operator)
  • [parse-where](/azure/data-explorer/kusto/query/parse-where-operator)

可以在这些运算符中使用所有函数和二元运算符。

定价模型

搜索作业的费用基于以下因素:

  • 搜索作业执行:

    • 分析计划 - 搜索作业扫描的数据中属于长期保留的数据量。 扫描 Analytics 表中的交互式保留数据无需支付任何费用。

    • 基本计划或辅助计划 - 搜索作业扫描的所有数据,包括交互式保留和长期保留的数据。

      扫描的数据定义为在指定的时间范围内运行搜索作业的表中的数据量。 有关交互式和长期保留的详细信息,请参阅管理 Log Analytics 工作区中的数据保留

  • 搜索作业结果 - 搜索作业找到并引入到结果表中的数据量,基于 Analytics 表的数据引入速率。

例如,如果对基本表进行搜索的时间跨度为 30 天,而该表每天保存 500 GB 的数据,则需要支付 15,000 GB 的扫描数据费用。 如果搜索作业返回 1,000 条记录,则需要支付将这 1,000 条记录引入结果表中的费用。

有关详细信息,请参阅 Azure Monitor 定价

后续步骤