Azure Monitor 日志中的查询包

查询包在 Azure Monitor 中作为日志查询的容器。 借此,你可以保存日志查询,并在 Log Analytics 中跨工作区和其他上下文共享它们。

权限

在Azure门户中查看查询包时,请设置对查询包的权限。 应用两个角色上下文,具体取决于是在现有查询包中使用查询还是创建新的查询包。

若要在现有查询包中使用或修改查询,请为查询包分配以下角色之一:

  • 读取者:查看并运行查询包中的所有查询。
  • 参与者:修改现有查询并将新查询添加到查询包。

创建新的查询包需要一个不同的角色,该角色在更广泛的范围内分配。

重要

若要创建查询包,请在资源组范围内为用户分配Log Analytics参与者角色。

查看查询包

从Log Analytics查询包菜单查看和管理Azure门户中的查询包。 选择一个查询包可查看和编辑其权限。 显示查询包的屏幕截图。

默认查询包

Azure Monitor 会在你保存第一个查询时自动在名为 DefaultQueryPack 的资源组中的每个订阅中创建一个名为 LogAnalyticsDefaultResources 的查询包。 根据要求,将查询保存到此查询包或创建其他查询包。

使用多个查询包

对于大多数用户而言,默认查询包就足以保存和重复使用查询。 例如,如果要在不同的Log Analytics会话中加载不同的查询集,并为不同的查询集合提供不同的权限,请为组织中的用户创建多个查询包。

创建新的查询包时,请添加标记,以便根据业务需求对查询进行分类。 例如,标记查询包以将其与组织中的特定部门或包含的查询要解决的问题严重性相关联。 使用标记可以创建适用于不同用户集和不同情况的不同查询集。

要将查询包添加到 Log Analytics 工作区:

  1. 打开 Log Analytics 并选择右上角的“查询”。
  2. 在“查询”对话框的左上角,单击“查询包”旁边的“选择查询包”或“已选择 0 个”。
  3. 选择要添加到工作区的查询包。

屏幕截图显示 Log Analytics 中的“选择查询包”页,在该页面可以向 Log Analytics 工作区添加查询包。

重要

Log Analytics工作区最多支持五个查询包。

创建查询包

本文介绍如何使用 REST API 创建查询包。 或者,在Azure门户中的“Log Analytics查询包”窗格中创建查询包。 若要在门户中打开“Log Analytics 查询包”窗格,请选择“所有服务”,然后选择“其他”

注释

保存在查询包中的查询不会使用客户管理的密钥加密。 改为在保存查询时选择“ 另存为旧查询 ”,以使用客户管理的密钥对其进行保护。

为查询包 API 创建令牌

API 请求需要令牌进行身份验证。 使用以下任一方法获取令牌。

一种方法是使用Azure CLI:

az account get-access-token --resource https://management.chinacloudapi.cn

另一种方法是使用开源命令行工具 ARMClient。 首先,登录到Azure:

armclient login

然后创建令牌。 令牌会自动复制到剪贴板,可直接粘贴到另一个工具中。

armclient token

创建查询包负载

查询包是包含查询的Azure资源。 其负载指定 Azure 区域和可选的资源标记。 查询包名称是请求 URI 的一部分。

{
    "location": "chinaeast2",
    "properties": {},
    "tags": {
        "Department": "IT"
    }
}

创建查询包请求

将以下请求与查询包有效负载一起使用,以创建或替换查询包。 使用持有者令牌授权和 application/json 内容类型。

PUT https://management.chinacloudapi.cn/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/queryPacks/my-query-pack?api-version=2025-07-01

有关完整操作参考,请参阅 查询包 - 创建或更新

将查询添加到查询包

创建唯一的查询 ID(例如 UUID),并在请求 URI 中使用。 查询有效负载与查询包有效负载分开。

{
    "properties": {
        "displayName": "All events",
        "description": "Returns event records.",
        "body": "Event",
        "related": {
            "categories": [
                "workloads"
            ],
            "resourceTypes": [
                "microsoft.insights/components"
            ],
            "solutions": [
                "logmanagement"
            ]
        },
        "tags": {
            "Environment": [
                "Production"
            ]
        }
    }
}

查询包中的每个查询都具有以下属性:

资产 DESCRIPTION
displayName 查询包内该查询的唯一显示名称。
description Log Analytics 中显示的查询说明。
body 用 Kusto 查询语言编写的查询。
related 查询的相关类别、资源类型和解决方案。 用于在Log Analytics中进行分组和筛选,以帮助查找查询。 每个查询最多可以有 10 个类型的值。 通过选择resourceTypessolutionscategories,从元数据端点中检索允许的值。
tags 用于在Log Analytics中进行排序和筛选的标记。 对查询进行分组和筛选时,每个标记都会添加到类别、资源类型和解决方案。

随此请求一起提交查询负载:

PUT https://management.chinacloudapi.cn/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/queryPacks/my-query-pack/queries/11111111-1111-1111-1111-111111111111?api-version=2025-07-01

有关完整的操作参考,请参阅 查询 - Put

更新查询

若要更新现有查询,请通过 PATCH 请求提交完整的查询负载。 使用查询资源 URI 中的查询 ID。

PATCH https://management.chinacloudapi.cn/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/queryPacks/my-query-pack/queries/11111111-1111-1111-1111-111111111111?api-version=2025-07-01

有关完整操作参考,请参阅 “查询 - 更新”。

后续步骤

请参阅在 Azure Monitor Log Analytics 中使用查询,了解用户如何在 Log Analytics 中与查询包交互。