Vue d'ensemble d’Application Insights

Application Insights est une extension d’Azure Monitor et fournit des fonctionnalités d’analyse des performances des applications (également appelées « 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 :

  1. Comprendre de manière proactive comment une application fonctionne.
  2. 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 données de métriques et de télémétrie d’application, qui décrivent les activités et l’intégrité de l’application, Application Insights peut également être utilisé pour collecter et stocker les données de journalisation des traces d’une 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; l’infrastructure de journalisation doit rarement être modifiée.

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

  • Métriques dynamiques : observer l’activité de votre application déployée en temps réel sans effet sur l’environnement hôte
  • Disponibilité : également appelée « Analyse de transactions synthétiques », sondez vos points de terminaison externes d’applications pour tester la disponibilité globale et la réactivité au fil du temps
  • Intégration de GitHub ou Azure DevOps : créer des éléments de travail GitHub ou Azure DevOps dans le contexte des données Application Insights
  • Utilisation : comprendre quelles fonctionnalités sont populaires avec les utilisateurs et comment les utilisateurs interagissent et utilisent votre application
  • Détection intelligente : détection automatique des défaillances et des anomalies par le biais d’une analyse proactive des données de télémétrie

En outre, 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 donnée. La possibilité de suivre l’activité de bout en bout est de plus en plus importante pour les applications qui ont été créées en tant que composants distribués ou microservices.

La carte d’applications 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é via l’instrumentation automatique (agent) ou en ajoutant le kit de développement logiciel (SDK) Application Insights à votre code d’application. De nombreux langages sont pris en charge et les applications peuvent se trouver sur Azure, localement ou hébergées par un autre cloud. Pour déterminer quel type d’instrumentation est idéal pour vous, référencez Comment faire instrumenter une application ?.

L’agent Application Insights ou le kit SDK prétraite les données de télémétrie et les métriques avant d’envoyer les données à Azure où elles sont ingérées et traitées plus tard 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 créer des visualisations personnalisées via des tableaux de bord et classeurs Azure Monitor.

Envisagez de commencer par la carte d’applications pour une vue de haut niveau. Utilisez l’expérience Recherche pour affiner rapidement les données et les données par type et date, ou rechercher dans les données (par exemple les traces de journal) et filtrer vers une opération corrélée donnée d’intérêt.

Accédez à l’analytique avec la vue Performances : obtenez des informations détaillées sur la façon dont votre application ou votre API et vos dépendances en aval effectuent et recherchent un exemple représentatif pour explorer de bout en bout. Et, soyez proactif avec l’affichage Échec : comprendre quels composants ou actions génèrent des défaillances et des erreurs de tri et des exceptions. Les vues intégrées sont utiles pour suivre l’intégrité de l’application de manière proactive et pour l’analyse réactive de la cause racine.

Créez des alertes Azure Monitor pour signaler les problèmes potentiels si vos composants ou applications s’écartent de la base de référence établie.

La tarification d’Application Insights est basée sur la consommation ; vous payez uniquement ce que vous utilisez. Pour plus d’informations sur la tarification, consultez la page Tarification d’Azure Monitor et comment optimiser les coûts.

Comment faire instrumenter une application ?

L’auto-Instrumentation 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 devez uniquement installer le kit SDK Application Insights dans les circonstances suivantes :

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 petit ; les appels de suivi ne bloquent pas et sont envoyés par lot dans un thread distinct.

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

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

Une vue détaillée de tous les environnements, langages et fournisseurs de ressources pris en charge par l’instrumentation automatique sont disponibles ici.

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

Une offre Télémétrie ouverte en préversion est également disponible.

Étapes suivantes

Dépannage

Questions fréquentes (FAQ)

Consultez Questions fréquentes (FAQ).

Forum aux questions sur Microsoft Q&A

Posez des questions sur le forum aux questions Microsoft Q&A.

Stack Overflow

Posez des questions de codage sur Stack Overflow à l’aide d’une balise Application Insights.

User Voice

Laissez des commentaires sur le produit pour l’équipe d’ingénierie sur UserVoice.

Langues prises en charge

Plateformes et infrastructures prises en charge

Les plateformes et infrastructures prises en charge sont répertoriées ici.

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

Instrumentation automatique (activer sans modification du code)

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

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é. Toutefois, Azure Monitor assure uniquement la prise en charge lors de l’utilisation des options d’instrumentation prises en charge figurant sur cette page. Nous évaluons constamment les opportunités d’étendre notre prise en charge d’autres langages. Suivez Mises à jour Azure pour Application Insights pour être tenu au courant des dernières actualités concernant le SDK.