Prática recomendada para alertas se a página da Web retornar uma página em branco?

Prática recomendada para alertas se a página da Web retornar uma página em branco?

Estamos tentando configurar o monitoramento (zabbix), para webapps que retornam a página em branco da morte. Os aplicativos são baseados em PHP.

Pelo que sei, a tela branca da morte pode ser causada por vários problemas, problemas de memória, erros de sintaxe, etc.

Então, eu quero perguntar: é melhor confiar no servidor da web retornando o código 50x ou pode haver (de alguma forma) a possibilidade de obter o código de retorno 200, mas a página de renderização está vazia (branca)?

Responder1

Confiar em códigos de status HTTP é uma prática recomendada e comumente usada. Se o PHP encontrar erros críticos, ele deverá ser encerrado com um código de erro HTTP apropriado.

Um erro crítico com um código de status HTTP 200 é uma afirmação falsa e deve ser evitado. Mesmo páginas 404 bem projetadas devem usar o código de erro HTTP 404 e nada mais.

Usando códigos de erro HTTP, você é capaz de:

  • use ferramentas de monitoramento on-line e locais existentes para monitorar seus sites e aplicativos

  • permitir que os navegadores reajam de acordo com o erro fornecido

  • diga ao Google e a outros mecanismos de pesquisa que você tem um erro em vez de um novo conteúdo em seu site

  • configure o Nginx para mostrar o HTML adequado e mantenha o código de erro se o seu PHP for encerrado com um erro fatal

    ...

Responder2

Se quiser monitorar corretamente um site, você deve identificar uma string ou strings que aparecem em seu conteúdo da web e fazer com que seu monitor verifique se essas strings existem na resposta HTTP.

Se você estiver executando um aplicativo Web que coleta e processa dados de formulário, deverá criar um monitor interativo que processe formulários e confirme se o formulário está retornando o resultado correto. Você pode fazer isso de várias maneiras. No passado, integrei o Jmeter ao Nagios para fazer isso, mas você também pode usar serviços online como o Pingdom.

Depender de códigos de status HTTP não é, na minha opinião, uma boa prática. Um erro de banco de dados em PHP ainda pode retornar um status HTTP 200. Da mesma forma, um site que foi desfigurado pode retornar um código de status 200.

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

https://www.pingdom.com/

informação relacionada