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