Sitecore

[Resuelto] Application Insights no funciona en Sitecore 9.1 PaaS

Hace un par de semanas hice una pregunta en Sitecore Stackexchange explicando que el Sitecore 9.1 PaaS que nuestro equipo provisionó en Azure no estaba proporcionando datos a Application Insights.

Fui a través del post existente Accessing log files in application insitghts for Sitecore 9 in Azure app service que me permitió realizar una especie de solución de problemas, y en resumen aquí están los pasos que reproduzco

1.Verificar appinsights.instrumentationkey en ConnectionStrings.config

La idea es verificar si no se está yendo a una Application Insights diferente o si ocurrió un error tipográfico en algún lugar. Por favor, verifique la Instrumentation Key desde Azure Portal y en el ConnectionStrings.config

Check Application Insights Instrumentation Key Azure Sitecore Blog Vinicius Deschamps

2.Verificar Daily Cap

Check Azure Application Insights Daily Volume Cap Blog Vinicius Deschamps

3.Verificar showconfig.aspx

Sitecore Admin showconfig.aspx Blog Vinicius Deschamps

4.Habilitar Live Metrics Stream

Azure Application Insights Live Metrics Blog Vinicius Deschamps

5.Habilitar Application map

En todos los roles, en el wwwroot/ApplicationInsights.config, descomente la línea que contiene el DependencyTrackingTelemetryModule. Una precaución: casi duplica el uso de datos de ApplicationInsights.

Azure Application Insights Application Map Blog Vinicius Deschamps

6.Consultando Application Insights

– Vaya al recurso de Application Insights y haga clic en el botón Analytics en la pestaña Overview.
– Se abrirá el generador de consultas. Pegue la siguiente consulta:
**
traces**
| project timestamp, message, severityLevel, customDimensions.Role, customDimensions.InstanceName
| order by timestamp desc

Seleccione el rango de tiempo y haga clic en Ejecutar

Azure Application Insights Logs Blog Vinicius Deschamps

Otra cosa es que la Search muestra resultados de Sitecore

Azure Application Insights Search Blog Vinicius Deschamps

Michael Baranov sugirió lo siguiente

Es un fallo en 9.1.

Para solucionarlo necesitas:

Agregar el módulo de telemetría a ApplicationInsights.config

<Add Type="Microsoft.ApplicationInsights.Web.AspNetDiagnosticTelemetryModule, Microsoft.AI.Web"/>

Agregar módulo a web.config bajo system.webserver

<add name="TelemetryCorrelationHttpModule" type="Microsoft.AspNet.TelemetryCorrelation.TelemetryCorrelationHttpModule, Microsoft.AspNet.TelemetryCorrelation" 
        preCondition="integratedMode,managedHandler" />

Y hice lo que dijo, pero apareció una pantalla amarilla de error “Could not load file or assembly ‘Microsoft.AspNet.TelemetryCorrelation’ o una de sus dependencias. No se puede encontrar el archivo especificado” y nunca obtuve respuesta de él.

Frank Rosario, un colega mío aquí en Valtech, abrió un ticket con Sitecore y ellos nos envían un hotfix.

Para su referencia, si se enfrenta al mismo problema Ticket #527731

IMPORTANTE: El siguiente enfoque NO funciona sin el hotfix proporcionado por Sitecore, no intente cambiar simplemente los archivos especificados en el paso “después de haber instalado el hotfix”

Según la respuesta de Sitecore

Tenga en cuenta que el hotfix fue creado específicamente para Sitecore XP 9.1 Initial Release, y no debe instalarse en otras versiones de Sitecore ni en combinación con otros hotfixes, a menos que Sitecore Support lo indique expresamente.

Tenga en cuenta que debe extraer el contenido del archivo ZIP para localizar las instrucciones de instalación y archivos relacionados dentro de él.

Salvo indicación contraria en las instrucciones de instalación, el hotfix debe instalarse en la instancia CM y luego sincronizarse con otras instancias utilizando sus prácticas habituales de desarrollo

El hotfix debe instalarse como un paquete, y reemplazará las siguientes bibliotecas DLL:

/bin/Microsoft.AI.Web.dll

• /bin/Microsoft.ApplicationInsights.dll

• /bin/Microsoft.ApplicationInsights.TraceListener.dll

• /bin/Microsoft.AspNet.TelemetryCorrelation.dll

• /bin/System.Diagnostics.DiagnosticSource.dll

Después de que se haya instalado el hotfix, deben realizarse estos pasos

1.Edit ApplicationInsights.config. Bajo ApplicationInsights\TelemetryModules pegue la siguiente línea al final de la sección

<Add Type="Microsoft.ApplicationInsights.Web.AspNetDiagnosticTelemetryModule, Microsoft.AI.Web" />

Sitecore ApplicationInsights.config Blog Vinicius Deschamps

2.Edit web.config. Bajo la sección configuration/system.webServer/modules después de <remove name="ApplicationInsightsWebTracking"/>, inserte la siguiente cadena:

<add name="TelemetryCorrelationHttpModule" type="Microsoft.AspNet.TelemetryCorrelation.TelemetryCorrelationHttpModule, Microsoft.AspNet.TelemetryCorrelation" preCondition="integratedMode,managedHandler"/>

Sitecore Web Config Blog Vinicius Deschamps

Una vez que modifique los archivos, reinicie el App Services y vuelva a intentar acceder para generar datos para Application Insights

Azure Application Insights working after Sitcore restart Blog Vinicius Deschamps

Referencias y agradecimientos

Mark Gibbons para escribir una excelente respuesta sobre cómo funciona Application Insights y formas de solucionarlo

Frank Rosario por abrir el ticket con Sitecore

Sitecore por el increíble soporte

Espero que les haya gustado, y nos vemos en mi próxima publicación!

Sitecore
[Resuelto] Application Insights no funciona en Sitecore 9.1 PaaS — Vinicius Deschamps