Abfragen von Daten in Azure Monitor mit Azure Data Explorer

Azure Data Explorer unterstützt dienstübergreifende Abfragen zwischen Azure Data Explorer, Application Insights (AI) und Log Analytics (LA). Anschließend können Sie den Log Analytics- oder Application Insights-Arbeitsbereich mithilfe von Azure Data Explorer-Abfragetools und in einer dienstübergreifenden Abfrage abfragen. In diesem Artikel wird gezeigt, wie Sie eine dienstübergreifende Abfrage erstellen und den Log Analytics- oder Application Insights-Arbeitsbereich zur Azure Data Explorer-Webbenutzeroberfläche hinzufügen.

Ablauf dienstübergreifender Abfragen mit Azure Data Explorer:

Diagramm: Azure Data Explorer-Proxyflow

Hinzufügen eines Log Analytics/Application Insights-Arbeitsbereichs zu Azure Data Explorer-Clienttools

Fügen Sie den Azure Data Explorer-Clienttools einen Log Analytics- oder Application Insights-Arbeitsbereich hinzu, um dienstübergreifende Abfragen für Ihre Cluster zu ermöglichen.

  1. Überprüfen Sie vor dem Herstellen der Verbindung mit dem Log Analytics- oder Application Insights-Cluster, ob im linken Menü der native Azure Data Explorer-Cluster (z. B. der Hilfecluster) angezeigt wird.

    Screenshot: Linkes Menü mit Hilfecluster, der als nativer Azure Data Explorer-Cluster ausgewählt wurde

  2. Wählen Sie auf der Azure Data Explorer-Benutzeroberfläche (https://dataexplorer.azure.com/clusters) die Option Cluster hinzufügen aus.

  3. Fügen Sie im Fenster Cluster hinzufügen die URL des Log Analytics-Clusters (LA) oder des Application Insights-Clusters (KI) hinzu.

    • Für Log Analytics (LA): https://ade.loganalytics.io/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.operationalinsights/workspaces/<workspace-name>
    • Für Application Insights (KI): https://ade.applicationinsights.io/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.insights/components/<ai-app-name>

    Hinweis

    Geben Sie an https://ade.applicationinsights.io/subscriptions/<subscription-id> , um alle Datenbanken im Abonnement anzuzeigen. Diese Syntax funktioniert auch für Log Analytics-Cluster.

  4. Wählen Sie Hinzufügen.

    Screenshot: Fenster zum Hinzufügen eines Clusters

    Hinweis

    • Es gibt verschiedene Endpunkte für Folgendes:
    • Azure Government: adx.monitor.azure.us/
    • Azure China: adx.monitor.azure.cn/
    • Wenn Sie eine Verbindung zu mehreren Log Analytics/Application Insights-Arbeitsbereichen hinzufügen, geben Sie jedem einen anderen Namen. Andernfalls haben alle Cluster im linken Bereich den gleichen Namen.
  5. Nachdem die Verbindung hergestellt wurde, wird Ihr Log Analytics- oder Application Insights-Arbeitsbereich im linken Bereich mit Ihrem nativen Azure Data Explorer-Cluster angezeigt.

    Screenshot: Log Analytics- und Azure Data Explorer-Cluster

Hinweis

Abfragen, die Sie aus Azure Data Explorer für Daten in Azure Monitor ausführen, unterliegen ressourcenübergreifenden Abfragegrenzwerten.

Ausführen von Abfragen

Sie können die Abfragen mithilfe von Clienttools ausführen, die Kusto-Abfragen unterstützen, z. B. Kusto Explorer, Azure Data Explorer-Webbenutzeroberfläche, Jupyter Kqlmagic, Flow, PowerQuery, PowerShell, Lens und REST-API.

Hinweis

Die Funktion für dienstübergreifende Abfragen wird nur für den Datenabruf verwendet. Weitere Informationen finden Sie unter Funktionsunterstützbarkeit.

Tipp

  • Die Datenbank muss den gleichen Namen wie die in der dienstübergreifenden Abfrage angegebene Ressource haben. Bei Namen wird die Groß-/Kleinschreibung beachtet.
  • Achten Sie bei dienstübergreifenden Abfragen auf eine korrekte Benennung der Application Insights-Apps und Log Analytics-Arbeitsbereiche.
  • Wenn Namen Sonderzeichen enthalten, werden diese in der dienstübergreifenden Abfrage durch URL-Codierung ersetzt.
  • Wenn Namen Zeichen enthalten, die nicht den KQL-Regeln für Bezeichnernamen entsprechen, werden sie durch einen Bindestrich (-) ersetzt.

Direkte Abfrage der Log Analytics- oder Application Insights-Arbeitsbereiche über Azure Data Explorer-Clienttools

Sie können Abfragen für Ihre Log Analytics- oder Application Insights-Arbeitsbereiche über Azure Data Explorer-Clienttools ausführen.

  1. Vergewissern Sie sich, dass Ihr Arbeitsbereich im linken Bereich ausgewählt ist.

  2. Führen Sie die folgende Abfrage aus:

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

Screenshot: Abfragen eines Log Analytics-Arbeitsbereichs

Übergreifende Abfrage von Log Analytics- oder Application Insights-Arbeitsbereichen und des nativen Azure Data Explorer-Clusters

Wenn Sie clusterübergreifende Dienstabfragen ausführen, überprüfen Sie, ob der native Azure Data Explorer-Cluster im linken Bereich ausgewählt ist. In den folgenden Beispielen wird veranschaulicht, wie Sie Azure Data Explorer-Clustertabellen (mithilfe von union) mit einem Log Analytics-Arbeitsbereich kombinieren.

Führen Sie die folgenden Abfragen aus:

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>

Screenshot: Dienstübergreifende Abfrage auf der Azure Data Explorer-Webbenutzeroberfläche

Tipp

Wenn Sie anstelle von „union“ den join-Operator verwenden, ist möglicherweise ein hint erforderlich, um die Abfrage für einen nativen Azure Data Explorer-Cluster auszuführen.

Verknüpfen von Daten eines Azure Data Explorer-Clusters in einem Mandanten mit einer Azure Monitor-Ressource in einem anderen Mandanten

Mandantenübergreifende Abfragen zwischen den Diensten werden nicht unterstützt. Sie sind bei einem Mandanten angemeldet, um die Abfrage für beide Ressourcen auszuführen.

Wenn sich die Azure Data Explorer-Ressource im Mandanten „A“ und der Log Analytics-Arbeitsbereich im Mandanten „B“ befindet, sollten Sie eine der beiden folgenden Methoden verwenden:

  1. Mit Azure Data Explorer können Sie Rollen für Prinzipale auf unterschiedlichen Mandanten hinzufügen. Fügen Sie Ihre Benutzer-ID auf Mandant „B“ als autorisierten Benutzer im Azure Data Explorer-Cluster hinzu. Vergewissern Sie sich, dass die Eigenschaft ExternalTrustedTenant im Azure Data Explorer-Cluster den Mandanten „B“ enthält. Führen Sie die übergreifende Abfrage vollständig auf Mandant „B“ aus.

  2. Verwenden Sie Lighthouse, um die Azure Monitor-Ressource auf Mandant „A“ zu projizieren.

Herstellen einer Verbindung mit Azure Data Explorer-Clustern von unterschiedlichen Mandanten

Bei Kusto-Explorer werden Sie automatisch bei dem Mandanten angemeldet, zu dem das Benutzerkonto ursprünglich gehört. Für den Zugriff auf Ressourcen in anderen Mandanten mit demselben Benutzerkonto muss tenantId explizit in der Verbindungszeichenfolge angegeben werden: Data Source=https://ade.applicationinsights.io/subscriptions/SubscriptionId/resourcegroups/ResourceGroupName;Initial Catalog=NetDefaultDB;AAD Federated Security=True;Authority ID=TenantId

Funktionsunterstützbarkeit

Dienstübergreifende Abfragen mit Azure Data Explorer unterstützen Funktionen sowohl für Application Insights als auch für Log Analytics. Dadurch können clusterübergreifende Abfragen direkt auf eine tabellarische Azure Monitor-Funktion verweisen. Die folgenden Befehle werden bei dienstübergreifenden Abfragen unterstützt:

  • .show functions
  • .show function {FunctionName}
  • .show database {DatabaseName} schema as json

Die folgende Abbildung enthält ein Beispiel für das Abfragen einer tabellarischen Funktion über die Webbenutzeroberfläche von Azure Data Explorer. Führen Sie zur Verwendung der Funktion den Namen im Abfragefenster aus.

Screenshot: Abfragen einer tabellarischen Funktion über die Webbenutzeroberfläche von Azure Data Explorer

Zusätzliche Syntaxbeispiele

Beim Aufrufen der Application Insights- oder Log Analytics-Cluster sind die folgenden Syntaxoptionen verfügbar:

Syntaxbeschreibung Application Insights Log Analytics
Datenbank in einem Cluster, der nur die definierte Ressource in diesem Abonnement enthält (empfohlen für clusterübergreifende Abfragen) 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, der alle Apps/Arbeitsbereiche in diesem Abonnement enthält cluster('https://adx.monitor.azure.com/subscriptions/<subscription-id>') cluster('https://adx.monitor.azure.com/subscriptions/<subscription-id>')
Cluster, der alle Apps/Arbeitsbereiche im Abonnement enthält, und diese sind Mitglieder dieser Ressourcengruppe 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, der nur die definierte Ressource in diesem Abonnement enthält 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>')
Für Endpunkte in UsGov cluster('https://adx.monitor.azure.us/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.operationalinsights/workspaces/<workspace-name>')
Für Endpunkte in China 21Vianet cluster('https://adx.monitor.azure.cn/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.operationalinsights/workspaces/<workspace-name>')