Surveillance de logs en temps réel avec tail et grep

Publié le 02/08/2025 dans Tutoriels & Astuces

Introduction

Surveillance logs

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 !