2013-12-12 17 views
5

Devo disattivare RepeatedMsgReduction sul mio server Linux per consentire a fail2ban di valutare ogni tentativo di accesso fallito. (Vedere questa segnalazione di bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=440037)rsyslog condizionale RepeatedMsgReduction

Poiché non voglio inondare i miei file di registro, mi piacerebbe avere quella funzione solo su quei file di log che scansioni fail2ban, in particolare mail.warn.

C'è un modo per impostare un condizionale regola/filtro rsyslog.conf che imposta

$RepeatedMsgReduction = off 

se e solo se il messaggio è destinato a mail.warn?

risposta

8

Ok, leggendo il manuale e la documentazione ancora e ancora oggi mi ha portato alla soluzione:

lettura http://www.rsyslog.com/doc/rsconf1_repeatedmsgreduction.html ti dice, che la direttiva

$RepeatedMsgReduction off 

rimane valida finché non viene specificata la direttiva successiva.

Ciò significa che se si desidera ricevere tutti i messaggi di mail.warn, ma si desidera ridurre i messaggi in tutti gli altri (mail.info e mail.err), modificare la configurazione in modo simile (presumendo che la riduzione dei messaggi sia globalmente attivata on):

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

Con questo, mail.warn conterrà tutti i messaggi registrati, mentre gli altri livelli di log (e file) conterranno i famosi "ultimo messaggio n volte ripetuto" linee. Ciò consente ad es. fail2ban esamina mail.warn per attività malvagie, mentre gli altri file di log rimangono "puliti".