Mengkonfigurasi Rsyslog Untuk Menghentikan Pencatatan Pesan Tertentu

13

Saya ingin menghentikan rsyslog mencatat pesan-pesan ini.

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

Saya mencoba ini di /etc/rsyslog.conf tetapi pesannya masih dicatat.

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

Adakah yang bisa mengarahkan saya ke arah yang benar?

Stephen
sumber

Jawaban:

8

Jika Anda menggunakan rsyslog versi terbaru (7 misalnya), Anda perlu melakukannya

& stop

setelah pesan Anda. Gagal melakukannya akan memberi Anda

warning: ~ action is deprecated, consider using the 'stop' statement instead [try http://www.rsyslog.com/e/2307 ]
Karlo
sumber
6

rsyslog membutuhkan pernyataan untuk berhenti masuk setelah pertandingan. Tambahkan baris ini segera setelah pernyataan if yang sudah Anda miliki.

& ~

Anda mungkin juga perlu memindahkan kedua pernyataan ke atas dalam file conf sehingga mereka diuraikan sebelum beberapa pernyataan lain yang mungkin membuat mereka masuk ke pesan. Saya mengubah konfigurasi rsyslog saya menjadi seperti berikut ini

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

Ini memastikan pesanan yang saya inginkan dan memudahkan manajemen konfigurasi untuk mendorong pembaruan.

Kashani
sumber
3
& ~tidak lagi digunakan dalam versi rsyslog yang lebih baru: rsyslog.com/doc/v8-stable/compatibility/v7compatibility.html . Ini ~juga dikenal sebagai tindakan buang, jika Anda mencari halaman itu Anda akan melihat catatan tentang hal itu. Anda harus menggunakan & stopmaju.
slm
2

Perintahnya adalah "$ stop", bukan "$ stop". Ada perbedaan besar di sana.

Marius Flage
sumber
4
Mohon klarifikasi. Sejauh yang saya tahu, itu if ... then stopatau & stop. Belum pernah melihat $stopvariabel yang disebutkan di mana pun. Apakah saya melewatkan sesuatu?
mivk