GNU/Linux >> Linux Esercitazione >  >> Linux

"imuxsock ha perso # messaggi da pid # a causa della limitazione della velocità" – limitazione della velocità rsyslog in Linux

A causa della limitazione della frequenza da parte di rsyslog, /var/log/messages mostra molte voci di messaggi eliminate:

...
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
...

Questo è il comportamento previsto. rsyslogd funziona correttamente. Le voci relative ai messaggi eliminati sono voci normali. Per impostazione predefinita, rsyslogd accetta 200 messaggi in 5 secondi da un singolo processo. Se tale soglia viene superata, i messaggi verranno eliminati. Quindi, nel caso della voce di esempio sotto, il processo 77845 ha inviato circa 436 messaggi in un periodo di 5 secondi. A causa della limitazione della velocità, rsyslogd ne ha eliminati 236.

...
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
...

L'impostazione dei seguenti parametri con i valori mostrati di seguito disabiliterà la limitazione della frequenza e nessun messaggio verrà eliminato.

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

Ci si può aspettare che ogni voce gestita da rsyslog venga inserita nel file dei messaggi. Questo non è il caso. Il rsyslog.conf il file ha una sezione chiamata REGOLE che governa dove rsyslog scrive i messaggi. Per impostazione predefinita, nel file dei messaggi vengono scritti solo i messaggi del kernel, i messaggi informativi ei messaggi di emergenza. Altri messaggi vengono scritti su altri file. Ad esempio, i messaggi relativi all'autenticazione dell'utente vanno a /var/log/secure e i messaggi che riguardano la posta vanno a /var/log/maillog .

Poiché rsyslog scrive i messaggi in file diversi in base al tipo, la disattivazione della limitazione della velocità farà sì che tutti i messaggi vengano scritti nei file di registro designati, non solo nel file dei messaggi. Puoi vederlo in azione procedendo come segue:

1. Fai un backup del tuo /etc/rsyslogd.conf file.

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

2. Disattiva la limitazione della velocità come mostrato in dettaglio nel post di seguito a seconda della versione del tuo sistema operativo.

Come disabilitare o estendere il limite di velocità di registrazione del sistema su CentOS/RHEL 6
Come disabilitare o estendere il limite di velocità di registrazione del sistema su CentOS/RHEL 7

3. Prendere nota della dimensione dei file di registro in /var/log:

# ls -la /var/log

4. Riavvia rsyslog.

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

5. Attendi circa 1 ora.

6. Ripristina le modifiche apportate al passaggio 2.

7. Riavvia rsyslog.

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

8. Prendere nota delle dimensioni dei file di registro in /var/log.

Il risultato sarà questo:

  • Le dimensioni di uno o più file di registro diversi dal file dei messaggi in /var/log sono cresciute notevolmente.
  • Le voci in uno o più file di registro aumentate di frequenza durante il limite di tempo sono state disabilitate.
  • Sono state visualizzate poche voci nel file dei messaggi. Come mostrato in questo esempio, i messaggi venivano eliminati fino a quando la limitazione della velocità non veniva disabilitata e rsyslog non veniva riavviato alle 14:30. Tra le 14:30 e le 15:33 c'è un solo ingresso per rngd alle 14:44. Dopo aver abilitato la limitazione della frequenza, i messaggi eliminati ricominciano.
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

Quindi da quanto sopra, possiamo vedere che la disabilitazione della limitazione della frequenza sta effettivamente funzionando, ma non come ci si potrebbe aspettare che funzioni. Per quanto riguarda la limitazione della velocità, è necessario considerare quanto segue:

1. Un'esplosione casuale e non frequente di messaggi non è necessariamente un'indicazione di un problema. Tuttavia, è possibile indagare su una ripetizione continua e prolungata di messaggi eliminati. Se i messaggi eliminati si verificano frequentemente e vengono eliminati numeri elevati, è necessaria un'indagine su quali siano questi messaggi (avvertimenti informativi o effettivi di errori). Puoi utilizzare il test sopra per vedere dove stanno andando i messaggi, quindi rivedere i log in /var/log per determinare se esiste davvero un problema o nota.

2. Prestare attenzione nel modificare le impostazioni del limite di velocità in rsyslogd.conf o disabilitando del tutto il limite di velocità. Meno messaggi vengono eliminati, maggiore è l'elaborazione necessaria per registrarli. Troppi messaggi possono causare problemi di prestazioni e, in circostanze estreme, persino sfratti.


Linux
  1. Linux:come eseguire un bootloader da Linux?

  2. Installa Apache 2 da Source su Linux

  3. Messaggi di errore comuni da Command xfs_repair in Linux

  4. mesg Esempi di comandi in Linux

  5. PID massimo in Linux

Passaggio da Windows a Linux

Linux:capisci l'accesso a Linux?

Installa Linux Mint da USB

Come ottenere il PID padre di un determinato processo in GNU/Linux dalla riga di comando?

Installa Linux da Linux

Come trovare i messaggi di errore dagli script Linux init.d/rc.d?