Mise en corrélation de données Application Insights avec des sources de données personnalisées
Application Insights collecte plusieurs types de données différents : exceptions, traces, vues de page, etc. Bien que cela suffise bien souvent pour examiner les performances, la fiabilité et l’utilisation de votre application, dans certains cas, il est utile mettre en corrélation les données stockées dans Application Insights avec d’autres jeux de données entièrement personnalisés.
Vous pouvez avoir besoin de données personnalisées dans les situations suivantes :
- Tables d’enrichissement ou de recherche de données : par exemple, compléter un nom de serveur avec le propriétaire du serveur et l’emplacement de laboratoire dans lequel il peut être trouvé
- Corrélation avec des sources de données autres qu’Application Insights : par exemple, corréler des données concernant un achat effectué dans une boutique en ligne avec des informations obtenues auprès de votre service de traitement des achats pour déterminer la précision des estimations de vos délais de livraison
- Données complètement personnalisées : parmi nos clients, beaucoup adorent le langage de requête et les performances de la plateforme de journaux Azure Monitor qui sous-tend Application Insights, et cherchent à en tirer parti pour interroger les données qui ne sont pas du tout liées à Application Insights. Par exemple, pour suivre les performances de panneaux solaires dans le cadre d’une installation résidentielle intelligente, comme décrit ici.
Comment mettre en corrélation des données personnalisées avec des données Application Insights
Étant donné qu'Application Insights est associé à la puissante plateforme de journaux Azure Monitor, nous sommes en mesure d'exploiter toute la puissance d'Azure Monitor pour ingérer les données. Nous allons ensuite rédiger des requêtes à l’aide de l’opérateur « join » afin de mettre en corrélation ces données personnalisées avec les données dont nous disposons dans les journaux d’activité Azure Monitor.
Ingestion des données
Dans cette section, vous allez importer vos données dans les journaux d’activité Azure Monitor.
Si vous ne l’avez pas déjà fait, configurez un nouvel espace de travail Log Analytics en suivant ces instructions jusqu’à l’étape relative à la « création d’un espace de travail ».
Pour commencer à envoyer des données de journal dans Azure Monitor. Vous disposez de plusieurs options :
Pour un mécanisme synchrone, vous pouvez soit appeler directement l’API Collecte de données soit utiliser notre connecteur Logic App : il vous suffit de rechercher « Azure Log Analytics » et de sélectionner l’option « Envoyer des données » :
Pour une méthode asynchrone, utilisez l’API Collecte de données pour créer un pipeline de traitement. Pour plus d’informations, consultez cet article.
Corrélation des données
Application Insights s'appuie sur la plateforme de journaux Azure Monitor. Par conséquent, nous pouvons utiliser des jointures inter-ressources pour mettre en corrélation des données que nous avons ingérées dans Azure Monitor avec nos données Application Insights.
Par exemple, nous pouvons ingérer notre inventaire et nos emplacements de laboratoire dans une table appelée « LabLocations_CL » au sein d'un espace de travail Log Analytics appelé « myLA ». Si nous voulons ensuite passer en revue nos requêtes surveillées dans l'application Application Insights appelée « myAI » et mettre en corrélation les noms d'ordinateurs qui ont traité les requêtes avec les emplacements de ces ordinateurs stockés dans la table personnalisée mentionnée précédemment, nous pouvons exécuter la requête suivante à partir du contexte Application Insights ou Azure Monitor :
app('myAI').requests
| join kind= leftouter (
workspace('myLA').LabLocations_CL
| project Computer_S, Owner_S, Lab_S
) on $left.cloud_RoleInstance == $right.Computer