Guide Complet des Commandes de Troubleshooting Serveur
Guide détaillé des commandes essentielles pour le troubleshooting de serveur, avec un focus sur la journalisation et l'analyse des logs.
InSkillCoach
Guide Complet des Commandes de Troubleshooting Serveur
Guide détaillé des commandes essentielles pour le troubleshooting de serveur, avec un focus sur la journalisation.
Commandes de Base pour la Journalisation
1. Suivi des Logs en Temps Réel
# Suivi des logs système
tail -f /var/log/syslog
# Suivi des logs d'authentification
tail -f /var/log/auth.log
# Suivi des logs Apache
tail -f /var/log/apache2/access.log
tail -f /var/log/apache2/error.log
# Suivi des logs Nginx
tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log
# Suivi des logs MySQL
tail -f /var/log/mysql/error.log
2. Filtrage des Logs
# Filtrage par erreur
grep "ERROR" /var/log/syslog
# Filtrage par date
grep "$(date +%Y-%m-%d)" /var/log/syslog
# Filtrage avec contexte
grep -A 5 -B 5 "ERROR" /var/log/syslog
# Filtrage avec exclusion
grep -v "INFO" /var/log/syslog
# Filtrage avec comptage
grep -c "ERROR" /var/log/syslog
3. Analyse des Logs
# Affichage des dernières lignes
tail -n 100 /var/log/syslog
# Affichage des premières lignes
head -n 100 /var/log/syslog
# Affichage avec numérotation
cat -n /var/log/syslog
# Affichage avec coloration
grep --color=auto "ERROR" /var/log/syslog
# Affichage avec horodatage
awk '{print $1, $2, $3}' /var/log/syslog
Commandes Avancées de Journalisation
1. Analyse des Logs avec Awk
# Comptage des erreurs par heure
awk '{print $3}' /var/log/syslog | grep "ERROR" | sort | uniq -c
# Extraction des IPs des logs Apache
awk '{print $1}' /var/log/apache2/access.log | sort | uniq -c
# Analyse des codes de statut HTTP
awk '{print $9}' /var/log/apache2/access.log | sort | uniq -c
# Temps de réponse moyen
awk '{sum+=$10} END {print sum/NR}' /var/log/apache2/access.log
2. Analyse des Logs avec Sed
# Suppression des lignes vides
sed '/^$/d' /var/log/syslog
# Remplacement de texte
sed 's/ERROR/ERREUR/g' /var/log/syslog
# Extraction de lignes spécifiques
sed -n '100,200p' /var/log/syslog
# Suppression des lignes contenant un mot
sed '/ERROR/d' /var/log/syslog
3. Analyse des Logs avec Perl
# Extraction des erreurs avec contexte
perl -ne 'print if /ERROR/ .. /^$/;' /var/log/syslog
# Analyse des logs avec regex
perl -ne 'print if /(ERROR|WARNING)/' /var/log/syslog
# Formatage des logs
perl -pe 's/(\d{4}-\d{2}-\d{2})/$1/g' /var/log/syslog
Commandes de Monitoring Système
1. Surveillance des Ressources
# Surveillance CPU
top
htop
mpstat 1
# Surveillance mémoire
free -m
vmstat 1
# Surveillance disque
df -h
iostat 1
# Surveillance réseau
netstat -tulpn
iftop
2. Surveillance des Processus
# Liste des processus
ps aux
# Arbre des processus
pstree
# Détails des processus
lsof -i
lsof -p <PID>
# Priorité des processus
nice -n -20 <commande>
3. Surveillance des Services
# État des services
systemctl status <service>
# Logs des services
journalctl -u <service>
# Suivi des logs en temps réel
journalctl -u <service> -f
# Filtrage des logs par priorité
journalctl -p err
Commandes de Diagnostic
1. Diagnostic Réseau
# Test de connectivité
ping <host>
traceroute <host>
# Test de ports
nc -zv <host> <port>
telnet <host> <port>
# Analyse réseau
tcpdump -i eth0
wireshark
2. Diagnostic Système
# Informations système
uname -a
lsb_release -a
# Informations matérielles
lshw
dmidecode
# Informations réseau
ifconfig
ip addr
3. Diagnostic Performance
# Profilage système
strace <commande>
ltrace <commande>
# Analyse de performance
perf top
perf record
# Analyse de mémoire
valgrind <programme>
Bonnes Pratiques
-
Organisation des Logs
- Rotation régulière des logs
- Compression des anciens logs
- Archivage des logs importants
-
Analyse des Logs
- Mise en place de filtres
- Création de rapports
- Surveillance proactive
-
Maintenance
- Nettoyage régulier
- Vérification des permissions
- Mise à jour des configurations
Scripts Utiles
1. Script de Surveillance
#!/bin/bash
# Surveillance des logs en temps réel
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 d’Analyse
#!/bin/bash
# Analyse des logs Apache
awk '{print $1}' /var/log/apache2/access.log | sort | uniq -c | sort -nr | head -n 10
3. Script de Maintenance
#!/bin/bash
# Rotation des logs
find /var/log -type f -name "*.log" -mtime +7 -exec gzip {} \;
Conclusion
Le troubleshooting de serveur nécessite une bonne maîtrise des commandes de journalisation et d’analyse. Ce guide couvre les commandes essentielles et les techniques avancées pour une gestion efficace des logs.
Ressources Complémentaires
À propos de InSkillCoach
Expert en formation et technologies
Coach spécialisé dans les technologies avancées et l'IA, porté par GNeurone Inc.
Certifications:
- AWS Certified Solutions Architect – Professional
- Certifications Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
Commentaires
Les commentaires sont alimentés par GitHub Discussions
Connectez-vous avec GitHub pour participer à la discussion