Problembehandlung für Azure-App lication Insights Agent (früher Status Monitor v2)

Dieser Artikel enthält Informationen zur Problembehandlung, mit denen Sie Probleme bei der Datensammlung beheben können, die auftreten können, wenn die Überwachung von Microsoft Azure-App lication Insights aktiviert ist.

Bekannte Probleme

In Konflikt stehenden DLLs im Ordner "bin"

Wenn eine dieser Dynamic Link Libraries (DLLs) im Ordner "Bin " der App 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 die App sie nicht verwendet. Sie können Tools zur Problembehandlung verwenden, z. B. die folgenden Tools, um symptomatisches Verhalten anzuzeigen:

  • 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 load (ohne Telemetrie). Untersuchen Sie 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 kompatibel mit den PowerShell-Versionen 6 oder 7. Es wird empfohlen, PowerShell 5.1 zusammen mit neueren Versionen zu verwenden. Weitere Informationen finden Sie unter Verwenden von PowerShell 7 nebeneinander mit PowerShell 5.1.

Konflikt in der freigegebenen IIS-Konfiguration

Wenn Sie über einen Cluster von Webservern verfügen, verwenden Sie möglicherweise eine Freigabekonfiguration. Das HTTP-Modul 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) jedes Servers zu installieren.

Führen Sie nach dem Ausführen des Befehls "Aktivieren" die folgenden Schritte aus:

  1. Wechseln Sie zum freigegebenen Konfigurationsverzeichnis, und suchen Sie die Datei "ApplicationHost.config ".

  2. Fügen Sie dem Modulabschnitt> Ihrer Konfiguration den <folgenden XML-Code 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

In Version 1.0 des Application Insights-Agents instrumentieren wir keine geschachtelten Anwendungen in Internetinformationsdienste (IIS).

Klassischer IIS-Pipelinemodus

Anwendungen, die in Anwendungspools gehostet werden, werden nicht instrumentiert, wenn sie für die Verwendung des klassischen Pipelinemodus konfiguriert sind.

Erweiterte SDK-Konfiguration ist nicht verfügbar.

Die SDK-Konfiguration ist in Version 1.0 für den Endbenutzer nicht verfügbar.

Problembehandlung bei PowerShell

Ermitteln, welche Module verfügbar sind

Führen Sie das Get-Module -ListAvailable Cmdlet aus, um zu ermitteln, welche Module installiert sind.

Importieren eines Moduls in die aktuelle Sitzung

Wenn ein Modul nicht in eine PowerShell-Sitzung geladen wird, können Sie es manuell laden, indem Sie das Import-Module <path-to-psd1> Cmdlet ausführen.

Problembehandlung für das Application Insights Agent-Modul

Auflisten der im Application Insights Agent-Modul verfügbaren Cmdlets

Um die Cmdlets anzuzeigen, die im Application Insights Agent-Modul verfügbar sind, führen Sie das Get-Command -Module Az.ApplicationMonitor Cmdlet aus:

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

Bestimmen der aktuellen Version des Application Insights-Agent-Moduls

Führen Sie das Get-ApplicationInsightsMonitoringStatus -PowerShellModule Cmdlet aus, um die folgenden Informationen zum Modul anzuzeigen:

  • PowerShell-Modulversion
  • Version des Application Insights SDK
  • Dateipfade des PowerShell-Moduls

In der Get-ApplicationInsightsMonitoringStatus-Referenz finden Sie eine ausführliche Beschreibung der Verwendung dieses Cmdlets.

Problembehandlung bei ausgeführten Prozessen

Sie können die Prozesse auf dem instrumentierten Computer überprüfen, um zu bestimmen, ob alle DLLs geladen werden und Umgebungsvariablen festgelegt sind. Wenn die Überwachung funktioniert, sollten mindestens 12 DLLS geladen worden sein.

  • Führen Sie das Get-ApplicationInsightsMonitoringStatus -InspectProcess Cmdlet aus, um die DLLs zu überprüfen.
  • Führen Sie das (Get-Process -id <process-identifier>).StartInfo.EnvironmentVariables Cmdlet aus, 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>

In der Get-ApplicationInsightsMonitoringStatus-Referenz finden Sie eine ausführliche Beschreibung der Verwendung dieses Cmdlets.

Sammeln von ETW-Protokollen mit PerfView

Setup

  1. Laden Sie PerfView.exe von GitHub herunter.

  2. Führen Sie PerfView.exe aus.

  3. Wählen Sie auf der Menüleiste "Sammeln" die Option "Sammeln">aus.

  4. Erweitern Sie Erweiterte Optionen.

  5. Deaktivieren Sie die folgenden Kontrollkästchen:

    • Zip
    • Zusammenführen
    • .NET-Symbolsammlung
  6. 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

  1. Führen Sie in einer Administrator-Eingabeaufforderung den iisreset /stop Befehl aus, um IIS und alle Web-Apps zu deaktivieren.

  2. Wählen Sie in PerfView Sammlung starten aus.

  3. Führen Sie an einer Administrativen Eingabeaufforderung den iisreset /start Befehl aus, um IIS zu starten.

  4. Versuchen Sie, zu Ihrer App zu navigieren.

  5. Kehren Sie nach dem Laden der App zu PerfView zurück, und wählen Sie "Sammlung beenden" aus.

Nächste Schritte

  • Überprüfen Sie die API-Referenz , um informationen zu Parametern zu erhalten, 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.