2013-12-12 12 views
5

Ich muss RepeatedMsgReduction auf meinem Linux-Server deaktivieren, damit fail2ban jeden fehlgeschlagenen Login-Versuch auswerten kann. (Siehe diesen Fehlerbericht: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=440037)rsyslog konditional RepeatedMsgReduction

Da ich meine Protokolldateien nicht überfluten möchte, würde ich gerne diese Funktion nur auf diejenigen Protokolldateien haben, die fail2ban scannt, vor allem mail.warn.

Gibt es eine Möglichkeit, eine bedingte Regel/Filter in rsyslog.conf zu setzen, die

$RepeatedMsgReduction = off 

iff die Nachricht an mail.warn gebunden ist, setzt?

Antwort

8

Ok, das Lesen der Bedienungsanleitung und Dokumente immer wieder brachte mich jetzt auf die Lösung:

Lese http://www.rsyslog.com/doc/rsconf1_repeatedmsgreduction.html sagt Ihnen, dass die Richtlinie

$RepeatedMsgReduction off 

bleibt gültig, bis der nächste Richtlinie festgelegt ist.

Das bedeutet, wenn Sie alle Nachrichten von mail.warn möchten, aber reduzierte Nachrichten in allen anderen (mail.info und mail.err) möchten, ändern Sie die Konfiguration so (vorausgesetzt, dass die Nachrichtenreduktion global umgesetzt wird) on):

mail.info      -/var/log/mail.info 
$RepeatedMsgReduction off 
mail.warn      -/var/log/mail.warn 
$RepeatedMsgReduction on 
mail.err      /var/log/mail.err 

Damit mail.warn werden alle Meldungen protokolliert, während die anderen Protokollebenen (und Dateien) enthalten die berühmte „wiederholt letzte Meldung n-mal“ Zeilen enthalten. Dies ermöglicht z.B. fail2ban untersucht mail.warn auf bösartige Aktivitäten, während die anderen Protokolldateien "sauber" bleiben.