Vue d'ensemble d’Application Insights

Application Insights est une extension d’Azure Monitor et fournit des fonctionnalités de suivi des performances des applications (APM). Les outils APM sont utiles pour surveiller les applications du développement, par le biais du test et de la production de la manière suivante :

  • Comprendre de manière proactive comment une application fonctionne.
  • Passez en revue de manière réactive les données d’exécution de l’application pour déterminer la cause d’un incident.

Capture d'écran montrant Application Insights dans le Portail Azure.

En plus de collecter des métriques et des données de télémétrie d’application, qui décrivent les activités et l’intégrité de l’application, vous pouvez utiliser Application Insights pour collecter et stocker des données de journalisation des traces d’application.

La trace du journal est associée à d’autres données de télémétrie pour donner une vue détaillée de l’activité. L’ajout de la journalisation des traces aux applications existantes nécessite uniquement de fournir une destination pour les journaux. Vous avez rarement besoin de modifier l’infrastructure de journalisation.

Application Insights fournit d’autres fonctionnalités, notamment, mais pas limitées à :

  • Live Metrics : observez l’activité de votre application déployée en temps réel sans effet sur l’environnement hôte.
  • Disponibilité : également appelée surveillance des transactions synthétiques. Sondez les points de terminaison externes de vos applications pour tester la disponibilité et la réactivité globales au fil du temps.
  • Intégration de GitHub ou Azure DevOps : créez des éléments de travail GitHub ou Azure DevOps dans le contexte des données Application Insights.
  • Utilisation : comprenez quelles fonctionnalités sont populaires auprès des utilisateurs et comment les utilisateurs interagissent et utilisent votre application.
  • Détection intelligente : détectez automatiquement les défaillances et les anomalies par le biais d’une analyse proactive de la télémétrie.

Application Insights prend en charge le suivi distribué, également appelé corrélation de composants distribués. Cette fonctionnalité permet de rechercher et de visualiser un flux de bout en bout d’une exécution ou d’une transaction spécifique. La possibilité de tracer l’activité de bout en bout est importante pour les applications qui ont été conçues comme des composants distribués ou des microservices.

La Cartographie d’application permet une vue du dessus à haut niveau de l’architecture de l’application et des références visuelles en un coup d’œil à l’intégrité et à la réactivité des composants.

Pour comprendre le nombre de ressources Application Insights requises pour couvrir vos applications ou composants entre les environnements, consultez le guide de planification du déploiement Application Insights.

Diagramme montrant le chemin d'accès des données circulant à travers les couches du service Application Insights.

Les paramètres de pare-feu doivent être ajustés pour que les données atteignent des points de terminaison d’ingestion. Pour plus d’informations, consultez Adresses IP utilisées par Azure Monitor.

Comment utiliser Application Insights ?

Application Insights est activé par l’instrumentation automatique (agent) ou en ajoutant le kit de développement logiciel (SDK) Application Insights ou la distribution OpenTelemetry Azure Monitor au code de votre application. De nombreuses langues sont prises en charge. Les applications peuvent être sur Azure, localement ou hébergées par un autre cloud. Pour déterminer quel type d’instrumentation est idéal pour vous, consultez Comment instrumenter une application ?.

L’agent ou le Kit de développement logiciel (SDK) Application Insights prétraite les données de télémétrie et les métriques avant d’envoyer les données à Azure. Les données sont ensuite ingérées et traitées avant d’être stockées dans les journaux Azure Monitor (Log Analytics). Pour cette raison, un compte Azure est requis pour utiliser Application Insights.

Le moyen le plus simple de commencer à consommer Application Insights consiste à utiliser le portail Azure et les expériences visuelles intégrées. Les utilisateurs avancés peuvent interroger les données sous-jacentes directement pour générer des visualisations personnalisées via des tableaux de bord et des classeurs Azure Monitor.

Envisagez de commencer par la Cartographie d’application pour une vue d’ensemble. Utilisez l’expérience Rechercher pour affiner rapidement la télémétrie et les données par type et par date-heure. Vous pouvez également effectuer des recherches dans des données (par exemple, avec suivis de journaux) et filtrer sur une opération corrélée donnée qui vous intéresse.

Deux affichages sont particulièrement utiles :

  • Affichage des données de performances : obtenez des insights détaillés des performances de votre application ou de votre API et des dépendances en aval. Vous pouvez également trouver un exemple représentatif à explorer de bout en bout.
  • Affichage des défaillances : comprenez quels sont les composants ou les actions qui génèrent des défaillances et triez les erreurs et les exceptions. Les affichages intégrés sont utiles pour suivre l’intégrité de l’application de manière proactive et pour analyser les causes profondes de manière réactive.

Créez des alertes Azure Monitor pour signaler les problèmes potentiels au cas où votre application ou ses composants s’écarteraient de la base de référence établie.

La tarification d’Application Insights est basée sur la consommation. Vous ne payez que ce que vous utilisez. Pour plus d’informations sur la tarification, consultez :

Comment faire instrumenter une application ?

Instrumentation automatique est la méthode d’instrumentation préférée. Il ne nécessite aucun investissement de développeur et élimine la surcharge future liée à la mise à jour du kit SDK. Il s’agit également du seul moyen d’instrumenter une application dans laquelle vous n’avez pas accès au code source.

Vous ne devez installer le kit SDK d’Application Insights que si :

Pour utiliser le kit SDK, vous installez un petit package d’instrumentation dans votre application, puis instrumentez l’application web, tous les composants en arrière-plan et JavaScript dans les pages web. L’application et ses composants n’ont pas besoin d’être hébergés dans Azure.

L’instrumentation supervise votre application et dirige la télémétrie vers une ressource Application Insights en utilisant un jeton unique. L’effet sur les performances de votre application est faible. Le suivi des appels n’entraîne aucun blocage, et les appels sont regroupés par lots pour être envoyés dans un thread séparé.

L’instrumentation automatique intégrée est disponible pour Azure App Service .NET, Azure App Service .NET Core, Azure Functions et Machines Virtuelles Azure.

L’agent Azure Monitor Application Insights est disponible pour les charges de travail exécutées dans des machines virtuelles locales.

Pour obtenir une vue détaillée de tous les environnements, langages et fournisseurs de ressources pris en charge par l’instrumentation automatique, consultez Qu’est-ce que l’instrumentation automatique pour Azure Monitor Application Insights ?.

Pour d’autres scénarios, le kit SDK Application Insights est requis.

Une offre OpenTelemetry est également disponible.


Langues prises en charge

Cette section décrit les scénarios pris en charge.

Plateformes et infrastructures prises en charge

Cette section répertorie toutes les plateformes et infrastructures prises en charge.

Intégration du service Azure (activation du portail, déploiements Azure Resource Manager)

Instrumentation automatique (activation sans modification du code)

Instrumentation manuelle/SDK (certaines modifications du code sont nécessaires)

Notes

L’instrumentation basée sur OpenTelemetry est disponible pour C#, Node.js et Python. Consultez les limitations indiquées au début de la documentation officielle de chaque langage. Si vous avez besoin d’une expérience complète, utilisez les kits SDK Application Insights existants.

Frameworks de journalisation

Exportation et analyse de données

Kits de développement logiciel (SDK) non pris en charge

Il existe plusieurs autres SDK Application Insights pris en charge par la communauté. Azure Monitor assure uniquement la prise en charge lors de l’utilisation des options d’instrumentation prises en charge figurant dans cet article.

Nous évaluons constamment les opportunités d’étendre notre prise en charge d’autres langages. Pour connaître les dernières actualités du Kit de développement logiciel (SDK), consultez Mises à jour Azure pour Application Insights.


Forum aux questions

Cette section fournit des réponses aux questions fréquentes.

Quelles sont les données de télémétrie collectées par Application Insights ?

À partir d’applications web serveur :

À partir des pages web du client :

  • Exceptions non interceptées dans votre application, y compris des informations sur

    • Arborescence des appels de procédure
    • Détails de l’exception et message accompagnant l’erreur
    • Numéros de ligne et de colonne de l’erreur
    • URL où l’erreur a été générée
  • Demandes de dépendance réseau effectuées par vos demandes XHR et Fetch d’application (la collection de recherches est désactivée par défaut), y compris des informations sur :

    • URL de la source de dépendance
    • Commande et méthode utilisées pour demander la dépendance
    • Durée de la demande
    • Code de résultat et état de réussite de la demande
    • ID (le cas échéant) de l’utilisateur qui effectue la demande
    • Contexte de corrélation (le cas échéant) dans lequel la demande est effectuée
  • Informations utilisateur (par exemple, emplacement, réseau, adresse IP)

  • Informations sur l’appareil (par exemple, le navigateur, le système d’exploitation, la version, la langue ou le modèle)

  • Informations de session

    Notes

    Pour certaines applications, telles que les applications monopage (SPA), la durée peut ne pas être enregistrée et sera définie par défaut sur 0.

    Pour plus d’informations, voir Collecte, rétention et stockage des données dans Application Insights.

À partir d’autres sources, si vous les configurez :

Comment gérer les ressources Application Insights avec PowerShell ?

Vous pouvez écrire des scripts PowerShell à l’aide du moniteur de ressources Azure pour :

  • Créer et mettre à jour des ressources Application Insights.
  • Définir le plan de tarification.
  • Récupérer la clé d’instrumentation.
  • Ajouter une alerte métrique.
  • Ajouter un test de disponibilité.

Vous ne pouvez pas définir un rapport de l’explorateur de métriques ou une exportation continue.

Comment interroger la télémétrie Application Insights ?

Utilisez l’API REST pour exécuter des requêtes Log Analytics.

Puis-je envoyer des données de télémétrie au portail Application Insights ?

Nous vous recommandons d’utiliser nos Kits de développement logiciel (SDK) ainsi que l’API du Kit SDK. Il existe des variantes du SDK pour les différentes plateformes. Ces SDK gèrent des processus tels que la mise en mémoire tampon, la compression, la limitation et les nouvelles tentatives. Le schéma d’ingestion et le protocole de point de terminaison sont toutefois publics.

Combien de temps dure la collecte de données de télémétrie ?

La plupart des données Application Insights ont une latence de moins de 5 minutes. Certaines données peuvent prendre plus de temps, ce qui est courant pour les fichiers journaux plus volumineux. Consultez le contrat de niveau de service Application Insights.

Dépannage

Consultez des articles de résolution des problèmes dédiés à Application Insights.

Aide et support

Support technique Azure

Pour les problèmes de support Azure, ouvrez un ticket de support Azure.

Forum aux questions sur Microsoft Q&A

Posez des questions générales sur le forum aux questions Microsoft Q&A.

Stack Overflow

Posez des questions de codage sur Stack Overflow en utilisant une balise Application Insights.

Communauté de commentaires

Laissez les commentaires sur les produits pour l’équipe d’ingénierie de la Communauté de commentaires.

Étapes suivantes