Activer le Débogueur de capture instantanée pour les applications .NET dans Azure App Service

Le Débogueur de capture instantanée prend en charge les applications ASP.NET et ASP.NET Core qui s’exécutent sur Azure App Service dans des plans de service Windows.

Notes

Lorsque vous utilisez le Débogueur de capture instantanée, nous vous recommandons d'exécuter votre application au niveau de service De base ou supérieur. Pour la plupart des applications, la mémoire disponible ou l’espace disque avec les niveaux de service Gratuit et Partagé est insuffisant pour enregistrer les captures instantanées. Le niveau Consommation n’est actuellement pas disponible pour le débogueur d’instantané.

Activer le Débogueur de capture instantanée

Débogueur de capture instantanée est préinstallé dans le cadre du runtime d’App Services, mais vous devez l’activer pour obtenir des captures instantanées pour votre application App Service. Pour activer le Débogueur de capture instantanée pour une application, suivez les instructions ci-dessous :

Remarque

Si vous utilisez une préversion de .NET Core ou si votre application référence le SDK Application Insights, directement ou indirectement via un assembly dépendant, suivez les instructions permettant d’activer le Débogueur de capture instantanée pour d’autres environnements en vue d’inclure le package NuGet Microsoft.ApplicationInsights.SnapshotCollector avec l’application.

Notes

L’installation sans code du Débogueur de capture instantanée Application Insights suit la politique de support .NET Core. Pour plus d’informations sur les runtimes pris en charge, consultez Politique de support .NET Core.

Une fois que vous avez déployé votre application .NET :

  1. Accédez au panneau de configuration Azure pour votre App Service.

  2. Accédez à la page Paramètres>Application Insights.

    Screenshot showing the Enable App Insights on App Services portal.

  3. Suivez les instructions dans la page pour créer une ressource ou sélectionnez une ressource App Insights existante pour superviser votre application.

  4. Positionnez le bouton bascule du Débogueur de capture instantanée sur Activé.

    Screenshot showing how to add App Insights site extension.

  5. Le Débogueur de capture instantanée est maintenant activé à l’aide d’un paramètre d’application App Services.

    Screenshot showing App Setting for Snapshot Debugger.

Si vous exécutez un autre type de service Azure, voici les instructions à suivre pour activer Débogueur de capture instantanée sur d’autres plateformes prises en charge :

Activer le Débogueur de capture instantanée pour les autres clouds

Seules les régions Azure Government et Microsoft Azure géré par 21Vianet nécessitent la modification de leurs points de terminaison par le biais d’une chaîne de connexion Application Insights.

Propriété de chaîne de connexion Cloud US Government China Cloud
SnapshotEndpoint https://snapshot.monitor.azure.us https://snapshot.monitor.azure.cn

Pour plus d’informations sur les autres substitutions de connexion, consultez la documentation Application Insights.

Activer l’authentification Microsoft Entra pour l’ingestion d’instantanés

Débogueur de capture instantanée Application Insights prend en charge l’authentification Microsoft Entra pour l’ingestion d’instantanés. Cela signifie que pour que tous les instantanés de votre application soient ingérés, votre application doit être authentifiée et fournir les paramètres d’application requis à l’agent Débogueur de capture instantanée.

À ce jour, Débogueur de capture instantanée ne prend en charge l’authentification Microsoft Entra ID que lorsque vous référencez et configurez Microsoft Entra à l’aide du Kit de développement logiciel (SDK) Application Insights dans votre application.

Pour activer Microsoft Entra ID pour l’ingestion d’instantanés :

  1. Créez et ajoutez l’identité managée que vous souhaitez utiliser pour vous authentifier auprès de votre ressource Application Insights sur votre instance App Service.

    1. Pour l’identité managée affectée par le système, consultez la documentation suivante.

    2. Pour l’identité managée affectée par l’utilisateur, consultez la documentation suivante.

  2. Configurez et activez Microsoft Entra ID dans votre ressource Application Insights. Pour plus d’informations, consultez la documentation suivante.

  3. Ajoutez le paramètre d’application suivant, utilisé pour permettre à l’agent Débogueur de capture instantanée de savoir quelle identité managée utiliser :

Pour l’identité affectée par le système :

Paramètre d'application Valeur
APPLICATIONINSIGHTS_AUTHENTICATION_STRING Authorization=AD

Pour l’identité affectée par l’utilisateur :

Paramètre d'application Valeur
APPLICATIONINSIGHTS_AUTHENTICATION_STRING Authorization=AD;ClientID={Client ID of the User-Assigned Identity}

Désactiver le Débogueur de capture instantanée

Pour désactiver le Débogueur de capture instantanée, répétez les étapes d’activation. Toutefois, positionnez le bouton bascule du Débogueur de capture instantanée sur Désactivé.

Modèle Azure Resource Manager

Pour un service Azure App Service, vous pouvez définir des paramètres d’application dans le modèle Resource Manager pour activer le Débogueur de capture instantanée et le Profileur. Par exemple :

{
  "apiVersion": "2015-08-01",
  "name": "[parameters('webSiteName')]",
  "type": "Microsoft.Web/sites",
  "location": "[resourceGroup().location]",
  "dependsOn": [
    "[variables('hostingPlanName')]"
  ],
  "tags": { 
    "[concat('hidden-related:', resourceId('Microsoft.Web/serverfarms', variables('hostingPlanName')))]": "empty",
    "displayName": "Website"
  },
  "properties": {
    "name": "[parameters('webSiteName')]",
    "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('hostingPlanName'))]"
  },
  "resources": [
    {
      "apiVersion": "2015-08-01",
      "name": "appsettings",
      "type": "config",
      "dependsOn": [
        "[parameters('webSiteName')]",
        "[concat('AppInsights', parameters('webSiteName'))]"
      ],
      "properties": {
        "APPINSIGHTS_INSTRUMENTATIONKEY": "[reference(resourceId('Microsoft.Insights/components', concat('AppInsights', parameters('webSiteName'))), '2014-04-01').InstrumentationKey]",
        "APPINSIGHTS_PROFILERFEATURE_VERSION": "1.0.0",
        "APPINSIGHTS_SNAPSHOTFEATURE_VERSION": "1.0.0",
        "DiagnosticServices_EXTENSION_VERSION": "~3",
        "ApplicationInsightsAgent_EXTENSION_VERSION": "~2"
      }
    }
  ]
},

Scénarios non pris en charge

Vous trouverez ci-dessous des scénarios dans lesquels Snapshot Collector n’est pas pris en charge :

Scénario Effets secondaires Recommandation
Vous utilisez le SDK Snapshot Collector directement depuis votre application (.csproj) et avez activé l’option avancée « Interop ». Le SDK Application Insights local (y compris la télémétrie Snapshot Collector) sera perdu et aucun instantané ne sera disponible.
Votre application peut se bloquer au démarrage avec System.ArgumentException: telemetryProcessorTypedoes not implement ITelemetryProcessor.
En savoir plus sur la fonctionnalité Application Insights « Interop ».
Si vous utilisez l’option avancée « Interop », utilisez l’injection Snapshot Collector sans code (activée via le portail Azure).

Étapes suivantes