Configurer rsyslog pour centraliser les logs systèmes sous Linux

Publié le 21 juillet 2025

Administration Système
Logs
Linux

La centralisation des logs est une pratique essentielle en administration système pour faciliter l'analyse, la surveillance et le dépannage. rsyslog est un outil puissant sous Linux permettant de collecter et de centraliser les logs depuis plusieurs serveurs vers un serveur unique.

Prérequis

  • Deux serveurs Linux (Debian, Ubuntu, CentOS, Rocky Linux) :
    • Un serveur central pour recevoir les logs
    • Un ou plusieurs serveurs clients pour envoyer les logs
  • Accès root ou sudo

1. Installation de rsyslog

Sur tous les serveurs (central et clients), installez rsyslog :

Debian/Ubuntu

sudo apt update
sudo apt install -y rsyslog

CentOS/RHEL/Rocky Linux

sudo dnf install -y rsyslog

2. Configuration du serveur central

Éditez /etc/rsyslog.conf :

sudo nano /etc/rsyslog.conf

Décommentez les lignes suivantes pour activer la réception TCP et UDP :

module(load="imudp")
input(type="imudp" port="514")
module(load="imtcp")
input(type="imtcp" port="514")

Redémarrez rsyslog :

sudo systemctl restart rsyslog

3. Configuration des serveurs clients

Éditez /etc/rsyslog.conf sur chaque client :

sudo nano /etc/rsyslog.conf

Ajoutez en fin de fichier pour envoyer les logs au serveur central (remplacer IP_SERVEUR par l'IP réelle) :

*.* @IP_SERVEUR:514

Pour utiliser TCP (recommandé), utilisez :

*.* @@IP_SERVEUR:514

Redémarrez rsyslog sur chaque client :

sudo systemctl restart rsyslog

4. Vérification

Sur le serveur central, vérifiez les logs entrants dans /var/log/syslog ou /var/log/messages selon votre distribution :

tail -f /var/log/syslog
# ou
tail -f /var/log/messages

5. Organisation avancée des logs

Pour mieux organiser les logs sur le serveur central, créez des fichiers distincts par client en ajoutant une règle dans /etc/rsyslog.conf :

$template RemoteLogs,"/var/log/remote/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?RemoteLogs

Redémarrez rsyslog :

sudo systemctl restart rsyslog

6. Rotation et nettoyage des logs

Configurez logrotate pour la gestion des fichiers log :

Créez /etc/logrotate.d/rsyslog-remote :

sudo nano /etc/logrotate.d/rsyslog-remote

Ajoutez :

/var/log/remote/*/*.log {
    daily
    rotate 14
    missingok
    compress
    delaycompress
    notifempty
    create 640 root adm
    sharedscripts
    postrotate
        systemctl restart rsyslog > /dev/null
    endscript
}

Conclusion

Vous avez maintenant un serveur rsyslog opérationnel pour centraliser efficacement les logs de vos serveurs Linux. Cette configuration facilite grandement la surveillance, l'analyse et le dépannage en centralisant toutes les informations critiques en un seul endroit.

Besoin d'aide sur ce sujet ?

Notre équipe d'experts est là pour vous accompagner dans vos projets.

Contactez-nous

Articles similaires qui pourraient vous intéresser