共用方式為


使用 Azure 資料總管來查詢 Azure 監視器中的資料

Azure 數據總管支援 Azure 數據總管、Application Insights 資源 (AI) 和 Log Analytics 工作區 (LA) 之間的跨服務查詢。 您可以使用 Azure 數據總管查詢工具和跨服務查詢,查詢 Log Analytics 工作區或 Application Insights 資源。 本文說明如何建立跨服務查詢,並將 Log Analytics 工作區或 Application Insights 資源新增至 Azure 數據總管 Web UI。

Azure 數據總管跨服務查詢流程:

顯示 Azure 數據總管跨服務查詢流程的圖表。

將 Log Analytics 工作區/Application Insights 資源新增至 Azure 數據總管用戶端工具

將 Log Analytics 工作區或 Application Insights 資源新增至 Azure 數據總管用戶端工具,以啟用叢集的跨服務查詢。

  1. 在連線到 Log Analytics 工作區或 Application Insights 資源之前,請先確認您的 Azure 數據總管原生叢集 (例如 說明 叢集)出現在左側功能表上。

    顯示左側功能表的螢幕快照,其中已選取說明叢集做為 Azure 數據總管原生叢集。

  2. 在 Azure 數據總管 UI 中,選取 [+ 新增],然後選取 [連線]。

  3. 在 [ 新增連線] 視窗中,新增 Log Analytics (LA) 工作區或 Application Insights (AI) 資源的 URL 和顯示名稱。

    • 針對 Log Analytics (LA) 工作區: https://ade.loganalytics.io/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.operationalinsights/workspaces/<workspace-name>
    • 針對 Application Insights (AI) 資源: https://ade.applicationinsights.io/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.insights/components/<ai-app-name>

    注意

    指定 https://ade.applicationinsights.io/subscriptions/<subscription-id> 以查看訂用帳戶中的所有資料庫。 此語法也適用於Log Analytics工作區叢集。

  4. 選取 [新增]。

    顯示 [新增連線] 視窗的螢幕擷取畫面。

    注意

    • 下列有不同的端點:
    • Azure Government - adx.monitor.azure.us/
    • Azure 中國 - adx.monitor.azure.cn/
    • 如果您將連線新增至多個Log Analytics工作區/Application insights 資源,請為每個名稱提供不同的名稱。 否則,左窗格中的名稱會全部相同。
  5. 建立連線之後,您的Log Analytics工作區或Application Insights資源將會出現在左側窗格中,其中包含您的原生 Azure 數據總管叢集。

    顯示 Log Analytics 工作區和 Azure 數據總管叢集的螢幕快照。

注意

您在 Azure 監視器中的數據上從 Azure 數據總管執行的查詢受限於 跨資源查詢限制

執行查詢

您可以使用支援 Kusto 查詢的用戶端工具來執行查詢,例如:Kusto Explorer、Azure 數據總管 Web UI、Jupyter Kqlmagic、Flow、PowerQuery、PowerShell、Lens、REST API。

注意

跨服務查詢僅用於數據擷取。 如需詳細資訊,請參閱函式支援性

提示

  • 資料庫的名稱應該與跨服務查詢中指定的資源相同。 名稱區分大小寫。
  • 在跨服務查詢中,請確定ApplicationInsights資源和Log Analytics工作區名稱正確無誤。
  • 如果名稱包含特殊字元,則會由跨服務查詢中的URL編碼取代。
  • 如果名稱中包含不符合 KQL 識別碼名稱規則的字元,則會以破折號 - 字元來取代。

從 Azure 數據總管用戶端工具直接查詢 Log Analytics 工作區或 Application Insights 資源

您可以從 Azure 數據總管用戶端工具,在 Log Analytics 工作區或 Application Insights 資源上執行查詢。

  1. 確認左側窗格中已選取您的工作區。

  2. 執行下列查詢:

Perf | take 10 // Demonstrate cross-service query on the Log Analytics workspace

顯示查詢 Log Analytics 工作區的螢幕快照。

跨查詢 Log Analytics 工作區或 Application Insights 資源和 Azure 數據總管原生叢集

當您執行跨叢集服務查詢時,請確認已在左窗格中選取您的 Azure 數據總管原生叢集。 下列範例示範如何結合 Azure 數據總管叢集數據表 (使用 union) 與 Log Analytics 工作區。

執行下列查詢:

union StormEvents, cluster('https://ade.loganalytics.io/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.operationalinsights/workspaces/<workspace-name>').database('<workspace-name>').Perf
| take 10
let CL1 = 'https://ade.loganalytics.io/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.operationalinsights/workspaces/<workspace-name>';
union <ADX table>, cluster(CL1).database(<workspace-name>).<table name>

顯示來自 Azure 數據總管 Web U I 之跨服務查詢的螢幕快照。

提示

若使用 join 運算子 (而不是 union),可能需要 hint 在 Azure 資料總管原生叢集上執行該運算子。

將一個租用戶中的 Azure 資料總管叢集資料與另一個租用戶中的 Azure 監視器資源資料聯結

不支援在服務之間進行跨租用戶查詢。 您會登入單一租用戶來執行橫跨這兩個資源的查詢。

如果 Azure 數據總管資源位於 tenant-name-a 中,而 Log Analytics 工作區位於 tenant-name-b 中,請使用下列兩種方法之一:

  1. Azure 資料總管可讓您為不同租用戶中的主體新增角色。 在 tenant-name-b新增您的使用者識別碼,作為 Azure 數據總管叢集上的授權使用者。 驗證 tenant-name-b 中所含 Azure 數據總管叢集上的 'TrustedExternalTenant' 属性。 在 tenant-name-b完整執行跨查詢。

  2. 使用 Lighthouse 將 Azure 監視器資源投影到 tenant-name-a

從不同的租用戶連線到 Azure 資料總管叢集

Kusto Explorer 會自動將您登入使用者帳戶原先所屬的租用戶。 若要存取具有相同使用者帳戶的其他租使用者中的資源,tenantId必須在 連接字串 中明確指定 :Data Source=https://ade.applicationinsights.io/subscriptions/SubscriptionId/resourcegroups/ResourceGroupName;Initial Catalog=NetDefaultDB;AAD Federated Security=True;Authority ID=<TenantId>

函式支援性

Azure 數據總管跨服務查詢支援 Application Insights 資源和 Log Analytics 工作區的函式。 這項功能可讓跨叢集查詢直接參考 Azure 監視器表格式函式。 跨服務查詢支援下列命令:

  • .show functions
  • .show function [FunctionName]
  • .show database [DatabaseName] schema as json

限制

  • 跨服務查詢僅 .show functions支援 。 這項功能可讓跨叢集查詢直接參考 Azure 監視器、Azure 資料總管或 Azure Resource Graph 表格式函式。 跨服務查詢支援下列命令:

    • .show functions
    • .show function [FunctionName]
    • .show database [DatabaseName] schema as json
  • Private Link (私人端點) 和 IP 限制不支援跨服務查詢。

其他語法範例

呼叫 Application Insights 資源或 Log Analytics 工作區時,可以使用下列語法選項:

語法描述 Application Insights 資源 Log Analytics 工作區
資料庫位在只包含此訂用帳戶中已定義資源的叢集中 (建議用於跨叢集查詢) cluster('https://adx.monitor.azure.com/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.insights/components/<ai-app-name>').database('<ai-app-name>') cluster(''https://adx.monitor.azure.com/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.operationalinsights/workspaces/<workspace-name>').database('<workspace-name>
包含此訂用帳戶中所有應用程式/工作區的叢集 cluster('https://adx.monitor.azure.com/subscriptions/<subscription-id>') cluster(''https://adx.monitor.azure.com/subscriptions/<subscription-id>
叢集包含訂用帳戶中屬於此資源群組成員的所有應用程式/工作區 cluster(''https://adx.monitor.azure.com/subscriptions/<subscription-id>/resourcegroups/<resource-group-name> cluster('https://adx.monitor.azure.com/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>')
僅包含此訂用帳戶中已定義資源的叢集 cluster(''https://adx.monitor.azure.com/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.insights/components/<ai-app-name> cluster('https://adx.monitor.azure.com/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.operationalinsights/workspaces/<workspace-name>')
若為 UsGov 中的端點 cluster('https://adx.monitor.azure.us/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.operationalinsights/workspaces/<workspace-name>')
若為 China 21Vianet 中的端點 cluster('https://adx.monitor.azure.cn/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.operationalinsights/workspaces/<workspace-name>')