Modificar ratelimit de rsyslog (imuxsock)

Rsyslog cuenta con un sistema de ratelimit que permite, a través del módulo imuxsock, controlar número de llamadas (Unix Socket Input) que recibe rsyslog. En otras palabras, controla la cantidad de mensajes un periodo de tiempo determinado que el proceso puede escribir en un fichero de log.

Si revisamos la configuración de rsyslog, vemos que efectivamente se carga el módulo de imuxsock:

/etc/rsyslog.conf

#### MODULES ####

$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)

Este módulo, y la configuración que veremos a continuación provocarán que en caso de un aluvión de escrituras en un log se reciban mensajes como los siguientes:

rsyslogd-2457: imuxsock lost 245892 messages from pid 2457 due to rate-limiting
rsyslogd-2457: imuxsock begins to drop messages from pid 2457 due to rate-limiting

Los parámetros que deciden este comportamiento son los siguientes (también en /etc/rsyslog.conf):

$SystemLogRateLimitInterval 1
$SystemLogRateLimitBurst 5000

En este caso, estamos indicando que en el intervalo de 1 segundo permitimos como máximo escribir 5000 líneas en el log. Si por ejemplo quisieramos desactivar la función de ratelimit:

$SystemLogRateLimitInterval 0