Azure 監視器記錄中的查詢套件

查詢套件如同 Azure 監視器中記錄查詢的容器。 可讓您儲存記錄查詢,在 Log Analytics 的工作區和其他內容之間共用。

權限

您可以在 Azure 入口網站中檢視查詢套件時,設定查詢套件的權限。 您需要下列權限才能使用查詢套件:

  • 讀者:使用者可以查看並執行查詢套件中的所有查詢。

  • 參與者:使用者可以修改現有的查詢,並將新的查詢新增至查詢套件。

    重要

    當使用者需要修改或新增查詢時,請一律將 DefaultQueryPack 的參與者權限授與使用者。 否則,使用者無法將任何查詢儲存至訂用帳戶,包括無法儲存在其他查詢套件中。

檢視查詢套件

您可以從 [Log Analytics 查詢套件] 功能表檢視和管理 Azure 入口網站中的查詢元件。 選取查詢套件以檢視和編輯其權限。 本文說明如何使用 API 建立查詢套件。

Screenshot that shows query packs.

預設查詢套件

當您儲存第一個查詢時,Azure 監視器會在名為 LogAnalyticsDefaultResources 的資源群組中,在每個訂用帳戶中自動建立名為 DefaultQueryPack 的查詢套件。 您可以將查詢儲存至此查詢套件,或根據您的需求建立其他查詢套件。

使用多個查詢套件

對大部分的使用者而言,預設查詢套件足以儲存及重複使用查詢。 但在一些情況下,您可能想要為組織中的使用者建立多個查詢套件,例如,您想要在不同的 Log Analytics 工作階段中載入不同的查詢集,並為不同的查詢集提供不同的權限。

建立新的查詢套件時,您可以新增標記,根據您的商務需求將查詢分類。 例如,您可以標記查詢套件,使其與組織中的特定部門相關聯,或與包含查詢要解決的問題嚴重性相關聯。 透過使用標記,您可以建立適用於不同使用者組別和不同情況的不同查詢集。

若要將查詢套件新增至您的 Log Analytics 工作區:

  1. 開啟 Log Analytics,然後選取右上角 [查詢]
  2. 在 [查詢] 對話方塊的左上角,在 [查詢套件] 旁,按一下 [選取查詢套件]或 [已選取 0 個]
  3. 選取您要新增至工作區的查詢套件。

Screenshot that shows the Select query packs page in Log Analytics, where you can add query packs to a Log Analytics workspace.

重要

您最多可以將五個查詢套件新增至 Log Analytics 工作區。

建立查詢套件

您可以使用 REST API 建立查詢套件,或在 Azure 入口網站的 [Log Analytics 查詢套件] 窗格中建立查詢套件。 若要在入口網站中開啟 [Log Analytics 查詢套件] 窗格,請選取 [所有服務]> [其他]

注意

儲存在查詢套件中的查詢不會使用客戶自控金鑰加密。 請在儲存查詢時改為選取 [另存為舊版查詢],以使用客戶自控金鑰保護查詢。

建立權杖

您必須使用權杖驗證 API 要求。 有數個方法可以取得權仗。 其中一個方法是使用 armclient

首先,使用下列命令登入 Azure:

armclient login

然後使用下列命令建立權杖。 權杖會自動複製到剪貼簿,以便您將權杖貼到另一個工具。

armclient token

建立承載

要求的承載是 JSON,定義一或多個查詢,以及應該儲存查詢套件的位置。 查詢套件名稱會在下一節所述的 API 要求中指定。

{
    "location": "eastus",
    "properties":
    {
        "displayName": "Query name that will be displayed in the UI",
        "description": "Query description that will be displayed in the UI",
        "body": "<<query text, standard KQL code>>",
        "related": {
            "categories": [
                "workloads"
            ],
            "resourceTypes": [
                "microsoft.insights/components"
            ],
            "solutions": [
                "logmanagement"
            ]
        },
        "tags": {
            "Tag1": [
                "Value1",
                "Value2"
            ]
        }
    }
}

查詢套件中的每個查詢都有下列屬性:

屬性 說明
displayName 每個查詢的 Log Analytics 中所列的顯示名稱。
description 針對每個查詢顯示在 Log Analytics 中的查詢描述。
body 以 Kusto 查詢語言撰寫。
related 查詢的相關類別、資源類型和解決方案。 使用者用於在 Log Analytics 中分組和篩選,以協助找出其查詢。 每個查詢的每個類型最多可以有 10 個。 從 https://api.loganalytics.io/v1/metadata?select=resourceTypes、解決方案和類別擷取允許值。
tags 使用者在 Log Analytics 中用來排序和篩選的其他標籤。 分組和篩選查詢時,每個標記都會新增至類別、資源類型和解決方案。

建立要求

使用下列要求,以使用 REST API 建立新的查詢套件。 要求應該使用持有人權杖授權。 內容類型應該是 application/json

POST https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.Insights/querypacks/my-query-pack?api-version=2019-09-01

使用可以提交 REST API 要求的工具 (例如 Fiddler 或 Postman),以使用上一節所述的承載提交要求。 系統會在承載中產生並傳回查詢識別碼。

建立查詢套件

若要更新查詢套件,請使用更新的承載提交下列要求。 此命令需要查詢套件識別碼。

POST https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.Insights/querypacks/my-query-pack/queries/query-id/?api-version=2019-09-01

下一步

請參閱在 Azure 監視器 Log Analytics 中使用查詢,以瞭解使用者如何與 Log Analytics 中的查詢套件互動。