Problembehandlung für Azure-Anwendung Insights-Agent (früher Statusmonitor v2)
Dieser Artikel enthält Informationen zur Problembehandlung, um Probleme bei der Datensammlung zu beheben, die bei aktivierter Application Insights-Überwachung auftreten können.
Bekannte Probleme
In Konflikt stehende DLLs im Bin-Verzeichnis einer App
Wenn eine dieser DlLs (Dynamic Link Libraries) im Verzeichnis bin vorhanden ist, schlägt die Überwachung möglicherweise fehl:
- Microsoft.ApplicationInsights.dll
- Microsoft.AspNet.TelemetryCorrelation.dll
- System.Diagnostics.DiagnosticSource.dll
Einige dieser DLLs sind in den Visual Studio-Standard-App-Vorlagen enthalten, auch wenn Ihre App sie nicht verwendet. Sie können Tools zur Problembehandlung verwenden, z. B. die folgenden Tools, um symptomatisches Verhalten zu sehen:
PerfView:
ThreadID="7,500" ProcessorNumber="0" msg="Found 'System.Diagnostics.DiagnosticSource, Version=4.0.2.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' assembly, skipping attaching redfield binaries" ExtVer="2.8.13.5972" SubscriptionId="" AppName="" FormattedMessage="Found 'System.Diagnostics.DiagnosticSource, Version=4.0.2.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' assembly, skipping attaching redfield binaries"
IISReset und App-Ladevorgang (ohne Telemetrie). Untersuchen sie mit Sysinternals (Handle.exe und ListDLLs.exe):
.\handle64.exe -p w3wp | findstr /I "InstrumentationEngine AI. ApplicationInsights" E54: File (R-D) C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Runtime\Microsoft.ApplicationInsights.RedfieldIISModule.dll .\Listdlls64.exe w3wp | findstr /I "InstrumentationEngine AI ApplicationInsights" 0x0000000009be0000 0x127000 C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Instrumentation64\MicrosoftInstrumentationEngine_x64.dll 0x0000000009b90000 0x4f000 C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Instrumentation64\Microsoft.ApplicationInsights.ExtensionsHost_x64.dll 0x0000000004d20000 0xb2000 C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Instrumentation64\Microsoft.ApplicationInsights.Extensions.Base_x64.dll
PowerShell-Versionen
Dieses Produkt wurde mit PowerShell Version 5.1 geschrieben und getestet. Dieses Modul ist nicht mit PowerShell-Versionen 6 oder 7 kompatibel. Es wird empfohlen, PowerShell 5.1 zusammen mit neueren Versionen zu verwenden. Weitere Informationen finden Sie unter Paralleles Verwenden von PowerShell 7 mit PowerShell 5.1.
Konflikt mit der freigegebenen IIS-Konfiguration
Wenn Sie über einen Cluster von Webservern verfügen, verwenden Sie möglicherweise eine freigegebene Konfiguration. Das HttpModule kann nicht in diese freigegebene Konfiguration eingefügt werden. Führen Sie den Befehl Aktivieren auf jedem Webserver aus, um die DLL im globalen Assemblycache (GAC) der einzelnen Server zu installieren.
Nachdem Sie den Befehl Aktivieren ausgeführt haben, führen Sie die folgenden Schritte aus:
Wechseln Sie zum freigegebenen Konfigurationsverzeichnis, und suchen Sie die applicationHost.config Datei.
Fügen Sie diesen XML-Code dem <Abschnitt module> Ihrer Konfiguration hinzu:
<modules> <!-- Registered global managed http module handler. The 'Microsoft.AppInsights.IIS. ManagedHttpModuleHelper.dll' must be installed in the GAC before this config is applied. --> <add name="ManagedHttpModuleHelper" type="Microsoft.AppInsights.IIS.ManagedHttpModuleHelper. ManagedHttpModuleHelper, Microsoft.AppInsights.IIS.ManagedHttpModuleHelper, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" /> </modules>
Geschachtelte IIS-Anwendungen
Wir instrumentieren keine geschachtelten Anwendungen in Internetinformationsdienste (IIS) in Version 1.0.
Erweiterte SDK-Konfiguration ist nicht verfügbar
Die SDK-Konfiguration wird in Version 1.0 nicht für den Endbenutzer verfügbar gemacht.
Problembehandlung bei PowerShell
Ermitteln der verfügbaren Module
Sie können den Get-Module -ListAvailable
Befehl verwenden, um zu bestimmen, welche Module installiert werden.
Importieren eines Moduls in die aktuelle Sitzung
Wenn ein Modul nicht in eine PowerShell-Sitzung geladen wurde, können Sie es manuell laden, indem Sie den Import-Module <path to psd1>
Befehl ausführen.
Problembehandlung für das Application Insights-Agent-Modul
Auflisten der im Application Insights-Agent-Modul verfügbaren Befehle
Führen Sie den Get-Command -Module Az.ApplicationMonitor
Befehl aus, um die verfügbaren Befehle abzurufen:
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Disable-ApplicationInsightsMonitoring 0.4.0 Az.ApplicationMonitor
Cmdlet Disable-InstrumentationEngine 0.4.0 Az.ApplicationMonitor
Cmdlet Enable-ApplicationInsightsMonitoring 0.4.0 Az.ApplicationMonitor
Cmdlet Enable-InstrumentationEngine 0.4.0 Az.ApplicationMonitor
Cmdlet Get-ApplicationInsightsMonitoringConfig 0.4.0 Az.ApplicationMonitor
Cmdlet Get-ApplicationInsightsMonitoringStatus 0.4.0 Az.ApplicationMonitor
Cmdlet Set-ApplicationInsightsMonitoringConfig 0.4.0 Az.ApplicationMonitor
Cmdlet Start-ApplicationInsightsMonitoringTrace 0.4.0 Az.ApplicationMonitor
Ermitteln der aktuellen Version des Application Insights-Agent-Moduls
Führen Sie den Get-ApplicationInsightsMonitoringStatus -PowerShellModule
Befehl aus, um die folgenden Informationen zum Modul anzuzeigen:
- PowerShell-Modulversion
- Application Insights SDK-Version
- Dateipfade des PowerShell-Moduls
Eine ausführliche Beschreibung der Verwendung dieses Cmdlets finden Sie in der Referenz get-ApplicationInsightsMonitoringStatus .
Problembehandlung bei ausgeführten Prozessen
Sie können die Prozesse auf dem instrumentierten Computer überprüfen, um festzustellen, ob alle DLLs geladen und Umgebungsvariablen festgelegt sind. Wenn die Überwachung funktioniert, sollten mindestens 12 DLLs geladen werden.
- Verwenden Sie den
Get-ApplicationInsightsMonitoringStatus -InspectProcess
Befehl, um die DLLs zu überprüfen. - Verwenden Sie den
(Get-Process -id <process-identifier>).StartInfo.EnvironmentVariables
Befehl, um die Umgebungsvariablen zu überprüfen. Die folgenden Umgebungsvariablen werden im Arbeitsprozess oder im .NET Core-Prozess festgelegt:
COR_ENABLE_PROFILING=1
COR_PROFILER={324F817A-7420-4E6D-B3C1-143FBED6D855}
COR_PROFILER_PATH_32=<path-to-MicrosoftInstrumentationEngine_x86.dll>
COR_PROFILER_PATH_64=<path-to-MicrosoftInstrumentationEngine_x64.dll>
MicrosoftInstrumentationEngine_Host={CA487940-57D2-10BF-11B2-A3AD5A13CBC0}
MicrosoftInstrumentationEngine_HostPath_32=<path-to-Microsoft.ApplicationInsights.ExtensionsHost_x86.dll>
MicrosoftInstrumentationEngine_HostPath_64=<path-to-Microsoft.ApplicationInsights.ExtensionsHost_x64.dll>
MicrosoftInstrumentationEngine_ConfigPath32_Private=<path-to-Microsoft.InstrumentationEngine.Extensions.config>
MicrosoftInstrumentationEngine_ConfigPath64_Private=<path-to-Microsoft.InstrumentationEngine.Extensions.config>
MicrosoftAppInsights_ManagedHttpModulePath=<path-to-Microsoft.ApplicationInsights.RedfieldIISModule.dll>
MicrosoftAppInsights_ManagedHttpModuleType=Microsoft.ApplicationInsights.RedfieldIISModule.RedfieldIISModule
ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=Microsoft.ApplicationInsights.StartupBootstrapper
DOTNET_STARTUP_HOOKS=<path-to-Microsoft.ApplicationInsights.StartupHook.dll>
Eine ausführliche Beschreibung der Verwendung dieses Cmdlets finden Sie in der Referenz get-ApplicationInsightsMonitoringStatus .
Sammeln von ETW-Protokollen mithilfe von PerfView
Setup
Laden Sie PerfView.exe von GitHub herunter.
Führen Sie PerfView.exeaus.
Wählen Sie auf der Menüleiste Collect (Sammeln>)aus.
Erweitern Sie Erweiterte Optionen.
Deaktivieren Sie diese Kontrollkästchen:
- Zip
- Merge
- .NET-Symbolsammlung
Legen Sie die folgenden zusätzlichen Anbieter fest:
*Microsoft-ApplicationInsights-AspNetCore,*Microsoft-ApplicationInsights-AspNetCore-AiHostingStartup,*Microsoft-ApplicationInsights-AspNetCore-StartupBootstrapper,*Microsoft-ApplicationInsights-AspNetCore-StartupHook,*Microsoft-ApplicationInsights-Core,*Microsoft-ApplicationInsights-Data,*Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Dependency,*Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Web,*Microsoft-ApplicationInsights-Extensibility-DependencyCollector,*Microsoft-ApplicationInsights-Extensibility-EventCounterCollector,*Microsoft-ApplicationInsights-Extensibility-EventSourceListener,*Microsoft-ApplicationInsights-Extensibility-HostingStartup,*Microsoft-ApplicationInsights-Extensibility-PerformanceCollector,*Microsoft-ApplicationInsights-Extensibility-PerformanceCollector-QuickPulse,*Microsoft-ApplicationInsights-Extensibility-Web,*Microsoft-ApplicationInsights-Extensibility-WindowsServer,*Microsoft-ApplicationInsights-FrameworkLightup,*Microsoft-ApplicationInsights-IIS-ManagedHttpModuleHelper,*Microsoft-ApplicationInsights-Java-IPA,*Microsoft-ApplicationInsights-LoggerProvider,*Microsoft-ApplicationInsights-Nodejs-IPA,*Microsoft-ApplicationInsights-RedfieldIISModule,*Microsoft-ApplicationInsights-SnapshotCollectorLightup,*Microsoft-ApplicationInsights-WindowsServer-Core,*Microsoft-ApplicationInsights-WindowsServer-TelemetryChannel,*Redfield-Microsoft-ApplicationInsights-AspNetCore,*Redfield-Microsoft-ApplicationInsights-Core,*Redfield-Microsoft-ApplicationInsights-Data,*Redfield-Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Dependency,*Redfield-Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Web,*Redfield-Microsoft-ApplicationInsights-Extensibility-DependencyCollector,*Redfield-Microsoft-ApplicationInsights-Extensibility-EventCounterCollector,*Redfield-Microsoft-ApplicationInsights-Extensibility-EventSourceListener,*Redfield-Microsoft-ApplicationInsights-Extensibility-PerformanceCollector,*Redfield-Microsoft-ApplicationInsights-Extensibility-PerformanceCollector-QuickPulse,*Redfield-Microsoft-ApplicationInsights-Extensibility-Web,*Redfield-Microsoft-ApplicationInsights-Extensibility-WindowsServer,*Redfield-Microsoft-ApplicationInsights-LoggerProvider,*Redfield-Microsoft-ApplicationInsights-WindowsServer-TelemetryChannel
Erfassen von Protokollen
Führen Sie in einer Befehlskonsole mit Administratorrechten den
iisreset /stop
Befehl aus, um IIS und alle Web-Apps zu deaktivieren.Wählen Sie in PerfView die Option Sammlung starten aus.
Führen Sie in einer Befehlskonsole mit Administratorrechten den
iisreset /start
Befehl aus, um IIS zu starten.Versuchen Sie, zu Ihrer App zu navigieren.
Kehren Sie nach dem Laden Ihrer App zu PerfView zurück, und wählen Sie Sammlung beenden aus.
Nächste Schritte
- Lesen Sie die API-Referenz , um mehr über Parameter zu erfahren, die Sie möglicherweise verpasst haben.
Kontaktieren Sie uns für Hilfe
Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für