O Diário de Bordo do Servidor: Dominando a Análise de Logs
Todo sistema Linux é como um navio em alto mar, e você é o Capitão. Como saber se os motores estão funcionando bem, se a tripulação está seguindo as ordens ou se uma tempestade se aproxima? Você consulta o Diário de Bordo: os arquivos de log.
Os logs são o registro cronológico de tudo que acontece no seu servidor. Aprender a lê-los e interpretá-los é a sua ferramenta mais poderosa para diagnosticar problemas, monitorar a segurança e entender a saúde da sua instância EC2.
A Estante do Capitão: Onde Encontrar os Logs
Quase todos os "diários de bordo" do seu sistema são guardados em um único lugar, o diretório /var/log
.
Por que /var
? Porque é o diretório para arquivos de conteúdo variável, e os logs crescem e mudam constantemente.
Os Diários Mais Importantes
Arquivo de Log | O que ele Conta? (A História) |
---|---|
/var/log/syslog (Debian/Ubuntu) ou /var/log/messages (Red Hat/Amazon Linux) | O Diário Principal. Um registro geral de quase tudo que acontece no sistema. |
/var/log/auth.log (Debian/Ubuntu) ou /var/log/secure (Red Hat/Amazon Linux) | O Livro de Portaria. Registra todas as tentativas de login (bem-sucedidas e falhas) e o uso do sudo . |
/var/log/boot.log | A Narrativa da Partida. Registra as mensagens do processo de inicialização do sistema. |
/var/log/kern.log | O Diário da Sala de Máquinas. Contém mensagens diretas do "Chef" (Kernel). |
/var/log/httpd/ ou /var/log/apache2/ ou /var/log/nginx/ | O Diário da Cozinha (Servidor Web). Cada servidor web tem sua própria pasta com logs de acesso e de erros. |
HACK PARA CERTIFICAÇÃO: A prova adora perguntar onde encontrar logs de autenticação. Lembre-se da diferença:
auth.log
é para a família Debian/Ubuntu.secure
é para a família Red Hat/Amazon Linux.
A Linguagem do Diário: Entendendo os Níveis de Log
As mensagens de log não são todas iguais; elas têm um nível de severidade.
Analogia: Pense nos níveis de alerta do Capitão.
Nível | Nome | O que Significa? (Linguagem do Capitão) |
---|---|---|
7 | DEBUG | "Anotando a temperatura exata de cada parafuso do motor." (Informação ultra-detalhada para desenvolvedores). |
6 | INFO | "Céu azul, mar calmo, velocidade de 15 nós." (Eventos normais e informativos). |
5 | NOTICE | "Navio avistado no horizonte." (Evento normal, mas que vale a pena notar). |
4 | WARN | "Nuvens de tempestade se formando a bombordo." (Um aviso; algo pode dar errado se nada for feito). |
3 | ERROR | "Problema detectado no motor 3!" (Um erro não-crítico que precisa de atenção). |
2 | CRITICAL | "Vazamento no casco!" (Um erro crítico; o sistema pode parar de funcionar). |
1 | ALERT | "Fogo na sala de máquinas!" (Uma ação imediata é necessária). |
0 | EMERGENCY | "ABANDONAR O NAVIO!" (O sistema está inutilizável). |
INSIGHT PODEROSO: Quando você configura um nível de log (ex:
WARN
), o sistema registrará mensagens daquele nível e de todos os níveis mais graves. Ou seja, ao definirWARN
(nível 4), você também verá logs deERROR
,CRITICAL
,ALERT
eEMERGENCY
.
As Ferramentas de Leitura do Capitão
Ler um arquivo de log de 2GB com cat
é impossível. Um profissional usa as ferramentas certas.
less
: A sua lupa de leitura. Abre o arquivo e permite navegar para cima e para baixo.tail -f
: O Monitor em Tempo Real- Analogia: "Observar o marinheiro escrevendo no diário em tempo real."
- A Dor que Resolve: "Acabei de reiniciar meu servidor web. Quero ver as mensagens de erro aparecerem ao vivo enquanto testo o site."
- Exemplo:
tail -f /var/log/nginx/error.log
grep
: A Lente de Aumento Mágica- Analogia: Permite encontrar instantaneamente todas as menções à palavra "iceberg" em 20 anos de diários.
- A Dor que Resolve: "Um usuário específico (jdoe) teve uma falha de login. Preciso encontrar todas as atividades dele no log de segurança."
Exemplo Prático na AWS:
sudo cat /var/log/secure | grep "jdoe"
Arquivando os Diários Antigos: Rotação de Logs
A Dor: Arquivos de log podem crescer para sempre, até encher seu disco (volume EBS) e travar seu servidor.
A Solução: A Rotação de Logs (logrotate
), um processo automatizado que age como o "arquivista" do navio. * O que faz? Periodicamente (diária, semanal ou mensalmente), o logrotate
: 1. Pega o diário atual (ex: access.log
). 2. Renomeia para access.log.1
. 3. Cria um novo access.log
vazio. 4. Opcionalmente, comprime os diários antigos (access.log.1.gz
). 5. Apaga os diários mais antigos (ex: mantém apenas os últimos 7).
INSIGHT PODEROSO: A rotação de logs é essencial para a saúde de qualquer servidor de produção. É uma das primeiras coisas que um administrador experiente configura.
A Visão da Sede: Amazon CloudWatch Logs
As ferramentas Linux são ótimas para investigar um único "navio". Mas e se você tem uma frota de 50 "navios" (instâncias EC2)?
A Dor que Resolve: A necessidade de centralizar e analisar os logs de toda a sua infraestrutura em um único lugar.
- Analogia: O CloudWatch Logs é o "Sistema de Telemetria da Sede da Companhia de Navegação".
- Como Funciona: Você instala um pequeno "agente" na sua instância EC2, e ele envia todos os seus "diários de bordo" (
/var/log/secure
, etc.) em tempo real para o serviço CloudWatch Logs. - Superpoderes:
- Busca Centralizada: Procure pela palavra "ERROR" em todos os seus 50 servidores de uma vez.
- Alarmes: Crie uma regra: "Se a palavra 'FATAL' aparecer mais de 10 vezes em 5 minutos em qualquer um dos meus servidores, me envie um SMS!".
- Retenção de Longo Prazo: Guarde seus logs por anos de forma segura e barata.