
Soy nuevo en el módulo syslog. Estoy intentando registrar mensajes con datos estructurados usando este parámetro en la plantilla. Pero muestra un valor nulo para datos estructurados. Estoy trabajando con rsyslogd 5.8.11 y rsyslogd 4.8.4 y para ambas versiones obtengo los mismos resultados.
Estoy usando la plantilla:
"<%PRI%>%TIMESTAMP:::date-rfc3339%%HOSTNAME%%syslogtag%%APP-NAME%%PROCID%%MSGID% %msg% %STRUCTURED-DATA%\n”
obteniendo el formato del mensaje como se muestra a continuación:
<142> 2015-01-29T06:43:53.081641-05:00 localhost login[2116]: login 2116 - [2116 : 2116 INFO]SERIAL Login from IP:127.0.0.1 user:admin -
¿Alguien puede decirme qué estoy haciendo mal? Solo quiero registrar un mensaje con datos estructurados con SD-ID, SD-PARAM en el archivo de registro.
Respuesta1
rsyslog puede emitir mensajes RFC5424 con datos estructurados.
¿Pero también tienes una manera de enviar mensajes RFC5424?a¿rsyslog? -- Debería funcionar si registra sus mensajes directamente a través de UDP o TLS. Pero si inicia sesión a través de las funciones tradicionales de BSD Syslog, no habrá ningún dato estructurado ni ningún MSGID. (AFAIK NetBSD tiene la única libc compatible con RFC5424 con unregistro del sistema()función.)
Respuesta2
También estoy tratando de lograr esto. Logré descubrir cómo emitir el formato de mensaje RFC5424 usando la plantilla RSYSLOG_SyslogProtocol23Format
. Sin embargo, no sé cómo agregar campos a los datos estructurados. Además, por si sirve de algo, estoy enviando/recibiendo correctamente el formato RFC5424 usando syslog-ng.