====== 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 * ''*.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").