Troubleshooting Real
Sintoma, hipótese, evidência, o método científico aplicado ao Linux.
O método: sintoma → hipótese → evidência
Bom troubleshooting não começa com comando. Começa com definição de sintoma: o quê falhou, desde quando, para quem e com qual impacto. A partir disso, você constrói hipóteses e procura evidência para confirmar ou descartar cada uma.
- Defina o sintoma com precisão.
- Restrinja escopo: um host, um serviço, todos os usuários?
- Colete evidência antes de alterar tudo.
- Faça uma mudança por vez e valide.
Primeiros comandos que quase sempre ajudam
uptime
free -h
df -h
ip a
ss -tulpn
ps aux --sort=-%mem | head
systemctl --failed
journalctl -xe --no-pager
Esses comandos respondem rápido se o problema é carga, memória, disco, rede, processos ou serviço falho. Não resolvem sozinhos, mas orientam a próxima pergunta técnica.
Cenários reais
systemctl status nginx
journalctl -u nginx -n 50 --no-pager
ss -tulpn | grep ':80'
curl -I http://127.0.0.1
Objetivo: diferenciar se o problema é serviço parado, porta ocupada, config inválida ou aplicação upstream quebrada.
systemctl status ssh
ss -tulpn | grep ':22'
ip a
ping gateway
journalctl -u ssh -n 50 --no-pager
Objetivo: separar problema de serviço, firewall, rede ou credencial.
df -h
df -i
du -sh /var/*
journalctl --disk-usage
Objetivo: localizar rapidamente partição, tipo de exaustão e maior consumidor.
Erros comuns de quem está começando
Reiniciar tudo cedo demais: às vezes isso apaga evidência. Logs e estado do processo podem se perder.
Mudar várias coisas ao mesmo tempo: quando melhora, você não sabe o que realmente resolveu. Quando piora, não sabe o que desfez.
Parar no sintoma superficial: "o site caiu" não é causa, é efeito. A causa pode ser disco, DNS, porta, serviço ou permissão.
Rollback e validação final
Resolver não basta. Você precisa provar que resolveu. Valide pelo mesmo sintoma que abriu o incidente: requisição voltou? login funciona? uso de disco caiu? Além disso, tenha sempre uma forma de voltar atrás se a mudança piorar o estado.
- Confirme que o sintoma sumiu para o usuário.
- Registre causa raiz e correção.
- Anote como detectar isso mais cedo da próxima vez.
- Se possível, automatize verificação ou monitoração.