Abilitare Snapshot Debugger per le app .NET nel servizio app Azure

Snapshot Debugger supporta attualmente le app ASP.NET e ASP.NET Core in esecuzione nei piani di servizio di App Azure in Windows.

Nota

È consigliabile eseguire l'applicazione nel livello di servizio Basic o versione successiva quando si usa Snapshot Debugger. Per la maggior parte delle applicazioni, i livelli di servizio Gratuito e Condiviso non hanno memoria o spazio su disco sufficiente per salvare gli snapshot. Il livello Consumo non è attualmente disponibile per Snapshot Debugger.

Abilitare snapshot debugger

Snapshot Debugger è preinstallato come parte del runtime di servizio app s, ma è necessario attivarlo per ottenere snapshot per l'app servizio app. Per abilitare Snapshot Debugger per un'app, seguire le istruzioni seguenti:

Nota

Se si usa una versione di anteprima di .NET Core o l'applicazione fa riferimento ad Application Insights SDK (direttamente o indirettamente tramite un assembly dipendente), seguire le istruzioni per Abilitare Snapshot Debugger per altri ambienti per includere il Microsoft.ApplicationInsights.SnapshotCollector pacchetto NuGet con l'applicazione.

Nota

L'installazione senza codice di Application Insights Snapshot Debugger segue i criteri di supporto di .NET Core. Per altre informazioni sui runtime supportati, vedere Criteri di supporto di .NET Core.

Dopo aver distribuito l'app .NET:

  1. Passare al pannello di controllo di Azure per il servizio app.

  2. Passare alla pagina Impostazioni> Application Insights.

    Screenshot showing the Enable App Insights on App Services portal.

  3. Seguire le istruzioni nella pagina per creare una nuova risorsa o selezionare una risorsa di App Insights esistente per monitorare l'app.

  4. Attivare o disattivare Snapshot Debugger.

    Screenshot showing how to add App Insights site extension.

  5. Snapshot Debugger è ora abilitato usando un'impostazione dell'app servizio app s.

    Screenshot showing App Setting for Snapshot Debugger.

Se si esegue un tipo diverso di servizio di Azure, ecco le istruzioni per abilitare Snapshot Debugger in altre piattaforme supportate:

Abilitare Snapshot Debugger per altri cloud

Attualmente le uniche aree che richiedono modifiche agli endpoint sono Azure per enti pubblici e Microsoft Azure gestito da 21Vianet tramite Application Insights Connessione ion String.

Connessione ion String, proprietà US Government Cloud Cloud per la Cina
SnapshotEndpoint https://snapshot.monitor.azure.us https://snapshot.monitor.azure.cn

Per altre informazioni su altre sostituzioni di connessione, vedere la documentazione di Application Insights.

Abilitare l'autenticazione di Microsoft Entra per l'inserimento di snapshot

Application Insights Snapshot Debugger supporta l'autenticazione di Microsoft Entra per l'inserimento di snapshot. Ciò significa che, affinché tutti gli snapshot dell'applicazione vengano inseriti, l'applicazione deve essere autenticata e fornire le impostazioni dell'applicazione necessarie all'agente snapshot debugger.

A partire da oggi Snapshot Debugger supporta solo l'autenticazione di Microsoft Entra quando si fa riferimento e si configura l'ID Microsoft Entra usando Application Insights SDK nell'applicazione.

Per attivare Microsoft Entra ID per l'inserimento di snapshot:

  1. Creare e aggiungere l'identità gestita da usare per eseguire l'autenticazione con la risorsa di Application Insights all'servizio app.

    1. Per l'identità gestita assegnata dal sistema, vedere la documentazione seguente.

    2. Per Identità gestita assegnata dall'utente, vedere la documentazione seguente.

  2. Configurare e attivare l'ID Microsoft Entra nella risorsa di Application Insights. Per altre informazioni, vedere la documentazione seguente

  3. Aggiungere l'impostazione dell'applicazione seguente, usata per informare l'agente snapshot debugger quale identità gestita usare:

Per Identità assegnata dal sistema:

Impostazione app Valore
APPLICATIONINSIGHTS_AUTHENTICATION_STRING Authorization=AD

Per Identità assegnata dall'utente:

Impostazione app Valore
APPLICATIONINSIGHTS_AUTHENTICATION_STRING Authorization=AD; ClientID={ID client dell'identità assegnata dall'utente}

Disabilitare snapshot debugger

Per disabilitare Snapshot Debugger, ripetere i passaggi per l'abilitazione. Tuttavia, impostare Snapshot Debugger su Disattivato.

Modello di Azure Resource Manager

Per un servizio app Azure, è possibile impostare le impostazioni dell'app all'interno del modello di Azure Resource Manager per abilitare Snapshot Debugger e Profiler. Ad esempio:

{
  "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"
      }
    }
  ]
},

Scenari non supportati

Di seguito sono riportati gli scenari in cui l'agente di raccolta snapshot non è supportato:

Scenario Effetti collaterali Recommendation
Si sta usando Snapshot Collector SDK nell'applicazione direttamente (con estensione csproj) e si è abilitata l'opzione avanzata "Interoperabilità". Application Insights SDK locale (inclusi i dati di telemetria dell'agente di raccolta snapshot) andrà perso e non saranno disponibili snapshot.
L'applicazione potrebbe arrestarsi in modo anomalo all'avvio con System.ArgumentException: telemetryProcessorTypedoes not implement ITelemetryProcessor.
Altre informazioni sulla funzionalità "Interoperabilità" di Application Insights.
Se si usa l'opzione avanzata "Interoperabilità", usare l'inserimento dell'agente di raccolta snapshot senza codice (abilitato tramite il portale di Azure).

Passaggi successivi

  • Generare traffico verso l'applicazione in grado di attivare un'eccezione. Attendere quindi da 10 a 15 minuti affinché gli snapshot vengano inviati all'istanza di Application Insights.
  • Vedere gli snapshot nel portale di Azure.
  • Per informazioni sulla risoluzione dei problemi di Snapshot Debugger, vedere Risoluzione dei problemi di Snapshot Debugger.