Los registros de rsyslog no se almacenan en archivos de cola.

Los registros de rsyslog no se almacenan en archivos de cola.

Estoy usandorsyslog 8.40y estoy intentando configurar el reenvío de registros con colas.

Pude enviar registros a los servidores de reenvío usando las siguientes configuraciones.

   action(type="omfwd" target="host1" port="10515" protocol="udp" )
   action(type="omfwd" target="host2" port="10514" protocol="udp" )

Ahora, quiero mantener los registros en colas para que cuando mi servidor de destino falle, no los pierda.

Para hacer eso, estoy haciendo algo como esto:

action(type="omfwd" target="host1" port="10515" protocol="udp"
               queue.spoolDirectory="/var/lib/rsyslog"
               queue.type="LinkedList"
               queue.filename="host1.queue"
               action.resumeRetryCount="-1"
               queue.saveOnShutdown="on"
)

action(type="omfwd" target="host2" port="10514" protocol="udp"
           queue.type="LinkedList"
           queue.filename="host2.queue"
           action.resumeRetryCount="-1"
           queue.saveOnShutdown="on"
)

Si cierro el servidor de reenvío, los registros no se crean en el archivo de cola que espero esté presente en /var/lib/rsyslog ya que tengo esta configuración:

global(
    net.enableDNS="off"
    preserveFQDN="on"
    umask="0004"
    workDirectory="/var/lib/rsyslog"
)

JFTR,

  • La configuración no tiene ningún error de configuración.
  • Habilité la depuración en rsyslogd, pero eso no me indicó ningún error.

Respuesta1

Me las arreglé para descubrir el motivo de este comportamiento:

Citando deaquí

Los archivos de spool reales solo se crean si el servidor remoto está inactivo y no hay más espacio en la cola en memoria. De forma predeterminada, una falla breve del servidor remoto nunca resultará en la creación de un archivo de disco, ya que de manera predeterminada se pueden almacenar un par de cientos de mensajes en la memoria.

información relacionada