Rsyslog : centraliser les journaux des machines Linux
Les principales distributions Linux font appel à Rsyslog pour nous fournir, dans des fichiers, l’ensemble des événements autour du fonctionnement du système d’exploitation. La configuration de ce service – de ce démon – est définie au travers du fichier /etc/rsyslog.conf.
Configuration du récepteur des messages syslog
Pour la machine qui centralisera les messages des autres machines, éditez le fichier /etc/rsyslog.conf et décommentez les lignes suivantes, dans l’en-tête du fichier :
# Pour écouter sur udp/514
$ModLoad imudp
$UDPServerRun 514
# Pour écouter sur tcp/514
$ModLoad imtcp
$InputTCPServerRun 514
Pour que les modifications soient prises en compte, vous devez recharger le service : service rsyslog reload ou /etc/init.d/rsyslog reload.
Configuration des clients, i.e. des émetteurs des messages syslog
Sur toutes les machines clientes qui émettront vers la machine chargée de centraliser les messages (192.168.1.100 dans l’exemple ci-dessous), vous devez ajouter la ligne suivante au fichier /etc/rsyslog.conf :
# En mode Udp
*.* @192.168.1.100
ou bien
#En mode Tcp
*.* @@192.168.1.100
Pour Ubuntu Server, il faut inscrire l’une ou l’autre des directives dans le fichier /etc/rsyslog.d/50-default.conf. Il est préférable de créer un fichier avec l’extension .conf dans le dossier /etc/rsyslog.d et y ajouter l’une de ses directives, selon que le service Rsyslog écoute en udp ou en tcp sur le récepteur.
Pour que les modifications soient prises en compte, vous devez, là-encore, recharger le service : service rsyslog reload.
La rotation des logs est gérée par logrotate, à l’aide du fichier /etc/logrotate.d/syslog sous CentOS ou Red Hat et /etc/logrotate/rsyslog sous Ubuntu Server. Pensez à respecter vos obligations légales !