Rsyslog kehilangan pesan

1

Saya menggunakan rsyslog v5.8.11. Saya menemukan nomor versi ini dari rsysloglog apa yang dihidupkan ulang. Saya mencoba menerapkan pembatasan tingkat rsyslogtetapi tidak ada gunanya. Saya masih kehilangan pesan. Dalam file konfigurasi saya meletakkan opsi-opsi ini untuk menerapkan pembatasan tingkat

$SystemLogRateLimitInterval 5
$SystemLogRateLimitBurst 10000

Ini tidak ada gunanya karena saya masih kehilangan pesan pada tingkat yang sama. Saya bahkan mencoba memasukkannya

$SystemLogRateLimitInterval 0

Ini seharusnya menghentikan fitur pembatasan tingkat rsyslogtetapi bukannya tidak ada yang terjadi. Saya masih kehilangan pesan. Log ini sangat penting bagi saya. Apakah ada cara untuk menghentikan kehilangan pesan di rsyslog.

MEMPERBARUI

Saat restart saya juga menemukan ini di log rsyslog.

rsyslogd: invalid selector line (port), probably not doing what was intended

Kehilangan log entah bagaimana terkait dengan kesalahan ini.

Ada log yang menunjukkan bahwa saya kehilangan log karena pembatasan tingkat.

rsyslogd-2177: imuxsock begins to drop messages from pid 25810 due to rate-limiting
rsyslogd-2177: imuxsock lost 103 messages from pid 25810 due to rate-limiting

Jenis log seperti itu akan datang, apa pun pengaturan yang diterapkan oleh saya. Jika log hilang karena UDP, apakah log rsyslog juga akan seperti ini?

shivams
sumber
Pesan-pesan ini yang hilang: apakah dikirim oleh jaringan, atau dihasilkan secara lokal? Jika mereka melalui jaringan dan Anda menggunakan UDP maka tidak ada jaminan bahwa mereka bahkan akan dikirimkan, jadi mungkin bukan itu rsyslogyang menjatuhkan mereka. Anda perlu mengkonfigurasi komponen pengiriman yang andal rsyslogdan berjalan rsyslogdi semua generator pesan Anda.
roaima
Pesan dihasilkan secara lokal. Tetapi penyimpanan terakhir dari pesan-pesan ini ada di server yang berbeda dan di sana saya melihat pesan yang hilang di log. Saya memperbarui pertanyaan asli saya dengan log yang saya dapatkan sehingga menunjukkan saya pesan yang hilang.
shivams
BAIK. Pertanyaan yang sama tetapi ditanyakan secara berbeda. Seberapa dekat dengan sumber pesan Anda menemukan pesan yang hilang? Jika pesan disimpan di server yang berbeda, apakah Anda mengirim pesan melalui koneksi jaringan menggunakan fitur pengiriman yang andal rsyslog?
roaima
Saya membaca log menggunakan imuxsock melalui soket unix pada mesin lokal dan kemudian log tersebut dikirim ke mesin lain menggunakan omrelp. Lihat juga pembaruan saya yang berisi log yang menunjukkan bahwa log hilang karena pembatasan tingkat.
shivams

Jawaban:

5

Anda mungkin menggunakan debian wheezy, karena rsyslog v5.8.11 digunakan oleh rilis debian ini.

Upgrade ke debian jeesie atau instal rsyslog dari debian-backports untuk memperbaikinya.

Wheezy rsyslog memiliki bug yang tidak akan menonaktifkan batas kecepatan, tetapi versi baru akan membaca konfigurasi dan (akhirnya) menonaktifkan batas kecepatan.

higuita
sumber
1
Anda masih perlu menggunakan $SystemLogRateLimitInterval 0atau serupa, tetapi setidaknya sekarang harus diterapkan
higuita
2

Jika Anda membaca log dari imuxsockinput, maka pembatasan tingkat tidak terpengaruh oleh $SystemLogRateLimitInterval.

Anda harus menggunakan:

$IMUXSockRateLimitInterval x
$IMUXSockRateLimitBurst y
André Fernandes
sumber