在 Azure Monitor 中运行搜索作业

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

所需的权限

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

注意

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

何时使用搜索作业

搜索作业可用于:

搜索作业有什么作用?

搜索作业会扫描数据并将其结果发送到与源数据相同的工作区中的新表。 搜索作业开始后,结果表即告可用,但结果可能需要一段时间才能开始显示。 根据扫描数据的 定价模型 和引入结果的大小产生成本。 在运行搜索作业之前,可以使用成本估算来确定是否运行作业。

显示成本估算预览的屏幕截图。

搜索作业结果表是一个分析表,可用于日志查询和其他使用工作区中表的 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 万条记录。
  • 每个工作区的并发执行限制为 10 个搜索作业。
  • 限制为每个工作区 200 个搜索结果表。
  • 每个工作区每天最多只能执行200次搜索作业。

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

KQL 查询注意事项

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

这些运算符中的所有函数和二进制运算符都可用。

定价模型

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

  • 搜索作业执行:

    • 分析计划 - 搜索作业扫描的长期保留数据量。 扫描 Analytics 表中分析保留期内的数据不收取任何费用。

    • 基本 - 搜索作业在长期保留期中扫描的所有数据。

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

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

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

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