Устранение неполадок с агентом приложение Azure Insights (ранее — Монитор состояния версии 2)
В этой статье содержатся сведения об устранении неполадок, которые помогут устранить проблемы со сбором данных, которые могут возникнуть при включенном мониторинге Application Insights.
Известные проблемы
Конфликтующие библиотеки DLL в каталоге bin приложения
Если какая-либо из этих библиотек динамической компоновки (DLL) присутствует в каталоге bin , мониторинг может завершиться ошибкой:
- Microsoft.ApplicationInsights.dll
- Microsoft.AspNet.TelemetryCorrelation.dll
- System.Diagnostics.DiagnosticSource.dll
Некоторые из этих библиотек DLL включены в шаблоны приложений Visual Studio по умолчанию, даже если ваше приложение не использует их. Вы можете использовать средства устранения неполадок, такие как следующие средства, чтобы увидеть симптоматическое поведение:
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 и загрузка приложения (без телеметрии). Исследование с помощью Sysinternals (Handle.exe и 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
Этот продукт был написан и протестирован с помощью PowerShell версии 5.1. Этот модуль несовместим с PowerShell версии 6 или 7. Мы рекомендуем использовать PowerShell 5.1 вместе с более новыми версиями. Дополнительные сведения см. в статье Использование PowerShell 7 параллельно с PowerShell 5.1.
Конфликт с общей конфигурацией IIS
Если у вас есть кластер веб-серверов, возможно, вы используете общую конфигурацию. HttpModule не может быть внедрен в эту общую конфигурацию. Выполните команду Включить на каждом веб-сервере, чтобы установить библиотеку DLL в глобальный кэш сборок (GAC) каждого сервера.
После выполнения команды Включить выполните следующие действия.
Перейдите в общий каталог конфигурации и найдите файлapplicationHost.config .
Добавьте этот XML-код в <раздел модулей> конфигурации:
<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>
Вложенные приложения IIS
Мы не инструментируем вложенные приложения в службах IIS версии 1.0.
Расширенная конфигурация пакета SDK недоступна
Конфигурация пакета SDK не предоставляется конечному пользователю в версии 1.0.
Устранение неполадок PowerShell
Определение доступных модулей
Вы можете использовать команду , Get-Module -ListAvailable
чтобы определить, какие модули установлены.
Импорт модуля в текущий сеанс
Если модуль не был загружен в сеанс PowerShell, его можно загрузить вручную, выполнив Import-Module <path to psd1>
команду .
Устранение неполадок с модулем агента Application Insights
Список команд, доступных в модуле агента Application Insights
Выполните команду , Get-Command -Module Az.ApplicationMonitor
чтобы получить доступные команды:
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
Определение текущей версии модуля агента Application Insights
Выполните команду , Get-ApplicationInsightsMonitoringStatus -PowerShellModule
чтобы отобразить следующие сведения о модуле:
- Версия модуля PowerShell
- Версия пакета SDK для Application Insights
- Пути к файлам модуля PowerShell
Подробное описание использования этого командлета см. в справочнике get-ApplicationInsightsMonitoringStatus .
Устранение неполадок с запущенным процессом
Вы можете проверить процессы на инструментированном компьютере, чтобы определить, загружены ли все библиотеки DLL и заданы ли переменные среды. Если мониторинг работает, необходимо загрузить по крайней мере 12 библиотек DLL.
Get-ApplicationInsightsMonitoringStatus -InspectProcess
Используйте команду , чтобы проверка библиотеки DLL.(Get-Process -id <process-identifier>).StartInfo.EnvironmentVariables
Используйте команду для проверка переменных среды. В рабочем процессе или процессе .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>
Подробное описание использования этого командлета см. в справочнике get-ApplicationInsightsMonitoringStatus .
Сбор журналов трассировки событий Windows с помощью PerfView
Setup
Скачайте PerfView.exe с сайта GitHub.
Запустите PerfView.exe.
В строке меню выберите Собрать>сбор.
Разверните узел Дополнительные параметры.
Очистите следующие поля проверка:
- Молния
- Merge
- Коллекция символов .NET
Задайте следующие дополнительные поставщики:
*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
Сбор журналов
В консоли команд с правами администратора выполните
iisreset /stop
команду, чтобы отключить СЛУЖБЫ IIS и все веб-приложения.В PerfView выберите Начать коллекцию.
В командной консоли с правами администратора выполните
iisreset /start
команду, чтобы запустить IIS.Попробуйте перейти к приложению.
После загрузки приложения вернитесь в PerfView и выберите Остановить сбор.
Дальнейшие действия
- Ознакомьтесь со ссылкой на API , чтобы узнать о параметрах, которые вы могли пропустить.
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по