Vue d’ensemble de la surveillance des applications pour Azure App Service

Il est désormais plus facile que jamais d’activer la surveillance de vos applications web ASP.NET, ASP.NET Core, Java et Node.js s’exécutant sur Azure App Service. Alors qu’auparavant vous deviez instrumenter manuellement votre application, la dernière version de l’agent/extension est désormais intégrée par défaut dans l’image App Service.

Activer Application Insights

Il existe deux façons d’activer la supervision des applications hébergées sur App Service :

  • Surveillance des applications d’instrumentation automatique (ApplicationInsightsAgent).

    Cette méthode est la plus facile à activer, et aucune modification du code ni aucune configuration avancée n’est requise. Elle est souvent appelée surveillance du runtime. Pour App Service, nous vous recommandons d’activer au minimum ce niveau de surveillance. Selon votre scénario spécifique, vous pouvez évaluer si une surveillance plus avancée via une instrumentation manuelle est nécessaire.

    Lorsque vous activez l’instrumentation automatique, elle active Application Insights avec un paramètre par défaut (il inclut également l’échantillonnage). Même si vous définissez dans Azure AppInsights : Échantillonnage : Toutes les données à 100 %, ce paramètre sera ignoré.

    Pour obtenir la liste complète des scénarios d’instrumentation automatique pris en charge, consultez Environnements, langages et fournisseurs de ressources pris en charge.

    Les plateformes prises en charge pour la surveillance de l’instrumentation automatique sont les suivantes :

  • L’instrumentation manuelle de l’application avec le code en installant le SDK Application Insights.

    Cette approche est beaucoup plus personnalisable, mais requiert les ressources suivantes : kits de développement logiciel (SDK) pour .NET Core, .NET, Node.js et Python, ainsi qu’un agent autonome pour Java. Cette méthode implique également que vous gériez vous-même l’installation des mises à jour vers la dernière version des packages.

    Utilisez cette méthode si vous devez effectuer des appels d’API personnalisés pour suivre des événements/dépendances qui ne sont pas capturés par défaut avec la surveillance de l’instrumentation automatique. Pour en savoir plus, consultez API Application Insights pour les événements et les métriques personnalisés.

Si les deux méthodes, à savoir la surveillance de l’instrumentation automatique et l’instrumentation manuelle basée sur un Kit de développement logiciel (SDK), sont détectées, les paramètres d’instrumentation manuelle seront honorés dans .NET uniquement, alors que dans Java, seuls les paramètres de l’instrumentation automatique émettent la télémétrie. Cette pratique évite l’envoi de données en double.

Notes

Le débogueur de capture instantanée et le profileur ne sont disponibles que dans .NET et .NET Core.

Notes de publication

Cette section contient les notes de publication de l’extension de Web Apps Azure pour l’instrumentation du runtime avec Application Insights.

Pour connaître la version de l’extension que vous utilisez actuellement, accédez à l’adresse https://<yoursitename>.scm.azurewebsites.net/ApplicationInsights.

Notes de publication

2.8.44

2.8.43

  • Séparation des packages .NET/.NET Core, Java et Node.js dans différentes extensions de site Windows App Service.

2.8.42

  • Extension JAVA : mise à niveau vers l’agent Java 3.2.0 à partir de la version 2.5.1.
  • Extension Node.js : mise à jour du Kit de développement logiciel (SDK) IA vers la version 2.1.8 à partir de la version 2.1.7. Ajout de la prise en charge des identités managées Microsoft Entra affectées par l’utilisateur et le système.
  • .NET Core : ajout de déploiements autonomes et prise en charge de .NET 6.0 à l’aide d’un crochet de démarrage .NET.

2.8.41

  • Extension Node.js : mise à jour du Kit de développement logiciel (SDK) IA vers la version 2.1.7 à partir de la version 2.1.3.
  • .NET Core : suppression des versions hors support (2.1). Les versions prises en charge sont les versions 3.1 et 5.0.

2.8.40

  • Extension JAVA : mise à niveau vers l’agent Java 3.1.1 (GA) à partir de la version 3.0.2.
  • Extension Node.js : mise à jour du Kit de développement logiciel (SDK) IA vers la version 2.1.3 à partir de la version 1.8.8.

2.8.39

  • .NET Core : ajout de la prise en charge de .NET Core 5.0.

2.8.38

  • Extension JAVA : mise à niveau vers l’agent Java 3.0.2 (GA) à partir de la version 2.5.1.
  • Extension Node.js : mise à jour du Kit de développement logiciel (SDK) IA vers la version 1.8.8 à partir de la version 1.8.7.
  • .NET Core : suppression des versions hors support (2.0, 2.2, 3.0). Les versions prises en charge sont les versions 2.1 et 3.1.

2.8.37

  • Extension Windows AppSvc : .NET Core rendu opérationnel avec tout version de System.Diagnostics.DiagnosticSource.dll.

2.8.36

  • Extension Windows AppSvc : activation d’inter-op avec le Kit de développement logiciel (SDK) IA dans .NET Core.

2.8.35

  • Extension Windows AppSvc : Ajout de la prise en charge de .NET Core 3.1.

2.8.33

  • Les agents .NET, .NET core, Java et Node.js, ainsi que l’extension Windows : Prise en charge des clouds souverains. Les chaînes de connexion peuvent être utilisées pour envoyer des données à des clouds souverains.

2.8.31

  • L’agent ASP.NET Core a résolu un problème avec le Kit de développement logiciel (SDK) Application Insights. Si le runtime a chargé la version incorrecte de System.Diagnostics.DiagnosticSource.dll, l’extension sans code ne bloque pas l’application et s’interrompt. Pour résoudre le problème, les clients doivent supprimer System.Diagnostics.DiagnosticSource.dll du dossier classe ou utiliser l’ancienne version de l’extension en définissant ApplicationInsightsAgent_EXTENSIONVERSION=2.8.24. Si ce n’est pas le cas, la surveillance des applications n’est pas activée.

2.8.26

  • Agent ASP.NET Core : Correction du problème lié à la mise à jour du kit de développement logiciel Application Insights. L’agent ne tente pas de charger AiHostingStartup si le fichier ApplicationInsights.dll est déjà présent dans le dossier classe. Cela résout les problèmes liés à la réflexion via Assembly<AiHostingStartup>.GetTypes().
  • Problèmes connus : Une exception System.IO.FileLoadException: Could not load file or assembly 'System.Diagnostics.DiagnosticSource, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' peut être levée si une autre version de DiagnosticSource dll est chargée. Cela peut se produire, par exemple, si System.Diagnostics.DiagnosticSource.dll est présent dans le dossier de publication. Pour atténuer les risques, utilisez la version précédente de l’extension en définissant les paramètres de l’application dans services d’application : ApplicationInsightsAgent_EXTENSIONVERSION=2.8.24.

2.8.24

  • Version repackagée de 2.8.21.

2.8.23

  • Ajout de la prise en charge de l’analyse du code ASP.NET Core 3.0.
  • Mise à jour de ASP.NET Core SDK vers 2.8.0 pour les versions du runtime 2.1, 2.2 et 3.0. Les applications ciblant .NET Core 2.0 continuent à utiliser le 2.1.1 du kit de développement logiciel (SDK).

2.8.14

  • Mise à jour d’ASP.NET Core de la version du kit de développement logiciel (SDK) de 2.3.0 vers la dernière version (2.6.1) pour les applications ciblant .NET Core 2.1, 2.2. Les applications ciblant .NET Core 2.0 continuent à utiliser le 2.1.1 du kit de développement logiciel (SDK).

2.8.12

  • Prise en charge des applications ASP.NET Core 2.2.

  • Correction d’un bogue dans ASP.NET Core extension provoquant l’injection du SDK même lorsque l’application est déjà instrumentée avec le kit de développement logiciel (SDK). Pour les applications 2.1 et 2.2, la présence de ApplicationInsights.dll dans le dossier de l’application entraîne désormais l’interruption de l’extension. Pour les applications 2.0, l’extension est désactivée uniquement si ApplicationInsights est activé avec un appel de UseApplicationInsights().

  • Correction permanente de la réponse HTML incomplète pour les applications ASP.NET Core. Ce correctif est maintenant étendu pour fonctionner avec les applications .NET Core 2.2.

  • Ajout de la prise en charge de la désactivation de l’injection JavaScript pour les applications ASP.NET Core (APPINSIGHTS_JAVASCRIPT_ENABLED=false appsetting). Pour ASP.NET Core, l’injection JavaScript est en mode « désactivation » par défaut, sauf si elle est explicitement désactivée. (Le paramètre par défaut est utilisé pour conserver le comportement actuel.)

  • Correction du bogue de l’extension ASP.NET Core qui a provoqué l’injection même si ikey n’était pas présent.

  • Correction d’un bogue dans la logique de préfixe de la version du SDK qui provoquait une version incorrecte du kit de développement logiciel (SDK).

  • Ajout du préfixe de version du SDK pour les applications ASP.NET Core pour identifier la façon dont la télémétrie a été collectée.

  • Correction de la page SCM-ApplicationInsights pour afficher correctement la version de l’extension pré-installée.

2.8.10

  • Correction de la réponse HTML incomplète pour les applications ASP.NET Core.

Forum aux questions

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

Que modifie Application Insights dans mon projet ?

Cela dépend du type de projet. Pour une application web :

  • Ajoute ces fichiers à votre projet :
    • ApplicationInsights.config
    • ai.js
  • Installe ces packages NuGet :
    • API Application Insights : API de base
    • API Application Insights pour les applications web : permet d’envoyer des données de télémétrie à partir du serveur
    • API Application Insights pour les applications JavaScript : permet d’envoyer des données de télémétrie à partir du client
  • Ces packages comprennent les assemblys suivants :
    • Microsoft.ApplicationInsights
    • Microsoft.ApplicationInsights.Platform
  • Insère des éléments dans :
    • Web.config
    • packages.config
  • (Pour les nouveaux projets uniquement, vous allez ajouter manuellement Application Insights à un projet existant). Insère des extraits de contenu dans le code du client et du serveur pour les initialiser avec l’ID de la ressource Application Insights. Par exemple, dans une application MVC, le code est inséré dans la page principale Views/Shared/_Layout.cshtml.

Étapes suivantes

Découvrez comment activer la surveillance d’application de l’instrumentation automatique pour votre application .NET Core, .NET, Java ou Node.js s’exécutant sur App Service.