Aktivieren des Momentaufnahmedebuggers für .NET-Apps in Azure App Service

Der Momentaufnahmedebugger unterstützt derzeit ASP.NET- und ASP.NET Core-Apps, die unter Azure App Service in Windows-Dienstplänen ausgeführt werden.

Hinweis

Wenn Sie den Momentaufnahmedebugger verwenden, empfehlen wir, Ihre Anwendung auf der Dienstebene „Basic“ oder höher auszuführen. Bei den meisten Anwendungen haben die Dienstebenen „Free“ und „Shared“ nicht genügend Arbeits- oder Festplattenspeicher zum Speichern von Momentaufnahmen. Die Verbrauchsebene ist derzeit für den Momentaufnahmedebugger nicht verfügbar.

Aktivieren des Momentaufnahmedebuggers

Der Momentaufnahmedebugger ist als Teil der App Services-Runtime zwar bereits vorinstalliert, muss aber noch aktiviert werden, um Momentaufnahmen für Ihre App Service-Apps zu erhalten. Befolgen Sie die unten angegebenen Anweisungen, um den Momentaufnahmedebugger für eine App zu aktivieren:

Hinweis

Wenn Sie eine Vorschauversion von .NET Core verwenden oder Ihre Anwendung (direkt oder indirekt über eine abhängige Assembly) auf das Application Insights SDK verweist, führen Sie die Anweisungen unter Aktivieren des Momentaufnahmedebuggers für andere Umgebungen aus, um das NuGet-Paket Microsoft.ApplicationInsights.SnapshotCollector in die Anwendung zu integrieren.

Hinweis

Die codefreie Installation des Application Insights-Momentaufnahmedebuggers folgt der Richtlinie zur .NET Core-Unterstützung. Weitere Informationen zu unterstützten Runtimes finden Sie in der .NET Core-Unterstützungsrichtlinie.

Nachdem Sie Ihre .NET-App bereitgestellt haben:

  1. Wechseln Sie zur Azure-Systemsteuerung für Ihre App Service-Instanz.

  2. Wechseln Sie zur Seite Einstellungen>Application Insights.

    Screenshot showing the Enable App Insights on App Services portal.

  3. Befolgen Sie die Anweisungen auf der Seite, um eine neue Ressource zu erstellen, oder wählen Sie eine vorhandene App Insights-Ressource aus, um Ihre App zu überwachen.

  4. Schalten Sie die Umschalter des Momentaufnahmedebuggers auf Ein um.

    Screenshot showing how to add App Insights site extension.

  5. Der Momentaufnahmedebugger wurde mithilfe einer App Services-App-Einstellung aktiviert.

    Screenshot showing App Setting for Snapshot Debugger.

Wenn Sie eine andere Art von Azure-Dienst ausführen, helfen Ihnen diese Anweisungen beim Aktivieren des Momentaufnahmedebuggers auf anderen unterstützten Plattformen weiter:

Aktivieren des Momentaufnahmedebuggers für andere Clouds

Derzeit sind Azure Government und Microsoft Azure betrieben von 21Vianet die einzigen Regionen, für die Endpunktänderungen über die Application Insights-Verbindungszeichenfolge erforderlich sind.

Eigenschaft mit der Verbindungszeichenfolge US Government-Cloud China-Cloud
SnapshotEndpoint https://snapshot.monitor.azure.us https://snapshot.monitor.azure.cn

Weitere Informationen zu anderen Verbindungsüberschreibungen finden Sie in der Application Insights-Dokumentation.

Aktivieren der Microsoft Entra-Authentifizierung für die Momentaufnahmenerfassung

Application Insights Momentaufnahmedebugger unterstützt Microsoft Entra-Authentifizierung für die Momentaufnahmenerfassung. Dies bedeutet, dass ihre Anwendung authentifiziert werden und die erforderlichen Anwendungseinstellungen für den Momentaufnahmedebugger-Agent bereitstellen muss, damit alle Momentaufnahmen Ihrer Anwendung erfasst werden können.

Ab sofort unterstützt Momentaufnahmedebugger die Microsoft Entra-Authentifizierung nur, wenn Sie mit dem Application Insights SDK in Ihrer Anwendung auf Microsoft Entra ID verweisen und diese konfigurieren.

So aktivieren Sie die Microsoft Entra ID für die Erfassung von Momentaufnahmen:

  1. Erstellen Sie die verwaltete Identität, die Sie für die Authentifizierung bei Ihrer Application Insights-Ressource verwenden möchten, und fügen Sie sie Ihrem App Service hinzu.

    1. Informationen zu systemseitig zugewiesenen verwalteten Identitäten finden Sie in der folgenden Dokumentation.

    2. Informationen zu benutzerseitig zugewiesenen verwalteten Identitäten finden Sie in der folgenden Dokumentation.

  2. Konfigurieren und aktivieren Sie Microsoft Entra ID in Ihrer Application Insights-Ressource. Weitere Informationen finden Sie in der folgenden Dokumentation.

  3. Fügen Sie die folgende Anwendungseinstellung hinzu, mit der der Momentaufnahmedebugger-Agent weiß, welche verwaltete Identität verwendet werden soll:

Für systemseitig zugewiesene Identität:

App-Einstellung Wert
APPLICATIONINSIGHTS_AUTHENTICATION_STRING Authorization=AD

Für benutzerseitig zugewiesene Identität:

App-Einstellung Wert
APPLICATIONINSIGHTS_AUTHENTICATION_STRING Authorization=AD;ClientId={Client-ID der benutzerseitig zugewiesenen Identität}

Deaktivieren des Momentaufnahmedebuggers

Wiederholen Sie zum Deaktivieren des Momentaufnahmedebuggers die Schritte zum Aktivieren. Schalten Sie jedoch die Umschalter des Momentaufnahmedebuggers auf Aus um.

Azure Resource Manager-Vorlage

Bei einer Azure App Service-App können Sie App-Einstellungen innerhalb der Azure Resource Manager-Vorlage festlegen, um den Momentaufnahmedebugger und Profiler zu aktivieren. Beispiel:

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

Nicht unterstützte Szenarien

In den folgenden Szenarios wird Snapshot Collector nicht unterstützt:

Szenario Nebeneffekte Empfehlung
Sie verwenden das Snapshot Collector-SDK direkt in Ihrer Anwendung (CSPROJ) und haben die erweiterte Option „Interop“ aktiviert. Das lokale Application Insights-SDK (einschließlich Snapshot Collector-Telemetriedaten) geht verloren und es sind keine Momentaufnahmen verfügbar.
Ihre Anwendung kann beim Start mit System.ArgumentException: telemetryProcessorTypedoes not implement ITelemetryProcessor. abstürzen.
Erfahren Sie mehr über das Application Insights-Feature „Interop“.
Wenn Sie die erweiterte Option „Interop“ verwenden, nutzen Sie die codelose Snapshot Collector-Einschleusung (aktiviert über das Azure-Portal).

Nächste Schritte

  • Generieren Sie Datenverkehr für Ihre Anwendung, der eine Ausnahme auslösen kann. Warten Sie dann 10 bis 15 Minuten, bis die Momentaufnahmen an die Application Insights-Instanz gesendet werden.
  • Weitere Informationen finden Sie unter Momentaufnahmen im Azure-Portal.
  • Hilfe bei der Behandlung von Problemen mit dem Momentaufnahmedebugger finden Sie unter Problembehandlung für Momentaufnahmedebugger.