Guia Completo de Comandos de Troubleshooting de Servidor
Guia detalhado dos comandos essenciais para o troubleshooting de servidor, com foco em journaling e análise de logs.
InSkillCoach
Guia Completo de Comandos de Troubleshooting de Servidor
Guia detalhado dos comandos essenciais para o troubleshooting de servidor, com foco na journalização.
Comandos Básicos para Journalização
1. Acompanhamento de Logs em Tempo Real
# Acompanhamento dos logs do sistema
tail -f /var/log/syslog
# Acompanhamento dos logs de autenticação
tail -f /var/log/auth.log
# Acompanhamento dos logs do Apache
tail -f /var/log/apache2/access.log
tail -f /var/log/apache2/error.log
# Acompanhamento dos logs do Nginx
tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log
# Acompanhamento dos logs do MySQL
tail -f /var/log/mysql/error.log
2. Filtragem de Logs
# Filtragem por erro
grep "ERROR" /var/log/syslog
# Filtragem por data
grep "$(date +%Y-%m-%d)" /var/log/syslog
# Filtragem com contexto
grep -A 5 -B 5 "ERROR" /var/log/syslog
# Filtragem com exclusão
grep -v "INFO" /var/log/syslog
# Filtragem com contagem
grep -c "ERROR" /var/log/syslog
3. Análise de Logs
# Exibição das últimas linhas
tail -n 100 /var/log/syslog
# Exibição das primeiras linhas
head -n 100 /var/log/syslog
# Exibição com numeração
cat -n /var/log/syslog
# Exibição com coloração
grep --color=auto "ERROR" /var/log/syslog
# Exibição com timestamp
awk '{print $1, $2, $3}' /var/log/syslog
Comandos Avançados de Journalização
1. Análise de Logs com Awk
# Contagem de erros por hora
awk '{print $3}' /var/log/syslog | grep "ERROR" | sort | uniq -c
# Extração dos IPs dos logs do Apache
awk '{print $1}' /var/log/apache2/access.log | sort | uniq -c
# Análise dos códigos de status HTTP
awk '{print $9}' /var/log/apache2/access.log | sort | uniq -c
# Tempo de resposta médio
awk '{sum+=$10} END {print sum/NR}' /var/log/apache2/access.log
2. Análise de Logs com Sed
# Remoção de linhas vazias
sed '/^$/d' /var/log/syslog
# Substituição de texto
sed 's/ERROR/ERREUR/g' /var/log/syslog
# Extração de linhas específicas
sed -n '100,200p' /var/log/syslog
# Remoção de linhas contendo uma palavra
sed '/ERROR/d' /var/log/syslog
3. Análise de Logs com Perl
# Extração de erros com contexto
perl -ne 'print if /ERROR/ .. /^$/;' /var/log/syslog
# Análise de logs com regex
perl -ne 'print if /(ERROR|WARNING)/' /var/log/syslog
# Formatação de logs
perl -pe 's/(\d{4}-\d{2}-\d{2})/$1/g' /var/log/syslog
Comandos de Monitoramento do Sistema
1. Monitoramento de Recursos
# Monitoramento de CPU
top
htop
mpstat 1
# Monitoramento de memória
free -m
vmstat 1
# Monitoramento de disco
df -h
iostat 1
# Monitoramento de rede
netstat -tulpn
iftop
2. Monitoramento de Processos
# Lista de processos
ps aux
# Árvore de processos
pstree
# Detalhes dos processos
lsof -i
lsof -p <PID>
# Prioridade dos processos
nice -n -20 <commande>
3. Monitoramento de Serviços
# Estado dos serviços
systemctl status <service>
# Logs dos serviços
journalctl -u <service>
# Acompanhamento dos logs em tempo real
journalctl -u <service> -f
# Filtragem dos logs por prioridade
journalctl -p err
Comandos de Diagnóstico
1. Diagnóstico de Rede
# Teste de conectividade
ping <host>
traceroute <host>
# Teste de portas
nc -zv <host> <port>
telnet <host> <port>
# Análise de rede
tcpdump -i eth0
wireshark
2. Diagnóstico do Sistema
# Informações do sistema
uname -a
lsb_release -a
# Informações de hardware
lshw
dmidecode
# Informações de rede
ifconfig
ip addr
3. Diagnóstico de Desempenho
# Profiling do sistema
strace <commande>
ltrace <commande>
# Análise de desempenho
perf top
perf record
# Análise de memória
valgrind <programme>
Boas Práticas
-
Organização dos Logs
- Rotação regular dos logs
- Compressão dos logs antigos
- Arquivamento dos logs importantes
-
Análise dos Logs
- Implementação de filtros
- Criação de relatórios
- Monitoramento proativo
-
Manutenção
- Limpeza regular
- Verificação de permissões
- Atualização das configurações
Scripts Úteis
1. Script de Monitoramento
#!/bin/bash
# Monitoramento dos logs em tempo real
tail -f /var/log/syslog | while read line; do
if echo "$line" | grep -q "ERROR"; then
echo "[$(date)] $line" >> /var/log/errors.log
fi
done
2. Script de Análise
#!/bin/bash
# Análise dos logs do Apache
awk '{print $1}' /var/log/apache2/access.log | sort | uniq -c | sort -nr | head -n 10
3. Script de Manutenção
#!/bin/bash
# Rotação dos logs
find /var/log -type f -name "*.log" -mtime +7 -exec gzip {} \;
Conclusão
O troubleshooting de servidor exige um bom domínio dos comandos de journalização e análise. Este guia cobre os comandos essenciais e as técnicas avançadas para uma gestão eficiente de logs.
Recursos Complementares
Sobre InSkillCoach
Especialista em treinamento e tecnologias
Coach especializado em tecnologias avançadas e IA, apoiado pela GNeurone Inc.
Certificações:
- AWS Certified Solutions Architect – Professional
- Certificações Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
Comentários
Os comentários são alimentados pelo GitHub Discussions
Conecte-se com o GitHub para participar da discussão