Konfigurowanie Rsyslog w celu zatrzymania rejestrowania niektórych wiadomości

13

Chcę zatrzymać rejestrowanie tych wiadomości przez rsyslog.

[168707.740364] TCP: Peer 192.168.100.1:46199/41503 unexpectedly shrunk window 2027330493:2027331431 (repaired)

Próbowałem tego w /etc/rsyslog.conf, ale wiadomości są nadal rejestrowane.

if $msg contains 'unexpectedly' then /dev/null

Czy ktoś może skierować mnie we właściwym kierunku?

Stephen
źródło

Odpowiedzi:

8

Jeśli używasz najnowszej wersji rsyslog (na przykład 7), musisz to zrobić

& stop

po twojej wiadomości. Nieprzestrzeganie tego da ci

warning: ~ action is deprecated, consider using the 'stop' statement instead [try http://www.rsyslog.com/e/2307 ]
Karlo
źródło
6

rsyslog potrzebuje instrukcji, aby zatrzymać rejestrowanie po dopasowaniu. Dodaj ten wiersz natychmiast po instrukcji if, którą już masz.

& ~

Konieczne może być także przeniesienie obu instrukcji w górę do pliku conf, aby zostały one przeanalizowane przed niektórymi innymi instrukcjami, które mogą rejestrować je w wiadomościach. Zmieniam konfigurację rsyslog, aby wyglądała następująco

/etc/rsyslog.conf ($IncludeConfig /etc/rsyslog.d/*.conf)
/etc/rsyslog.d/40-specificdaemon.conf
/etc/rsyslog.d/99-general.conf

Zapewnia to pożądaną kolejność i ułatwia zarządzanie konfiguracją wypychaniem aktualizacji.

kashani
źródło
4
& ~jest przestarzałe w nowszych wersjach rsyslog: rsyslog.com/doc/v8-stable/compatibility/v7compatibility.html . Jest ~to również znane jako akcja odrzucenia, jeśli przeszukasz tę stronę, zobaczysz notatkę na jej temat. Powinieneś używać & stopdalej.
slm
2

Polecenie to „$ stop”, a nie „$ stop”. Jest tam ogromna różnica.

Marius Flage
źródło
4
Proszę o wyjaśnienie. O ile mi wiadomo, to jest if ... then stoplub & stop. Nigdy nie widziałem żadnej $stopwymienionej zmiennej. Przegapiłem coś?
mivk 23.01.16