Table des matières

rsyslog

Pour la conf, cf http://www.rsyslog.com/doc-rsyslog_conf.html

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

# 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”).