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.
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.
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 :
- Vous avez besoin de métriques et d’événements personnalisés.
- Vous devez contrôler le flux de télémétrie.
- Instrumentation automatique n’est pas disponible, généralement en raison de limitations de langage ou de plateforme.
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 en préversion 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)
- Machines virtuelles Azure et groupes de machines virtuelles identiques Azure
- Azure App Service
- Azure Functions
- Azure Spring Apps
- Azure Cloud Services incluant les rôles web et de travail
Instrumentation automatique (activation sans modification du code)
- ASP.NET : pour les applications web hébergées avec IIS
- ASP.NET Core : pour les applications web hébergées avec IIS
- Java
Instrumentation manuelle/SDK (certaines modifications du code sont nécessaires)
Notes
L’instrumentation basée sur OpenTelemetry est disponible en préversion 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
- ILogger
- Log4Net, NLog ou System.Diagnostics.Trace
- Log4J, Logback, ou java.util.logging
- Plug-in LogStash
- Azure Monitor
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
Consultez Questions fréquentes (FAQ).
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.