Interroger des données dans Azure Monitor avec Azure Data Explorer

Le service Azure Data Explorer prend en charge les requêtes inter-service entre Azure Data Explorer, une ressource Application Insights (AI) et un espace de travail Log Analytics (LA). Vous pouvez interroger votre espace de travail Log Analytics ou ressource Application Insights en utilisant des outils de requête Azure Data Explorer et d’une requête inter-service. L’article explique comment créer une requête inter-service et ajouter l’espace de travail Log Analytics ou la ressource Application Insights à l’interface utilisateur web Azure Data Explorer.

Le flux de requêtes interservices Azure Data Explorer :

Diagramme montrant le flux de requêtes inter-service Azure Data Explorer.

Ajouter un espace de travail Log Analytics/une ressource Application Insights aux outils clients Azure Data Explorer

Ajoutez un espace de travail Log Analytics ou une ressource Application Insights aux outils clients Azure Data Explorer pour permettre l’exécution de requêtes inter-service sur vos clusters.

  1. Vérifiez que votre cluster natif Azure Data Explorer (comme le cluster d’aide) apparaît dans le menu de gauche avant de vous connecter à votre espace de travail Log Analytics ou ressource Application Insights.

    Capture d’écran montrant le menu gauche avec le cluster d’aide sélectionné en tant que cluster natif Azure Data Explorer.

  2. Dans l’Interface utilisateur Azure Data Explorer, sélectionnez + Ajouter, Connexion.

  3. Dans la fenêtre Ajouter une connexion, ajoutez l’URL et le nom d’affichage de l’espace de travail Log Analytics (LA) ou la ressource Application Insights.

    • Pour l’espace de travail Log Analytics (LA) : https://ade.loganalytics.io/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.operationalinsights/workspaces/<workspace-name>
    • Pour la ressource Application Insights (AI) : https://ade.applicationinsights.io/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.insights/components/<ai-app-name>

    Remarque

    Spécifiez https://ade.applicationinsights.io/subscriptions/<subscription-id> pour voir toutes les bases de données dans l’abonnement. Cette syntaxe fonctionne également pour des clusters d’espace de travail Log Analytics.

  4. Sélectionnez Ajouter.

    Capture d’écran montrant la fenêtre Ajouter une connexion.

    Remarque

    • Il existe différents points de terminaison pour les éléments suivants :
    • Azure Government- adx.monitor.azure.us/
    • Azure Chine - adx.monitor.azure.cn/
    • Si vous ajoutez une connexion à plusieurs espaces de travail Log Analytics/ressources Application Insights, donnez un nom différent à chacun d’eux. Sinon ils auront tous le même nom dans le volet gauche.
  5. Une fois la connexion établie, votre espace de travail Log Analytics ou ressource Application Insights apparaît dans le volet de gauche avec votre cluster Azure Data Explorer natif.

    Capture d’écran montrant l’espace de travail Log Analytics et les clusters Azure Data Explorer.

Remarque

Les requêtes que vous exécutez à partir d’Azure Data Explorer sur des données dans Azure Monitor font l’objet de limites de requête inter-ressource.

Exécuter des requêtes

Vous pouvez exécuter les requêtes en utilisant des outils clients qui prennent en charge les requêtes Kusto, par exemple : Kusto Explorer, l’interface utilisateur web d’Azure Data Explorer, Jupyter Kqlmagic, Flow, PowerQuery, PowerShell, Lens, l’API REST.

Remarque

L’interrogation inter-service est utilisée pour l’extraction de données uniquement. Pour plus d’informations, consultez Prise en charge des fonctions.

Conseil

  • La base de données doit porter le même nom que la ressource spécifiée dans la requête interservice. Les noms respectent la casse.
  • Dans les requêtes inter-service, vérifiez que la ressource Application Insights et les noms d’espace de travail Log Analytics sont corrects.
  • Si les noms contiennent des caractères spéciaux, ils sont remplacés par l’encodage d’URL dans la requête interservice.
  • Si les noms contiennent des caractères qui ne respectent pas les règles de nom d’identificateur KQL, ils sont remplacés par le caractère tiret -.

Interrogation directe sur votre espace de travail Log Analytics ou vos ressources Application Insights à partir des outils clients Azure Data Explorer

Vous pouvez exécuter des requêtes sur votre espace de travail Log Analytics ou vos ressources Application Insights à partir d’outils clients Azure Data Explorer.

  1. Vérifiez que votre espace de travail est sélectionné dans le volet gauche.

  2. Exécutez la requête suivante :

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

Capture d’écran montrant l’espace de travail Log Analytics Requête.

Interrogation croisée de votre espace de travail Log Analytics ou ressource Application Insights et du cluster natif Azure Data Explorer

Lorsque vous exécutez des requêtes inter-service de cluster, vérifiez que votre cluster natif Azure Data Explorer est sélectionné dans le volet de gauche. Les exemples suivants illustrent la combinaison de tables de cluster Azure Data Explorer (à l’aide de union) avec un espace de travail Log Analytics.

Exécutez les requêtes suivantes :

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>

Capture d’écran montrant une requête interservice effectuée depuis l’interface utilisateur web d’Azure Data Explorer.

Conseil

L'utilisation de l'opérateur join, au lieu de l'opérateur union, peut nécessiter un hint pour l'exécuter sur un cluster natif Azure Data Explorer.

Joindre les données d’un cluster Azure Data Explorer dans un locataire avec une ressource Azure Monitor située dans un autre

Les requêtes interlocataires entre les services ne sont pas prises en charge. Vous êtes connecté à un seul locataire pour exécuter la requête qui couvre les deux ressources.

Si la ressource Azure Data Explorer figure dans le tenant-name-a et que l’espace de travail Log Analytics figure dans tenant-name-b, utilisez l’une des deux méthodes suivantes :

  1. Azure Data Explorer vous permet d’ajouter des rôles pour les principaux dans différents locataires. Ajoutez votre ID d’utilisateur dans tenant-name-b en tant qu’utilisateur autorisé sur le cluster Azure Data Explorer. Validez la propriété « TrustedExternalTenant » sur le cluster Azure Data Explorer qui contient le tenant-name-b. Exécutez la requête croisée intégralement dans tenant-name-b.

  2. Utilisez Lighthouse pour projeter la ressource Azure Monitor dans tenant-name-a.

Se connecter à des clusters Azure Data Explorer à partir de différents locataires

Kusto Explorer vous connecte automatiquement au locataire auquel le compte d’utilisateur appartient à l’origine. Pour accéder aux ressources d’autres locataires avec le même compte d’utilisateur, le tenantId doit être spécifié explicitement dans la chaîne de connexion : Data Source=https://ade.applicationinsights.io/subscriptions/SubscriptionId/resourcegroups/ResourceGroupName;Initial Catalog=NetDefaultDB;AAD Federated Security=True;Authority ID=<TenantId>

Prise en charge des fonctions

Les requêtes inter-service Azure Data Explorer prennent en charge les fonctions de ressource Application Insights et d’espace de travail Log Analytics. Cela permet aux requêtes interclusters de référencer directement une fonction tabulaire Azure Monitor. Les commandes suivantes sont prises en charge avec la requête interservices :

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

Limites

  • Les requêtes inter-service prennent en charge .show functions uniquement. Cette capacité permet aux requêtes entre clusters de référencer directement une fonction tabulaire d’Azure Monitor, Azure Data Explorer ou Azure Resource Graph. Les commandes suivantes sont prises en charge avec la requête interservices :

    • .show functions
    • .show function [FunctionName]
    • .show database [DatabaseName] schema as json
  • Private Link (points de terminaison privés) et les restrictions d’IP ne prennent pas en charge les requêtes entre services.

Exemples de syntaxe supplémentaire

Les options de syntaxe suivantes sont disponibles lors de l’appel de la ressource Application Insights ou des espaces de travail Log Analytics :

Description de la syntaxe Ressource Application Insights Espace de travail Log Analytics
Base de données dans un cluster qui contient uniquement la ressource définie dans cet abonnement (recommandé pour les requêtes entre clusters) 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 contenant l’ensemble des applications/espaces de travail de cet abonnement cluster('https://adx.monitor.azure.com/subscriptions/<subscription-id>') cluster(« https://adx.monitor.azure.com/subscriptions/<subscription-id> »)
Cluster qui contient l’ensemble des applications/espaces de travail de l’abonnement et qui sont membres de ce groupe de ressources 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 qui contient uniquement la ressource définie dans cet abonnement 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>')
Pour les points de terminaison dans UsGov cluster('https://adx.monitor.azure.us/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.operationalinsights/workspaces/<workspace-name>')
Pour les points de terminaison dans China 21Vianet cluster('https://adx.monitor.azure.cn/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.operationalinsights/workspaces/<workspace-name>')