Monitoramento de aplicações
O que acontece quando o servidor cai?
Há algum tempo, um de nossos servidores caiu. Não me lembro do motivo, mas acreditamos que tenha sido a memória ou o disco rígido. Isso não é importante para esta explicação. O resultado foi que o cliente enviou uma mensagem terrível dizendo “Não consigo acessar o aplicativo” às 21h. Eu estava em casa. Fui para o meu escritório, abri o notebook e me conectei para resolver o problema.
Após o incidente, comecei a procurar soluções para ser notificado quando o servidor cair, a fim de evitar receber a terrível mensagem novamente. Encontrei o projeto PHP Server Monitor.
Instalei o projeto em nosso servidor e comecei o monitoramento. Os resultados são muito bons e vou descrevê-los.
Primeiro, você precisa instalar o aplicativo. Abra a página do projeto em https://www.phpservermonitor.org/ e siga as instruções.
Após a instalação, faça login no sistema e crie um monitor. No nosso caso, normalmente é um monitor de site. Mas nós o usamos para monitorar outros serviços, como bancos de dados. O aplicativo possui muitas opções para notificação. Eu uso opções de e-mail e Discord.
Além do monitoramento e das notificações, o aplicativo possui um histórico de tempo de inatividade e nível de serviço. Isso é importante para fornecer dados para decisões sobre escolhas de infraestrutura.
Outra informação importante para mim é a latência média. Este é um bom indicador sobre a velocidade e os recursos do servidor.
A maioria dos incidentes são tratados antes de gerar um problema sério, pois geralmente já sabemos antes de o cliente enviar uma mensagem.
Também pode acontecer que o servidor onde o monitor está instalado também falhe. Nesse caso, criamos o monitoramento em um terceiro site https://uptimerobot.com/ apenas para garantir que nosso monitoramento esteja funcionando.
Outra boa característica do aplicativo é a pesquisa de strings (ou padrões). Ao criar o monitor, é possível informar uma palavra para a busca do monitor. Estou usando para monitorar integrações e outros recursos em um ambiente complexo para garantir que todos os recursos estejam online. Vou descrever essa solução em um texto futuro.