07 Jun 2024, 00:00

Notes sur syslog

Share

rsyslog

Sous Debian Bookworm, c’est le paquet rsyslog qui est utilisé par défaut.

Son fichier de conf est /etc/rsyslog.conf et il inclut /etc/rsyslog.d/*.conf
rsyslog a ses propres filtres qui lui sont uniques, mais je parle ici des filtres par sélecteurs, qui sont les filtres classiques du syslog originel.

Son principe est d’associer un ou plusieurs sélecteurs à une action.
Page de doc sur les filtres

Un sélecteur est composé d’un ou plusieurs “facility” (sous-système qui a produit le message) et d’une priorité (la sévérité du message).

facility : auth, cron, mail, etc  
priorité : warn, crit, info etc.  (ou * )  

On peut accoler plusieurs facility avec une même priorité graçe à la virgule ,
On peut accoler plusieurs sélecteurs à une même action avec le point-virgule ;

Les actions sont ce qu’on fait du message ; principalement écrire dans un fichier, envoyer sur un tty, envoyer vers un autre poste etc.
Page de doc des actions facility1,facility2.priorité1;facility3.priorité3 action

on peut mettre un “moins” - à ‘action ; pour les fichiers, cela signifie ne pas flush le cache à chaque écriture.

Rediriger cron vers un fichier à part :

Dans /etc/rsyslog.conf, il y’a un catchall qui integrera tout dans syslog, sauf les facility “auth” et “authpriv”.
Si on ne veut pas du tout les logs de cron dans le syslog, et limiter les modifications du fichier principal de conf, il faut commenter cette ligne :
#*.*;auth,authpriv.none -/var/log/syslog

Puis on peut ajouter le fichier /etc/rsyslog.d/00-catchall.conf dans lequel on met :

# Catch everything except auth, authpriv and cron msgs into syslog
*.*;cron,auth,authpriv.none          -/var/log/syslog

et le fichier /etc/rsyslog.d/10-cron.conf avec :

# Log cron stuff
cron.*          /var/log/cron.log

Puis on redémarre rsyslog :
sudo service rsyslog restart