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.

Sitecore Azure Environment Load Balancer Blog Vinicius Deschamps

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

Azure Load Balancer Health Probe Blog Vinicius Deschamps

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

Sitecore HTTP Error 500 Internal Server Error Heartbeat.aspx Blog Vinicius Deschamps

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

Sitecore_heartbeat_logs

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

  1. Agregar una exclusión adecuada usando Sitecore.Services.Heartbeat.ExcludeConnection dentro de Sitecore.config

Lecturas recomendadas

  1. Sitecore Heartbeat
  2. Azure Traffic Manager and Sitecore Heartbeat
  3. 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!

Sitecore
[RESUELTO] Sitecore – Heartbeat.aspx lanza Error 500 — Vinicius Deschamps