Sitecore
[RESUELTO] Sitecore – Heartbeat.aspx lanza Error 500
Hace unas semanas trabajaba en una instalación con Sitecore 8.2 update 2 en una Máquina Virtual en Azure.
Como se puede ver en el diagrama a continuación, tengo 2 Content Delivery detrás de un Load Balancer para dividir el tráfico.

Después de configurar el Azure Load Balancer, noté que el tráfico nunca pasaba y las Virtual Machines no respondían en HTTP, así que decidí probarlo localmente.
Conéctese localmente, y asegúrese de que Sitecore esté activo
Me conecté en CD1 y CD2, y como era de esperar, ¡Sitecore cargó sin problemas!
¡Raro! Podría haber algo que me haya perdido a nivel de Azure Load Balancer.
Conéctese al Azure Portal y verifique la configuración del Load Balancer
Verifiqué la configuración por configuración hasta llegar a la Health Probe, que se utiliza para verificar si el sitio web está disponible o no

Entonces, mi HealthProbe está buscando /sitecore/service/heartbeat.aspx, y por alguna razón no puede usarlo, lo que está causando las fallas para acceder al sitio desde el exterior pasando por el Azure Load Balancer.
Conéctese localmente, y asegúrese de que Heartbeat.aspx funcione
Me conecté una vez más en ambos CD1 para acceder a la dirección Heartbeat http://localhost/sitecore/service/heartbeat.aspx y falló con el siguiente mensaje de error

El mismo error ocurría en CD2, así que vamos a profundizar!
Verifique los registros de Sitecore para obtener información detallada
En los registros de Sitecore, encontré la siguiente entrada

Al menos me dice algo, y parece que Heartbeat no le gustó la forma en que una de mis bases de datos en ConnectionStrings.config está configurada, pero ¿cuál?
Hice una búsqueda en Google y encontré una publicación de mi colega y Sitecore MVP Glen McInnis llamada Azure Traffic Manager and Sitecore Heartbeat donde muestra un ejemplo para excluir LocalSQLServer y Webforms Remote usando Sitecore.Services.Heartbeat.ExcludeConnection dentro de Sitecore.config
Sin embargo, en este punto no estaba claro qué base de datos era el problema –si es que había alguna– y tuve que hacerlo por prueba y error. Y como se esperaba, la última prueba dio con la solución.
Reporting.apikey fue la causa raíz, y de acuerdo con Sitecore Database Connection Strings for Configuring Servers es opcional para los servidores Content Delivery y Content Management!
Bien, si ese es el caso, entonces tengo dos opciones:
1.Comentar directamente en ConnectionStrings.config
<!– –>
O
- Agregar una exclusión adecuada usando Sitecore.Services.Heartbeat.ExcludeConnection dentro de Sitecore.config
Lecturas recomendadas
- Sitecore Heartbeat
- Azure Traffic Manager and Sitecore Heartbeat
- Creating an Internet-facing load balancer using the Azure portal
Espero que les haya gustado, y gracias por leer!
Y nos vemos en mi próxima publicación!