¿Mejor práctica para alertas si la página web devuelve una página en blanco?

¿Mejor práctica para alertas si la página web devuelve una página en blanco?

Estamos intentando configurar el monitoreo (zabbix) para aplicaciones web que devuelven la página blanca de la muerte. Las aplicaciones están basadas en PHP.

Por lo que sé, la pantalla blanca de la muerte puede deberse a varios problemas, problemas de memoria, errores de sintaxis, etc.

Entonces quiero preguntar, ¿es mejor confiar en que el servidor web devuelva el código 50x, o puede haber (de alguna manera) la posibilidad de obtener el código de retorno 200, pero la página de representación está vacía (blanca)?

Respuesta1

Confiar en códigos de estado HTTP es la práctica mejor y más utilizada. Si PHP tiene errores críticos, debería cerrarse con un código de error HTTP apropiado.

Un error crítico con un código de estado HTTP 200 es una afirmación falsa y debe evitarse. Incluso las páginas 404 bien diseñadas deberían usar el código de error HTTP 404 y nada más.

Usando códigos de error HTTP usted puede:

  • Utilice herramientas de monitoreo locales y en línea existentes para monitorear sus sitios web y aplicaciones.

  • permitir que los navegadores reaccionen de acuerdo con el error dado

  • decirle a Google y otros motores de búsqueda que tiene un error en lugar de contenido nuevo dentro de su sitio web

  • configure Nginx para mostrar HTML adecuado y mantenga el código de error si su PHP se cierra con un error fatal

    ...

Respuesta2

Si desea monitorear correctamente un sitio web, debe identificar una cadena o cadenas que aparecen en su contenido web y hacer que su monitor verifique que esas cadenas existan en la respuesta HTTP.

Si está ejecutando una aplicación web que recopila y procesa datos de formularios, debe crear un monitor interactivo que procese formularios y confirme que el formulario devuelve el resultado correcto. Puedes hacer esto de varias maneras. En el pasado integré Jmeter con Nagios para hacer esto, pero también puedes usar servicios en línea como Pingdom.

En mi opinión, confiar en códigos de estado HTTP no es una buena práctica. Un error de base de datos en PHP aún podría devolver un estado HTTP 200. De manera similar, un sitio que ha sido desfigurado podría devolver un código de estado 200.

https://exchange.nagios.org/directory/Plugins/Java-Applications-and-Servers/jmeter-invocation-plugin-II/details

https://www.pingdom.com/

información relacionada