Abfragen von Daten in Azure Monitor mit Azure Data Explorer

Azure Data Explorer unterstützt dienstübergreifende Abfragen zwischen Azure Data Explorer, Application Insights-Ressourcen (AI) und Log Analytics-Arbeitsbereichen (LA). Anschließend können Sie Ihren Log Analytics-Arbeitsbereich oder Ihre Application Insights-Ressource 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-Arbeitsbereich oder die Application Insights-Ressource zur Azure Data Explorer-Webbenutzeroberfläche hinzufügen.

Ablauf dienstübergreifender Abfragen mit Azure Data Explorer:

Diagramm: dienstübergreifender Abfrageflow von Azure Data Explorer

Hinzufügen eines Log Analytics-Arbeitsbereichs oder einer Application Insights-Ressource zu Azure Data Explorer-Clienttools

Fügen Sie den Azure Data Explorer-Clienttools einen Log Analytics-Arbeitsbereich oder eine Application Insights-Ressource 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-Arbeitsbereich oder der Application Insights-Ressource, ob im linken Menü Ihr nativer 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 die Option + Hinzufügen und dann Verbindung aus.

  3. Fügen Sie im Fenster Verbindung hinzufügen die URL und den Anzeigenamen des Log Analytics-Arbeitsbereichs (LA) oder der Application Insights-Ressource (AI) hinzu.

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

    Hinweis

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

  4. Wählen Sie Hinzufügen.

    Screenshot mit dem Fenster „Verbindung hinzufügen“.

    Hinweis

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

    Screenshot: Log Analytics-Arbeitsbereich und Azure Data Explorer-Cluster

Hinweis

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

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

Dienstübergreifende Abfragen werden 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.
  • Stellen Sie bei dienstübergreifenden Abfragen sicher, dass die Namen der Application Insights-Ressource und des Log Analytics-Arbeitsbereichs richtig sind.
  • 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.

Direktes Abfragen Ihres Log Analytics-Arbeitsbereichs oder Ihrer Application Insights-Ressource mit Azure Data Explorer-Clienttools

Sie können Abfragen für Ihren Log Analytics-Arbeitsbereich oder Ihre Application Insights-Ressource mit 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

Übergreifendes Abfragen Ihres Log Analytics-Arbeitsbereichs oder Ihrer Application Insights-Ressource und des nativen Azure Data Explorer-Clusters

Wenn Sie clusterübergreifende Dienstabfragen ausführen, stellen Sie sicher, dass 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 in tenant-name-a und der Log Analytics-Arbeitsbereich in tenant-name-b befindet, verwenden Sie eine der folgenden beiden Methoden:

  1. Mit Azure Data Explorer können Sie Rollen für Prinzipale auf unterschiedlichen Mandanten hinzufügen. Fügen Sie in tenant-name-b Ihre Benutzer-ID als autorisierten Benutzer im Azure Data Explorer-Cluster hinzu. Überprüfen Sie die Eigenschaft TrustedExternalTenant im Azure Data Explorer-Cluster, der in tenant-name-b enthalten ist. Führen Sie die übergreifende Abfrage vollständig in tenant-name-b aus.

  2. Verwenden Sie Lighthouse, um die Azure Monitor-Ressource in tenant-name-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 auf anderen Mandanten mit demselben Benutzerkonto muss die 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

Die dienstübergreifenden Abfragen mit Azure Data Explorer unterstützen Funktionen sowohl für Application Insights-Ressourcen als auch für Log Analytics-Arbeitsbereiche. 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 [Funktionsname]
  • .show database [Datenbankname] schema as json

Begrenzungen

  • Dienstübergreifende Abfragen unterstützen nur .show functions. Dadurch können clusterübergreifende Abfragen direkt auf eine tabellarische Azure Monitor-, Azure Data Explorer-oder Azure Resource Graph-Funktion verweisen. Die folgenden Befehle werden bei dienstübergreifenden Abfragen unterstützt:

    • .show functions
    • .show function [Funktionsname]
    • .show database [Datenbankname] schema as json
  • Private Link (private Endpunkte) und IP-Einschränkungen unterstützen keine dienstübergreifenden Abfragen.

Zusätzliche Syntaxbeispiele

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

Syntaxbeschreibung Application Insights-Ressource Log Analytics-Arbeitsbereich
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>')