O seu site está em baixo: o que fazer nos primeiros quinze minutos
Um site que deixou de responder resolve-se raramente no código. O reflexo é abrir o editor: resista dez minutos. A falha quase nunca está onde teria olhado primeiro, e esses dez minutos passados a circunscrever o problema poupam-lhe uma hora de tentativas. A ordem que funciona resume-se a cinco gestos: confirmar que a falha é real, situar a camada culpada, procurar o que mudou, dizer uma palavra a quem vai dar por isso, e só então reparar.
Os quinze minutos, num relance
| Minuto | O que faz | O que elimina |
|---|---|---|
| 0 a 1 | Abrir o site com dados móveis, Wi-Fi desligado | A sua ligação e a cache DNS |
| 1 a 3 | Ler a mensagem de erro exata | Três famílias de causas em quatro |
| 3 a 6 | Página de estado do alojamento, depois os registos | A falha que não é sua |
| 6 a 10 | Procurar a última alteração | Deploy, certificado, vencimento |
| 10 a 12 | Escrever três linhas aos seus utilizadores | As mensagens que estão a chegar |
| 12 a 15 | Reparar, ou telefonar a alguém | O remendo sob pressão |
Este faseamento nada tem de militar. Serve para uma única coisa: impedi-lo de passar os quinze minutos inteiros na primeira hipótese que lhe ocorreu, que é também aquela em que mais quer acreditar.
1. Confirmar a falha, a partir do exterior
O seu navegador mente. Guarda em cache, conserva entradas DNS antigas, e a rede do seu escritório talvez seja a única no mundo afetada.
Bastam três verificações, e demoram menos de um minuto:
- O site com dados móveis, Wi-Fi desligado. Se a página abre, o problema é a sua ligação, não o site. É o teste mais rentável da lista.
- Uma janela de navegação privada. Afasta uma sessão expirada, uma extensão, um service worker que ficou depois de um deploy.
- Alguém noutra cidade. Uma avaria regional do operador é, vista da sua secretária, exatamente igual a uma avaria de servidor.
Se as três falharem, a falha é real, e sabe-o antes de ter aberto um único ficheiro. Se uma delas funcionar, acabou de poupar uma hora à procura de uma avaria que não existia.
2. Identificar a camada culpada
A mensagem de erro exata vale mais do que qualquer intuição. Anote-a palavra por palavra, com a hora, antes de continuar: daqui a meia hora já não se lembra, e é a única informação que ninguém poderá reconstituir depois.
| O que vê | Camada em causa | O que provavelmente aconteceu |
|---|---|---|
| Sem resposta, tempo esgotado | Rede, DNS ou máquina | Servidor parado, firewall, zona DNS alterada |
| HTTP 500 ou 502 | Aplicação | Erro fatal, base parada, processo PHP morto |
| HTTP 503 | Capacidade ou manutenção | Saturação, modo manutenção esquecido |
| Aviso de certificado | TLS | Renovação falhada em silêncio |
| HTTP 404 na página inicial | Deploy | Raiz de documentos ou rota errada |
| Página em branco, sem código | PHP | Erro fatal sem saída, memória esgotada |
| Muito lento, depois 504 | Base de dados ou dependência | Consulta bloqueante, serviço externo mudo |
Os três códigos da família 500 distinguem-se mal a olho nu e não se reparam de todo da mesma maneira: o que quer dizer cada código merece dois minutos de leitura antes do primeiro comando.
3. Cinco comandos que respondem em trinta segundos
Para esta etapa uma consola vale mais do que um navegador: não guarda nada em cache e devolve-lhe o código em bruto.
curl -I https://exemplo.pt # o código devolvido, sem navegador
dig +short exemplo.pt # o domínio ainda aponta para o sítio certo
ping -c 3 exemplo.pt # a máquina é sequer alcançável
echo | openssl s_client -connect exemplo.pt:443 2>/dev/null | openssl x509 -noout -dates
tail -n 100 /var/log/nginx/error.log # ou storage/logs/laravel.log conforme a pilha
A primeira linha basta para separar «nada responde» de «alguma coisa responde mal», que são duas avarias sem relação. A segunda apanha o caso que ninguém suspeita a tempo: um registo DNS alterado na semana passada e propagado só agora. A última é a que se salta sempre, e é quase sempre a que contém a resposta.
4. Perguntar o que mudou
Quase toda a falha segue uma alteração, e a alteração nem sempre é sua.
- Um deploy esta manhã, por mais pequeno e «sem risco» que fosse.
- Uma atualização automática esta noite: sistema, extensão ou dependência.
- Um certificado expirado às duas da manhã.
- Um nome de domínio que chegou ao vencimento.
- Um débito recusado no alojamento, com o aviso perdido no spam.
- Uma API de terceiros que mudou de versão sem avisar ninguém.
No caso raro em que nada se mexeu do seu lado, a mudança aconteceu noutro sítio, e nenhuma mensagem lha trará: o seu alojamento não o avisa, e não é má vontade, é a forma como os alertas dele foram pensados.
5. Dizer uma palavra, antes que lha peçam
Se a falha passar dos dez minutos, três linhas no canal que os seus clientes realmente lêem valem mais do que uma explicação perfeita publicada três dias depois.
O site está indisponível desde as 14:20. Identificámos a causa e estamos a trabalhar nela. Próxima atualização às 15:00, no mesmo sítio.
Essa mensagem diz três coisas e nem uma a mais: desde quando, em que ponto está, quando voltará a falar. Não prometa uma hora de reposição enquanto a causa for desconhecida: uma promessa falhada custa mais do que o silêncio. Para um cliente com contrato, o incidente vai de qualquer forma parar ao relatório do mês; mais vale que lá chegue com as suas palavras do que com as dele.
6. Os cinco gestos que agravam a situação
- Reiniciar o servidor antes de ler o registo. O reinício apaga muitas vezes o rasto do que se partiu. A avaria volta duas horas depois e não sabe mais do que antes.
- Mexer no DNS. Uma alteração de zona demora horas a propagar-se, e assim acrescenta uma avaria à avaria.
- Publicar uma correção não testada. Sob pressão, a probabilidade de agravar ultrapassa largamente a de reparar.
- Esvaziar todas as caches ao mesmo tempo. Perde a informação que lhe teria dito qual delas estava em causa, e carrega a base no pior momento.
- Anunciar uma hora de reposição. Enquanto a causa for desconhecida, qualquer prazo anunciado é um prazo que será falhado.
7. Depois, a única pergunta que conta
Não porque é que se partiu: isso já sabe. A verdadeira pergunta é: quanto tempo levei a sabê-lo?
Se a resposta for «foi um cliente que me disse», a falha não foi o incidente. O incidente foi ter sido o último a saber. E a fatura não é simbólica: o que custa realmente uma hora de indisponibilidade pode ser calculado, mesmo para um site que não vende nada online.
Essa parte resolve-se em poucos minutos: uma verificação que corre sozinha, um email assim que o site deixa de responder, outro no regresso à normalidade. Ficam duas afinações que contam tanto como a ferramenta, com que frequência verificar e o que transforma uma verificação num alerta, sem as quais terá apenas substituído o silêncio por ruído. E se ainda hesita entre um script próprio e um serviço externo, a comparação honesta está em vigilância própria ou serviço externo.
Quando não é uma falha
Um caso merece o seu próprio reflexo, porque se parece com uma avaria sem o ser: um certificado expirado. O servidor responde perfeitamente, é o navegador que se recusa a mostrar a página. Nada nos seus registos aplicacionais o assinalará, reiniciar seja o que for não mudará nada, e a única pista é aquele aviso vermelho que os seus visitantes vêem antes de si.
Perguntas frequentes
Como sei se o site está em baixo para todos ou só para mim?
Abra-o com dados móveis e o Wi-Fi desligado, ou peça a alguém noutra cidade. Uma cache DNS local ou uma rede de empresa podem fazer um site perfeitamente saudável parecer morto, e esconder igualmente bem uma falha real.
Um erro 500 é melhor ou pior do que um site que não responde?
Um 500 costuma significar que o servidor está de pé e a aplicação rebentou: a culpa está no código, na base de dados ou num disco cheio. A ausência total de resposta aponta para uma camada mais baixa: rede, DNS, alojamento. A distinção estreita bastante a procura.
Devo avisar os clientes de uma falha curta?
Se durou uns minutos e ninguém escreveu, normalmente não. Se as pessoas repararam, diga-o com simplicidade: o que aconteceu, quando ficou resolvido, o que evita a repetição. Uma nota honesta custa muito menos do que a impressão de que não deu por nada.
Nunca mais perca um backlink
Adicione os seus sites e links e deixe o Expansel vigiá-los por si.
Começar grátis