Outils pour utilisateurs

Outils du site


linux:adminsys:rsyslog

Table des matières

rsyslog

Syntaxe

Toutes les lignes sont de la forme
filtre action

où action peut être un fichier (si préfixé par -, ça évite un sync à chaque écriture, important pour les logs fréquemment ouverts) ou un user.

Un même filtre peut avoir plusieurs actions, par ex

*.crit /var/log/critical.log
& root

loggue dans un fichier et envoie à root.

facility : auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security (idem auth), syslog, user, uucp, local0 → local7

priority : debug, info, notice, warning, warn (idem warning), err, error (idem err), crit, alert, emerg, panic (idem emerg).

Pour le filtre, on peut en mettre plusieurs, par ex

  • *.err;mail.none ⇒ tous les messages d'erreur (ou supérieurs, donc crit alert et emerg compris) sauf mail.err
  • kern.=warn ⇒ les warnings du kernel (mais pas les priority sup)
  • mail.*;mail.!=info /var/log/mail_but_info.log ⇒ tous les mail sauf info (idem mail.=debug;mail.notice)
# on peut s'étaler sur plusieurs lignes
*.=info;*.=notice;*.=warn;\
        auth,authpriv.none;\
        cron,daemon.none;\
        mail,news.none          -/var/log/messages
# ça sélectionne les info, notice et warning sauf pour auth, etc.

Expressions

On peut aussi utiliser des expressions pour filtrer d'après le contenu du message, par exemple

*.err /var/log/error.log
:msg, contains, "on s'en fout"  ~
*.* /var/log/almost_all_errors.log

le ~ en fin de ligne vire les lignes concernées (pour toutes les directives qui suivront), ne pas mettre ce ~ ne garderait que les lignes concernées par le filtre (messages qui contiendraient la chaine “on s'en fout”).

linux/adminsys/rsyslog.txt · Dernière modification : 07/09/2009 16:54 de daniel