Rsyslog: Espacio inicial en mensajes con formato RFC5424

Creado en 22 nov. 2014  ·  3Comentarios  ·  Fuente: rsyslog/rsyslog

Al aprovechar la plantilla RSYSLOG_SyslogProtocol23Format para enviar mensajes, el campo MSG contiene un espacio inicial.

Se está utilizando la siguiente configuración:

$ActionQueueFileName name1
$ActionQueueMaxFileSize 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1
$DefaultNetstreamDriverCAFile /path/to/CA.crt
$ActionSendStreamDriver gtls
$ActionSendStreamDriverMode 1
$ActionSendStreamDriverAuthMode x509/name
$ActionSendStreamDriverPermittedPeer syslog.domain.com
*.* @@(o)syslog.domain.com:1234;RSYSLOG_SyslogProtocol23Format

Al emitir el comando logger test123 , se envía el siguiente mensaje al servidor. Tenga en cuenta los dos espacios después de NILVALUE para el campo de datos estructurados:
<13>1 2014-11-21T19:02:19.219331-06:00 host1 usuario1 - - - test123

El registro anterior se asigna al formato de mensaje RFC5424 de la siguiente manera:
PRI = <13>
VERSIÓN = 1
MARCA DE TIEMPO = 2014-11-21T19:02:19.219331-06:00
NOMBRE DE HOST = host1
NOMBRE DE LA APLICACIÓN = usuario1
PROC-ID = -
MSGID = -
DATOS ESTRUCTURADOS = -
MSG = 'prueba123'

El valor del campo MSG está entre comillas simples arriba para ilustrar el espacio inicial en el mensaje. Cada mensaje enviado por este servidor tiene el espacio inicial. Lo anterior es solo un ejemplo usando logger.

rsyslogd 8.4.2, compilado con:
FEATURE_REGEXP: Sí
Compatibilidad con GSSAPI Kerberos 5: No
FEATURE_DEBUG (construcción de depuración, código lento): No
Compatible con operaciones atómicas de 32 bits: Sí
Compatible con operaciones atómicas de 64 bits: Sí
asignador de memoria: predeterminado del sistema
Instrumentación de tiempo de ejecución (código lento): No
soporte uuid: Sí
Número de bits en enteros RainerScript: 64

Este comportamiento también se puede observar en la captura de paquetes de este tráfico (TLS deshabilitado para probar, por supuesto).
0x0070: 202d 202d 2020 7465 7374 3132 330a .-.-..test123.

Si hay alguna información adicional que pueda proporcionar o si mi caso de prueba/configuración tiene fallas, hágamelo saber. ¡Gracias! :sonrisa:

Comentario más útil

El mmrm1stspace se agregó en v8.24.0.

Comentando aquí ya que encontré este problema primero al buscar con Google.

Todos 3 comentarios

El espacio inicial está ahí porque el mensaje se originó en el formato RFC3164, y si hay un espacio después de la etiqueta (y este suele ser el caso), es parte del campo MSG. Como tal, MSG en realidad comienza con un espacio. Si desea eliminar ese espacio, puede hacerlo a través del procesador de plantillas, si es necesario utilizando la lógica condicional (si es necesario procesar los mensajes originados en 3164 y 5424).

El mmrm1stspace se agregó en v8.24.0.

Comentando aquí ya que encontré este problema primero al buscar con Google.

Este hilo se ha bloqueado automáticamente ya que no ha habido ninguna actividad reciente después de que se cerró. Abra un nuevo problema para los errores relacionados.

¿Fue útil esta página
0 / 5 - 0 calificaciones