Partekatu honen bidez:


Solución de problemas App de Azure lication Insights Agent (anteriormente Status Monitor v2)

En este artículo se proporciona información de solución de problemas para ayudarle a resolver los problemas de recopilación de datos que puede experimentar cuando está habilitada la supervisión de Microsoft App de Azure lication Insights.

Problemas conocidos

Archivos DLL en conflicto en la carpeta bin

Si alguna de estas bibliotecas de vínculos dinámicos (DLL) está presente en la carpeta bin de la aplicación, es posible que se produzca un error en la supervisión:

  • Microsoft.ApplicationInsights.dll
  • Microsoft.AspNet.TelemetryCorrelation.dll
  • System.Diagnostics.DiagnosticSource.dll

Algunos de estos archivos DLL se incluyen en las plantillas de aplicación predeterminadas de Visual Studio, incluso si la aplicación no las usa. Puede usar herramientas de solución de problemas, como las siguientes, para ver el comportamiento sintomático:

  • 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 y carga de aplicación (sin telemetría). Investigue mediante Sysinternals (Handle.exe y 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
    

Versiones de PowerShell

Este producto se escribió y probó mediante powerShell versión 5.1. Este módulo no es compatible con las versiones 6 o 7 de PowerShell. Se recomienda usar PowerShell 5.1 junto con versiones más recientes. Para más información, consulte Uso de PowerShell 7 en paralelo con PowerShell 5.1.

Conflicto en la configuración compartida de IIS

Si tiene un clúster de servidores web, puede que esté usando una configuración compartida. El módulo HTTP no se puede insertar en esta configuración compartida. Ejecute el comando Habilitar en cada servidor web para instalar el archivo DLL en la caché global de ensamblados (GAC) de cada servidor.

Después de ejecutar el comando Habilitar, siga estos pasos:

  1. Vaya al directorio de configuración compartido y busque el archivo ApplicationHost.config .

  2. Agregue el código XML siguiente a la sección módulos> de la <configuración:

    <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>
    

Aplicaciones anidadas de IIS

En la versión 1.0 del agente de Application Insights, no instrumentamos aplicaciones anidadas en Internet Information Services (IIS).

Modo de canalización clásica de IIS

No instrumentamos aplicaciones hospedadas en grupos de aplicaciones si están configuradas para usar el modo de canalización clásica.

La configuración avanzada del SDK no está disponible

La configuración del SDK no se muestra al usuario final en la versión 1.0.

Solución de problemas de PowerShell

Determine qué módulos están disponibles

Para determinar qué módulos están instalados, ejecute el Get-Module -ListAvailable cmdlet .

Importe un módulo en la sesión actual

Si un módulo no se carga en una sesión de PowerShell, puede cargarlo manualmente ejecutando el Import-Module <path-to-psd1> cmdlet .

Solución de problemas del módulo del agente de Application Insights

Enumeración de los cmdlets disponibles en el módulo del agente de Application Insights

Para ver los cmdlets disponibles en el módulo del agente de Application Insights, ejecute el Get-Command -Module Az.ApplicationMonitor cmdlet :

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

Determinación de la versión actual del módulo Application Insights Agent

Ejecute el Get-ApplicationInsightsMonitoringStatus -PowerShellModule cmdlet para mostrar la siguiente información sobre el módulo:

  • Versión del módulo de PowerShell
  • Versión del SDK de Application Insights
  • Rutas de acceso de los archivos del módulo de PowerShell

Revise la referencia Get-ApplicationInsightsMonitoringStatus para obtener una descripción detallada de cómo usar este cmdlet.

Solución de problemas de procesos en ejecución

Puede inspeccionar los procesos del equipo instrumentado para determinar si se cargan todos los archivos DLL y se establecen variables de entorno. Si funciona la supervisión, deben cargarse al menos 12 DLL.

  • Ejecute el Get-ApplicationInsightsMonitoringStatus -InspectProcess cmdlet para comprobar los archivos DLL.
  • Ejecute el (Get-Process -id <process-identifier>).StartInfo.EnvironmentVariables cmdlet para comprobar las variables de entorno. Las siguientes variables de entorno se establecen en el proceso de trabajo o en el proceso de .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>

Revise la referencia Get-ApplicationInsightsMonitoringStatus para obtener una descripción detallada de cómo usar este cmdlet.

Recopilación de los registros ETW con PerfView

Configurar

  1. Descargue PerfView.exe desde GitHub.

  2. Ejecute PerfView.exe.

  3. En la barra de menús, seleccione Recopilar>recopilación.

  4. Expanda Opciones avanzadas.

  5. Desactive las siguientes casillas:

    • Zip
    • Combinar
    • .NET Symbol Collection (Colección de símbolos de .NET)
  6. Establezca los siguientes proveedores adicionales:

    *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

Recopilación de registros

  1. En un símbolo del sistema administrativo, ejecute el iisreset /stop comando para desactivar IIS y todas las aplicaciones web.

  2. En PerfView, seleccione Iniciar colección.

  3. En un símbolo del sistema administrativo, ejecute el iisreset /start comando para iniciar IIS.

  4. Intente ir a la aplicación.

  5. Una vez cargada la aplicación, vuelva a PerfView y seleccione Detener recopilación.

Pasos siguientes

  • Revise la referencia de API para obtener información sobre los parámetros que podría haber perdido.

Ponte en contacto con nosotros para obtener ayuda

Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.