使用 Azure 資料總管來查詢 Azure 監視器中的資料
Azure 數據總管支援 Azure 數據總管、Application Insights 資源 (AI) 和 Log Analytics 工作區 (LA) 之間的跨服務查詢。 您可以使用 Azure 數據總管查詢工具和跨服務查詢,查詢 Log Analytics 工作區或 Application Insights 資源。 本文說明如何建立跨服務查詢,並將 Log Analytics 工作區或 Application Insights 資源新增至 Azure 數據總管 Web UI。
Azure 數據總管跨服務查詢流程:
將 Log Analytics 工作區/Application Insights 資源新增至 Azure 數據總管用戶端工具
將 Log Analytics 工作區或 Application Insights 資源新增至 Azure 數據總管用戶端工具,以啟用叢集的跨服務查詢。
在連線到 Log Analytics 工作區或 Application Insights 資源之前,請先確認您的 Azure 數據總管原生叢集 (例如 說明 叢集)出現在左側功能表上。
在 Azure 數據總管 UI 中,選取 [+ 新增],然後選取 [連線]。
在 [ 新增連線] 視窗中,新增 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工作區叢集。- 針對 Log Analytics (LA) 工作區:
選取 [新增]。
注意
- 下列有不同的端點:
- Azure Government -
adx.monitor.azure.us/
- Azure 中國 -
adx.monitor.azure.cn/
- 如果您將連線新增至多個Log Analytics工作區/Application insights 資源,請為每個名稱提供不同的名稱。 否則,左窗格中的名稱會全部相同。
建立連線之後,您的Log Analytics工作區或Application Insights資源將會出現在左側窗格中,其中包含您的原生 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 資源上執行查詢。
確認左側窗格中已選取您的工作區。
執行下列查詢:
Perf | take 10 // Demonstrate cross-service query on the Log Analytics workspace
跨查詢 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 資料總管叢集資料與另一個租用戶中的 Azure 監視器資源資料聯結
不支援在服務之間進行跨租用戶查詢。 您會登入單一租用戶來執行橫跨這兩個資源的查詢。
如果 Azure 數據總管資源位於 tenant-name-a 中,而 Log Analytics 工作區位於 tenant-name-b 中,請使用下列兩種方法之一:
Azure 資料總管可讓您為不同租用戶中的主體新增角色。 在 tenant-name-b 中新增您的使用者識別碼,作為 Azure 數據總管叢集上的授權使用者。 驗證 tenant-name-b 中所含 Azure 數據總管叢集上的 'TrustedExternalTenant' 属性。 在 tenant-name-b 中完整執行跨查詢。
使用 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>') |