Résoudre les problèmes Azure Application Insights Agent (anciennement Status Monitor v2)
Cet article fournit des informations de dépannage pour vous aider à résoudre les problèmes de collecte de données que vous pouvez rencontrer lorsque la surveillance Application Insights est activée.
Problèmes connus
Dll en conflit dans le répertoire bin d’une application
Si l’une de ces bibliothèques de liens dynamiques (DLL) est présente dans le répertoire bin , la surveillance peut échouer :
- Microsoft.ApplicationInsights.dll
- Microsoft.AspNet.TelemetryCorrelation.dll
- System.Diagnostics.DiagnosticSource.dll
Certaines de ces DLL sont incluses dans les modèles d’application par défaut de Visual Studio, même si votre application ne les utilise pas. Vous pouvez utiliser les outils de résolution des problèmes, tels que les outils suivants, pour voir le comportement symptomatique :
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 et chargement de l’application (sans télémétrie). Examiner avec Sysinternals (Handle.exe et 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
Versions de PowerShell
Ce produit a été écrit et testé à l’aide de PowerShell version 5.1. Ce module n’est pas compatible avec les versions 6 ou 7 de PowerShell. Nous vous recommandons d’utiliser PowerShell 5.1 avec les versions plus récentes. Pour plus d’informations, consultez Utilisation de PowerShell 7 côte à côte avec PowerShell 5.1.
Conflit avec la configuration partagée IIS
Si vous avez un cluster de serveurs web, vous utilisez peut-être une configuration partagée. Le HttpModule ne peut pas être injecté dans cette configuration partagée. Exécutez la commande Enable sur chaque serveur web pour installer la DLL dans le Global Assembly Cache (GAC) de chaque serveur.
Après avoir exécuté la commande Enable, procédez comme suit :
Accédez au répertoire de configuration partagé et recherchez le fichier applicationHost.config .
Ajoutez ce code XML à la <section modules> de votre configuration :
<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>
Applications imbriquées IIS
Nous n’instrumentons pas les applications imbriquées dans Internet Information Services (IIS) dans la version 1.0.
La configuration avancée du KIT de développement logiciel (SDK) n’est pas disponible
La configuration du SDK n’est pas exposée à l’utilisateur final dans la version 1.0.
Résoudre les problèmes liés à PowerShell
Déterminer les modules disponibles
Vous pouvez utiliser la Get-Module -ListAvailable
commande pour déterminer quels modules sont installés.
Importer un module dans la session active
Si un module n’a pas été chargé dans une session PowerShell, vous pouvez le charger manuellement en exécutant la Import-Module <path to psd1>
commande .
Résoudre les problèmes du module Application Insights Agent
Répertorier les commandes disponibles dans le module Agent Application Insights
Exécutez la Get-Command -Module Az.ApplicationMonitor
commande pour obtenir les commandes disponibles :
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
Déterminer la version actuelle du module Application Insights Agent
Exécutez la Get-ApplicationInsightsMonitoringStatus -PowerShellModule
commande pour afficher les informations suivantes sur le module :
- Version du module PowerShell
- Version du Kit de développement logiciel (SDK) Application Insights
- Chemins d’accès aux fichiers du module PowerShell
Consultez la référence Get-ApplicationInsightsMonitoringStatus pour obtenir une description détaillée de l’utilisation de cette applet de commande.
Résoudre les problèmes liés aux processus en cours d’exécution
Vous pouvez inspecter les processus sur l’ordinateur instrumenté pour déterminer si toutes les DLL sont chargées et si les variables d’environnement sont définies. Si la surveillance fonctionne, au moins 12 DLL doivent être chargées.
- Utilisez la
Get-ApplicationInsightsMonitoringStatus -InspectProcess
commande pour case activée les DLL. - Utilisez la
(Get-Process -id <process-identifier>).StartInfo.EnvironmentVariables
commande pour case activée les variables d’environnement. Les variables d’environnement suivantes sont définies dans le processus worker ou le processus .NET Core :
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>
Consultez la référence Get-ApplicationInsightsMonitoringStatus pour obtenir une description détaillée de l’utilisation de cette applet de commande.
Collecter les journaux ETW à l’aide de PerfView
Configuration
Téléchargez PerfView.exe à partir de GitHub.
Exécutez PerfView.exe.
Dans la barre de menus, sélectionnez Collecter>collecter.
Développez Options avancées.
Décochez ces case activée zones :
- Zip
- Merge
- Collection de symboles .NET
Définissez ces fournisseurs supplémentaires :
*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
Collecte des journaux
Dans une console de commande avec des privilèges d’administrateur, exécutez la
iisreset /stop
commande pour désactiver IIS et toutes les applications web.Dans PerfView, sélectionnez Démarrer la collection.
Dans une console de commandes avec des privilèges d’administrateur, exécutez la
iisreset /start
commande pour démarrer IIS.Essayez d’accéder à votre application.
Une fois votre application chargée, revenez à PerfView et sélectionnez Arrêter la collecte.
Étapes suivantes
- Passez en revue les informations de référence sur l’API pour en savoir plus sur les paramètres que vous avez peut-être manqués.
Contactez-nous pour obtenir de l’aide
Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour