Risolvere i problemi relativi all'agente di applicazione Azure Insights (in precedenza Status Monitor v2)
Questo articolo fornisce informazioni sulla risoluzione dei problemi che consentono di risolvere i problemi di raccolta dati che potrebbero verificarsi quando è abilitato il monitoraggio di Application Insights.
Problemi noti
DLL in conflitto nella directory bin di un'app
Se una di queste librerie a collegamento dinamico (DLL) è presente nella directory bin , il monitoraggio potrebbe non riuscire:
- Microsoft.ApplicationInsights.dll
- Microsoft.AspNet.TelemetryCorrelation.dll
- System.Diagnostics.DiagnosticSource.dll
Alcune di queste DLL sono incluse nei modelli di app predefiniti di Visual Studio, anche se l'app non li usa. È possibile usare strumenti di risoluzione dei problemi, ad esempio gli strumenti seguenti, per visualizzare il comportamento sintomatico:
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 e il caricamento dell'app (senza dati di telemetria). Analizzare con Sysinternals (Handle.exe e 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
Versioni di PowerShell
Questo prodotto è stato scritto e testato con PowerShell versione 5.1. Questo modulo non è compatibile con PowerShell versione 6 o 7. È consigliabile usare PowerShell 5.1 insieme alle versioni più recenti. Per altre informazioni, vedere Uso di PowerShell 7 side-by-side con PowerShell 5.1.
Conflitto con la configurazione condivisa di IIS
Se si dispone di un cluster di server Web, è possibile usare una configurazione condivisa. Non è possibile inserire HttpModule in questa configurazione condivisa. Eseguire il comando Abilita in ogni server Web per installare la DLL nella Global Assembly Cache (GAC) di ogni server.
Dopo aver eseguito il comando Abilita, completare la procedura seguente:
Passare alla directory di configurazione condivisa e trovare il file applicationHost.config .
Aggiungere questo codice XML alla <sezione modules> della configurazione:
<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>
Applicazioni annidate IIS
Non instrumentiamo applicazioni annidate in Internet Information Services (IIS) nella versione 1.0.
La configurazione avanzata dell'SDK non è disponibile
La configurazione dell'SDK non è esposta all'utente finale nella versione 1.0.
Risolvere i problemi di PowerShell
Determinare quali moduli sono disponibili
È possibile usare il Get-Module -ListAvailable
comando per determinare quali moduli sono installati.
Importare un modulo nella sessione corrente
Se un modulo non è stato caricato in una sessione di PowerShell, è possibile caricarlo manualmente eseguendo il Import-Module <path to psd1>
comando .
Risolvere i problemi del modulo Dell'agente di Application Insights
Elencare i comandi disponibili nel modulo dell'agente di Application Insights
Eseguire il Get-Command -Module Az.ApplicationMonitor
comando per ottenere i comandi disponibili:
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
Determinare la versione corrente del modulo dell'agente di Application Insights
Eseguire il Get-ApplicationInsightsMonitoringStatus -PowerShellModule
comando per visualizzare le informazioni seguenti sul modulo:
- Versione del modulo PowerShell
- Versione di Application Insights SDK
- Percorsi di file del modulo PowerShell
Esaminare il riferimento Get-ApplicationInsightsMonitoringStatus per una descrizione dettagliata dell'uso di questo cmdlet.
Risolvere i problemi relativi ai processi in esecuzione
È possibile esaminare i processi nel computer instrumentato per determinare se vengono caricate tutte le DLL e se sono impostate le variabili di ambiente. Se il monitoraggio funziona, devono essere caricate almeno 12 DLL.
- Usare il
Get-ApplicationInsightsMonitoringStatus -InspectProcess
comando per controllare le DLL. - Usare il
(Get-Process -id <process-identifier>).StartInfo.EnvironmentVariables
comando per controllare le variabili di ambiente. Nel processo di lavoro o nel processo .NET Core vengono impostate le variabili di ambiente seguenti:
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>
Esaminare il riferimento Get-ApplicationInsightsMonitoringStatus per una descrizione dettagliata dell'uso di questo cmdlet.
Raccogliere i log ETW usando PerfView
Configurazione
Scaricare PerfView.exe da GitHub.
Eseguire PerfView.exe.
Sulla barra dei menu selezionare Raccogli>raccogli.
Espandere Opzioni avanzate.
Deselezionare queste caselle di controllo:
- Zip
- Unione
- Insieme di simboli .NET
Impostare questi provider aggiuntivi:
*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
Raccogliere i log
In una console dei comandi con privilegi di amministratore eseguire il
iisreset /stop
comando per disattivare IIS e tutte le app Web.In PerfView selezionare Avvia raccolta.
In una console dei comandi con privilegi di amministratore eseguire il
iisreset /start
comando per avviare IIS.Provare a passare all'app.
Dopo il caricamento dell'app, tornare a PerfView e selezionare Interrompi raccolta.
Passaggi successivi
- Esaminare il riferimento all'API per informazioni sui parametri che potrebbero non essere stati visualizzati.
Contattaci per ricevere assistenza
In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per