在 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. 请选择屏幕右侧的省略号菜单,然后将“搜索作业模式”切换为开启状态。

    “日志”屏幕的屏幕截图,其中突出显示了“搜索作业模式”开关。

    Azure Monitor 日志 intellisense 支持搜索作业模式下的 KQL 查询限制,有助于写入搜索作业查询。

  3. 使用时间选取器指定搜索作业日期范围。

  4. 请键入搜索作业查询,并选择“搜索作业”按钮。

    Azure Monitor 日志会提示你提供结果集表的名称,并通知你会对搜索作业进行计费。

    显示了 Azure Monitor 日志提示以提供搜索作业结果表的名称的屏幕截图。

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

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

    显示 Azure Monitor 日志消息的屏幕截图,该消息指出搜索作业正在运行,且很快就会提供搜索作业结果表。

  6. 新表准备就绪后,选择“查看 tablename_SRCH”,即可在 Log Analytics 中查看该表。

    显示 Azure Monitor 日志消息的屏幕截图,该消息显示搜索结果表可供查看。

    当搜索作业结果开始流入新创建的搜索作业结果表时,可以看到它们。

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

    Azure Monitor 日志会在搜索作业结束时显示“搜索作业已完成”这一消息。 结果表现已准备就绪,其中包含与搜索查询匹配的所有记录。

    显示 Azure Monitor 日志消息的屏幕截图,该消息指出搜索作业已完成。

获取搜索工作状态和详细信息

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

  2. 在“表”选项卡中,选择“搜索结果”以查看所有搜索作业结果表。

    在搜索作业完成之前,搜索作业结果表上的图标都会显示更新指示。

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

删除搜索作业表

我们建议你在查询完表后删除搜索作业表。 这样会减少工作空间混乱和额外的数据保留费用。

限制

搜索作业存在以下限制:

  • 优化为一次查询一个表。
  • 搜索日期范围最长为一年。
  • 支持长达 24 小时超时的长时间运行搜索。
  • 结果限制为记录集中的 100 万条记录。
  • 并发执行限制为每个工作区五个搜索作业。
  • 每个工作区限制为 100 个搜索结果表。
  • 每个工作区每天只能执行 100 个搜索作业。

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

KQL 查询限制

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

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

定价模型

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

  • 搜索作业执行:

    • 分析计划 - 搜索作业扫描的长期保留数据量。 扫描 Analytics 表中交互式保留的数据不收取任何费用。
    • 基本计划或辅助计划 - 搜索作业扫描的所有数据,包括交互式和长期保留中的。

    有关交互式和长期保留的详细信息,请参阅管理 Log Analytics 工作区中的数据保留

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

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

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

后续步骤