Por que seu site precisa de monitoramento de uptime
Você monitora um site para saber que ele está com problema antes dos seus clientes, e não depois. Sem um monitor, o primeiro relato de uma indisponibilidade geralmente vem de um visitante nas redes sociais, por e-mail ou por telefone, e nesse ponto a indisponibilidade já dura o tempo que alguém levou para se dar ao trabalho de te avisar.
O que tira um site do ar
Um site pode parar de responder por motivos que não têm nada a ver uns com os outros. A lista de costume:
- Código com problema, incluindo uma implantação que passou na revisão e falhou em produção
- Falhas na hospedagem, de uma única máquina a um data center inteiro
- Limites de hospedagem atingidos: banda, conexões, cota de CPU, disco
- Tentativas de invasão contra a aplicação ou o servidor
- Ataques DDoS, que sobrecarregam o servidor até que ele pare de responder a qualquer requisição, boa ou ruim
- Um registro de domínio vencido
- Um certificado TLS vencido, que faz todo navegador recusar a conexão
A maioria desses fatores está sob o seu controle. Você pode revisar o código, dimensionar a hospedagem para o tráfego e renovar um domínio e um certificado no prazo. Tentativas de invasão e tráfego de DDoS não estão: você só consegue limitá-los e absorvê-los. O que esses sete têm em comum é que o servidor raramente te avisa. Uma máquina que não consegue alcançar a internet não consegue te enviar uma mensagem dizendo isso, e um certificado que venceu à meia-noite não abre um chamado.
O que uma indisponibilidade custa enquanto você não sabe dela
Um visitante que vê "Servidor não encontrado" atualiza a página uma vez, confere se digitou o endereço certo e depois procura um site que funcione. A janela em que você ainda consegue manter essa pessoa é curta, e ela se fecha sem que ninguém te avise.
A conta é fácil de fazer para o seu próprio site. Considere um valor médio de pedido de R$ 25 e 50 visitantes por hora que convertem: essa hora vale cerca de R$ 1.250, e uma hora de indisponibilidade custa esses mesmos R$ 1.250. Nada nos seus dados de analytics registra essa hora como uma perda: os pedidos que não aconteceram deixam apenas uma queda que você vai atribuir a outra coisa na semana seguinte. Páginas lentas causam uma versão mais discreta do mesmo dano. O site responde, a verificação passa, e os visitantes vão embora assim mesmo.
Como o monitoramento muda a sequência
O monitoramento substitui "um cliente nos avisou" por "a verificação falhou às 03h14 a partir de quatro localidades".
- Ele adianta o relógio. O tempo de reparo é medido a partir do momento em que você sabe, então qualquer coisa que encurte a lacuna de descoberta encurta a indisponibilidade.
- Ele te entrega evidências. Qual verificação falhou, a partir de quais localidades, com qual código de status ou timeout, e quando foi o último resultado bom. Isso já é a maior parte de um diagnóstico antes mesmo de você abrir um terminal.
- Ele te diz a diferença entre estar fora do ar para todo mundo e estar fora do ar a partir de uma rede, porque as verificações rodam a partir de vários lugares ao mesmo tempo, e não de um único servidor.
A verificação externa é a parte que um log do lado do servidor não consegue substituir. Se o problema é o caminho de rede, o registro DNS ou o certificado, o servidor não vê nada de errado. Rodar a mesma requisição a partir de vários países, que é a ideia por trás do monitoramento de disponibilidade distribuído, é o que torna uma falha regional visível como uma falha regional, e não como um mistério.
O que monitorar além de no ar ou fora do ar
Uma verificação de disponibilidade responde a uma pergunta. As coisas que quebram um site costumam aparecer em outros lugares primeiro:
- Uptime e indisponibilidade do servidor, a verificação básica
- Tempo de resposta, que se degrada antes de falhar
- Pressão de CPU, RAM e disco no servidor
- Carga do banco de dados e latência das consultas
- Vencimento do domínio
- Vencimento do certificado
- Conteúdo da página, para que um site que devolve 200 com uma página de erro ainda seja pego
O vencimento de domínio e de certificado merecem uma nota à parte, porque são as duas indisponibilidades com uma data conhecida de antemão. As duas são totalmente evitáveis com um alerta configurado com semanas de antecedência.
Reduzindo a indisponibilidade depois que você consegue vê-la
- Coloque um monitor no site, de fora, em um intervalo curto o suficiente para que uma indisponibilidade seja medida em minutos, e não em horas. Rode primeiro uma verificação HTTP avulsa a partir de várias localidades para ver como o site responde hoje.
- Escolha uma hospedagem com folga de capacidade e um histórico que você conferiu, não um que te contaram. Um plano "ilimitado" não é ilimitado.
- Mantenha a aplicação, o software do servidor e os plugins com patches em dia. Um site comprometido perde mais do que disponibilidade: perde credibilidade com os clientes e com os buscadores.
- Configure alertas de vencimento para o domínio e para cada certificado, com antecedência suficiente para renovar.
Verificar uma vez versus saber quando algo quebra
Uma verificação que você roda manualmente responde pelo momento em que você a rodou. Um monitor responde continuamente e te avisa quando a resposta muda. A HostTracker monitora sites desde 2004 e hoje acompanha mais de 500.000 sites a partir de mais de 300 pontos de verificação em 158 cidades, em 13 tipos de monitor, com alertas por e-mail, SMS, chamada de voz, Slack, Telegram e outros canais. Veja o conjunto de recursos para o que essas verificações cobrem, o guia de verificação HTTP para a que a maioria dos sites começa usando, e o restante da seção de conceitos de monitoramento para os termos por trás delas.