GNU/Linux >> Tutoriales Linux >  >> Linux

“imuxsock perdió # mensajes de pid # debido a la limitación de velocidad” – limitación de velocidad de rsyslog en Linux

Debido a la limitación de velocidad de rsyslog, /var/log/messages muestra muchas entradas de mensajes descartados:

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

Este es el comportamiento esperado. rsyslogd funciona correctamente. Las entradas relacionadas con los mensajes perdidos son entradas normales. De forma predeterminada, rsyslogd acepta 200 mensajes en 5 segundos de un solo proceso. Si se supera ese umbral, los mensajes se eliminarán. Entonces, en el caso de la entrada de ejemplo a continuación, el proceso 77845 envió alrededor de 436 mensajes en un período de 5 segundos. Debido a la limitación de velocidad, rsyslogd eliminó 236 de ellos.

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

La configuración de los siguientes parámetros con los valores que se muestran a continuación desactivará la limitación de velocidad y no se descartarán mensajes.

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

Uno puede esperar que cada entrada manejada por rsyslog se ingrese en el archivo de mensajes. Este no es el caso. El rsyslog.conf archivo tiene una sección llamada REGLAS que gobierna dónde rsyslog escribe los mensajes. De manera predeterminada, solo los mensajes del núcleo, los mensajes informativos y los mensajes de emergencia se escriben en el archivo de mensajes. Otros mensajes se escriben en otros archivos. Por ejemplo, los mensajes relacionados con la autenticación de usuarios van a /var/log/secure y los mensajes relacionados con el correo van a /var/log/maillog .

Debido a que rsyslog escribe mensajes en diferentes archivos según su tipo, desactivar la limitación de velocidad hará que todos los mensajes se escriban en sus archivos de registro designados, no solo en el archivo de mensajes. Puede ver esto en acción haciendo lo siguiente:

1. Haga una copia de seguridad de su /etc/rsyslogd.conf archivo.

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

2. Deshabilite la limitación de velocidad como se muestra en la publicación a continuación, según la versión de su sistema operativo.

Cómo desactivar o ampliar el límite de velocidad de registro del sistema en CentOS/RHEL 6
Cómo desactivar o ampliar el límite de velocidad de registro del sistema en CentOS/RHEL 7

3. Tome nota del tamaño de los archivos de registro en /var/log:

# ls -la /var/log

4. Reinicie rsyslog.

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

5. Espere alrededor de 1 hora.

6. Revertir los cambios realizados en el paso 2.

7. Reinicie rsyslog.

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

8. Tenga en cuenta los tamaños de los archivos de registro en /var/log.

Los resultados de esto serán que:

  • El tamaño de uno o más de los archivos de registro distintos del archivo de mensajes en /var/log aumentó considerablemente.
  • Las entradas en uno o más de los archivos de registro aumentaron en frecuencia durante el tiempo en que se deshabilitó la limitación de velocidad.
  • Pocas o ninguna entrada se vieron en el archivo de mensajes. Como se ve en este ejemplo, los mensajes se descartaron hasta que se deshabilitó la limitación de velocidad y se reinició rsyslog a las 14:30. Entre las 14:30 y las 15:33 solo hay una entrada para rngd a las 14:44. Después de habilitar la limitación de velocidad, los mensajes perdidos comienzan de nuevo.
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

Entonces, a partir de lo anterior, podemos ver que la desactivación de la limitación de velocidad realmente funciona, pero no como uno esperaría que funcionara. Se debe considerar lo siguiente con respecto a la limitación de velocidad:

1. Una ráfaga aleatoria e infrecuente de mensajes no es necesariamente una indicación de un problema. Sin embargo, se puede investigar una repetición sostenida continua de mensajes perdidos. Si los mensajes descartados ocurren con frecuencia y se descartan grandes cantidades, entonces se necesita una investigación sobre cuáles son estos mensajes (advertencias informativas o reales de errores). Puede usar la prueba anterior para ver a dónde van los mensajes y luego revisar los registros en /var/log para determinar si realmente existe un problema o nota.

2. Tenga cuidado al cambiar la configuración del límite de velocidad en rsyslogd.conf o al desactivar la limitación de velocidad por completo. Cuantos menos mensajes se eliminen, más procesamiento se requerirá para registrarlos. Demasiados mensajes pueden causar problemas de rendimiento y, en circunstancias extremas, incluso desalojos.


Linux
  1. Instale Apache 2 desde la fuente en Linux

  2. Ejemplos de comandos mesg en Linux

  3. ¿Cómo calcular el uso de CPU de un proceso por PID en Linux desde C?

  4. imagen de linux del portapapeles

  5. Reciclaje de PID de Linux

Cambiar de Windows a Linux

Linux:¿entiende cómo iniciar sesión en Linux?

Instalar Linux Mint desde USB

Eliminando .rbenv de Linux

¿Cómo obtener el PID principal de un proceso determinado en GNU/Linux desde la línea de comandos?

encontrar comando de PID