Surveillance de logs en temps réel avec tail et grep
Publié le 02/08/2025 dans Tutoriels & Astuces
Introduction
Pour assurer la performance et la stabilité de vos systèmes, une surveillance de logs rapide et réactive est cruciale. Avec les commandes UNIX tail -f
et grep
, vous pouvez filtrer, détecter et alerter en quasi-temps réel sans déployer d’outil complexe. Chez echo Dev, nous vous proposons un guide détaillé et optimisé SEO pour maîtriser cette approche :
Pourquoi choisir tail -f
et grep
?
Avec un overhead minimal et une configuration simple, ces commandes sont disponibles sur toutes les distributions UNIX/Linux. Elles offrent :
- Une consommation de ressources très faible
- Une mise en place immédiate, sans dépendances externes
- Une flexibilité maximale grâce aux expressions régulières
1. Filtrage basique
Pour remonter uniquement les messages critiques :
tail -f /var/log/syslog | grep ERROR
Cette commande affiche en continu les nouvelles lignes de syslog
et ne fait transiter que celles contenant le mot-clé ERROR
.
2. Expressions régulières avancées
Utilisez grep -E
pour combiner plusieurs motifs et capturer différents niveaux de priorité :
tail -f /var/log/syslog | grep -E "ERROR|WARN|CRITICAL"
Cette syntaxe vous permet de filtrer plusieurs types d’alertes en une seule passe.
3. Alerte par email
Envoyez une notification immédiate dès qu’une ligne critique est détectée :
tail -f /var/log/syslog | \ grep --line-buffered "ERROR" | \ while read line; do echo "$line" | mail -s "ALERTE LOG: ERROR détecté" ops@votredomaine.com done
Le flag --line-buffered
assure une réactivité maximale et évite la mise en mémoire tampon.
4. Intégration dans supervisord
Pour garantir la résilience du watcher, ajoutez une configuration dans supervisord.conf
:
[program:logwatch] command=/usr/bin/bash /opt/scripts/logwatch.sh autorestart=true stderr_logfile=/var/log/logwatch.err.log stdout_logfile=/var/log/logwatch.out.log
Supervisord relancera automatiquement le script en cas de crash, assurant une surveillance continue.
5. Journalisation centralisée
Pour une analyse historique et multi-sources, poussez vos logs vers une plateforme centralisée :
tail -f /var/log/syslog | \ grep --line-buffered "ERROR" | \ nc logserver.votredomaine.com 5000
Vous pouvez ainsi exploiter Graylog, ELK ou Splunk pour des requêtes complexes, du cross-correlation et du reporting avancé.
Conclusion
En combinant tail -f
, grep
et un peu de scripting, vous obtenez une surveillance de logs légère, un alerte instantanée et une journalisation centralisée performante. Pour un audit complet de votre stratégie de monitoring ou une intégration sur-mesure, contactez echo Dev dès aujourd’hui et bénéficiez de notre expertise !