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:
Wechseln Sie zur Azure-Systemsteuerung für Ihre App Service-Instanz.
Wechseln Sie zur Seite Einstellungen>Application Insights.
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.
Schalten Sie die Umschalter des Momentaufnahmedebuggers auf Ein um.
Der Momentaufnahmedebugger wurde mithilfe einer App Services-App-Einstellung aktiviert.
Wenn Sie eine andere Art von Azure-Dienst ausführen, helfen Ihnen diese Anweisungen beim Aktivieren des Momentaufnahmedebuggers auf anderen unterstützten Plattformen weiter:
- Azure-Funktion
- Azure Cloud Services
- Azure Service Fabric-Dienste
- Azure Virtual Machines und Virtual Machine Scale Sets
- Lokale virtuelle oder physische Computer
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:
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.
Informationen zu systemseitig zugewiesenen verwalteten Identitäten finden Sie in der folgenden Dokumentation.
Informationen zu benutzerseitig zugewiesenen verwalteten Identitäten finden Sie in der folgenden Dokumentation.
Konfigurieren und aktivieren Sie Microsoft Entra ID in Ihrer Application Insights-Ressource. Weitere Informationen finden Sie in der folgenden Dokumentation.
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.