GNU/Linux >> Belajar Linux >  >> Linux

“imuxsock kehilangan # pesan dari pid # karena pembatasan kecepatan” – pembatasan kecepatan rsyslog di Linux

Karena pembatasan kecepatan oleh rsyslog, /var/log/messages menampilkan banyak entri pesan yang dihapus:

...
Nov 7 14:23:14 thx1138 rsyslogd-2177: imuxsock lost 516 messages from pid 159386 due to rate-limiting
Nov 7 14:23:15 thx1138 rsyslogd-2177: imuxsock begins to drop messages from pid 159386 due to rate-limiting
Nov 7 14:23:20 thx1138 rsyslogd-2177: imuxsock lost 512 messages from pid 159386 due to rate-limiting
Nov 7 14:23:21 thx1138 rsyslogd-2177: imuxsock begins to drop messages from pid 159386 due to rate-limiting
Nov 7 14:29:50 thx1138 rsyslogd-2177: imuxsock begins to drop messages from pid 238300 due to rate-limiting
...

Ini adalah perilaku yang diharapkan. rsyslogd bekerja dengan benar. Entri tentang pesan yang dijatuhkan adalah entri normal. Secara default, rsyslogd menerima 200 pesan dalam 5 detik dari satu proses. Jika ambang batas itu terlampaui, pesan akan dihapus. Jadi dalam kasus entri contoh di bawah ini, proses 77845 mengirim sekitar 436 pesan dalam periode 5 detik. Karena pembatasan tarif, rsyslogd menjatuhkan 236 di antaranya.

...
Nov 6 15:46:48 thx1138 rsyslogd-2177: imuxsock begins to drop messages from pid 77845 due to rate-limiting
Nov 6 15:46:52 thx1138 rsyslogd-2177: imuxsock lost 236 messages from pid 77845 due to rate-limiting PID 77845
...

Menyetel parameter berikut dengan nilai yang ditunjukkan di bawah ini akan menonaktifkan pembatasan kecepatan dan tidak ada pesan yang akan dihapus.

# vi /etc/rsyslog.conf
$SystemLogRateLimitInterval 0
$SystemLogRateLimitBurst 0
$IMUXSockRateLimitBurst 0
$IMUXSockRateLimitInterval 0
$IMUXSockRateLimitSeverity 7
...

Orang mungkin mengharapkan setiap entri yang ditangani oleh rsyslog akan dimasukkan ke dalam file pesan. Ini bukan kasusnya. rsyslog.conf file memiliki bagian yang disebut ATURAN yang mengatur di mana rsyslog menulis pesan. Secara default, hanya pesan kernel, pesan informasi, dan pesan darurat yang ditulis ke file pesan. Pesan lain ditulis ke file lain. Misalnya, pesan yang berhubungan dengan otentikasi pengguna masuk ke /var/log/secure dan pesan yang berhubungan dengan email masuk ke /var/log/maillog .

Karena rsyslog menulis pesan ke file yang berbeda berdasarkan jenisnya, menonaktifkan pembatasan kecepatan akan menyebabkan semua pesan ditulis ke file log yang ditentukan, bukan hanya file pesan. Anda dapat melihat ini beraksi dengan melakukan hal berikut:

1. Buat cadangan /etc/rsyslogd.conf . Anda berkas.

# cp -p /etc/rsyslog.conf /etc/rsyslog.conf_orig

2. Nonaktifkan pembatasan kecepatan seperti yang ditunjukkan pada posting di bawah ini tergantung pada versi OS Anda.

Cara Menonaktifkan Atau Memperpanjang Batas Kecepatan Logging Sistem di CentOS/RHEL 6
Cara Menonaktifkan Atau Memperpanjang Batas Kecepatan Logging Sistem di CentOS/RHEL 7

3. Catat ukuran file log di /var/log:

# ls -la /var/log

4. Mulai ulang rsyslog.

# service rsyslog restart       ### CentOS/RHEL 6
# systemctl restart rsyslog       ### CentOS/RHEL 7

5. Tunggu sekitar 1 jam.

6. Kembalikan perubahan yang dibuat pada langkah 2.

7. Mulai ulang rsyslog.

# service rsyslog restart       ### CentOS/RHEL 6
# systemctl restart rsyslog       ### CentOS/RHEL 7

8. Perhatikan ukuran file log di /var/log.

Hasilnya adalah:

  • Ukuran satu atau beberapa file log selain file pesan di /var/log bertambah besar.
  • Entri dalam satu atau beberapa file log meningkat frekuensinya selama pembatasan kecepatan waktu dinonaktifkan.
  • Sedikit jika ada entri yang terlihat dalam file pesan. Seperti yang terlihat dalam contoh ini, pesan dihapus hingga pembatasan kecepatan dinonaktifkan dan rsyslog dimulai ulang pada pukul 14:30. Antara 14:30 dan 15:33 hanya ada satu entri untuk rngd pada 14:44. Setelah mengaktifkan pembatasan kecepatan, pesan yang dihapus akan dimulai lagi.
Nov 7 14:23:21 thx1138 rsyslogd-2177: imuxsock begins to drop messages from pid 159386 due to rate-limiting
Nov 7 14:29:50 thx1138 rsyslogd-2177: imuxsock begins to drop messages from pid 238300 due to rate-limiting
Nov 7 14:30:02 thx1138 kernel: Kernel logging (proc) stopped.
Nov 7 14:30:02 thx1138 rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-pid="13439" x-info="http://www.rsyslog.com"] exiting on signal 15.
Nov 7 14:30:02 thx1138 kernel: imklog 5.8.10, log source = /proc/kmsg started.
Nov 7 14:30:02 thx1138 rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-pid="242406" x-info="http://www.rsyslog.com"] start
Nov 7 14:44:15 thx1138 rngd[13453]: read error
Nov 7 15:32:58 thx1138 kernel: Kernel logging (proc) stopped.
Nov 7 15:32:58 thx1138 rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-pid="242406" x-info="http://www.rsyslog.com"] exiting on signal 15.
Nov 7 15:32:59 thx1138 kernel: imklog 5.8.10, log source = /proc/kmsg started.
Nov 7 15:32:59 thx1138 rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-pid="175797" x-info="http://www.rsyslog.com"] start
Nov 7 15:34:25 thx1138 rsyslogd-2177: imuxsock begins to drop messages from pid 179680 due to rate-limiting
Nov 7 15:35:56 thx1138 rsyslogd-2177: imuxsock lost 193 messages from pid 179680 due to rate-limiting

Jadi dari penjelasan di atas, kita dapat melihat bahwa pembatasan tingkat penonaktifan benar-benar berfungsi, hanya saja tidak seperti yang diharapkan. Hal-hal berikut harus dipertimbangkan sehubungan dengan pembatasan tarif:

1. Pesan yang muncul secara acak dan jarang terjadi tidak selalu merupakan indikasi adanya masalah. Namun, pengulangan berkelanjutan dari pesan yang dijatuhkan dapat diselidiki. Jika pesan yang dijatuhkan sering terjadi dan ada sejumlah besar yang dijatuhkan, maka penyelidikan tentang apa pesan ini (peringatan kesalahan informasi atau aktual) diperlukan. Anda dapat menggunakan pengujian di atas untuk melihat ke mana arah pesan, kemudian meninjau log di /var/log untuk menentukan apakah ada masalah atau catatan.

2. Berhati-hatilah dalam mengubah pengaturan batas kecepatan di rsyslogd.conf atau menonaktifkan pembatasan kecepatan sama sekali. Semakin sedikit pesan yang dijatuhkan berarti semakin banyak pemrosesan yang diperlukan untuk mencatatnya. Terlalu banyak pesan dapat menyebabkan masalah kinerja dan dalam keadaan ekstrim bahkan pengusiran.


Linux
  1. Instal Apache 2 dari Sumber di Linux

  2. Pesan Kesalahan Umum dari Command xfs_repair di Linux

  3. Contoh Perintah mesg di Linux

  1. PID maksimum di Linux

  2. Nama proses dari pidnya di linux

  3. Menghapus .rbenv dari Linux

  1. Memahami Tindakan rsyslog

  2. Bagaimana cara menghitung penggunaan CPU dari suatu proses oleh PID di Linux dari C?

  3. temukan perintah dari PID