Rsyslog: Espaço líder em mensagens formatadas em RFC5424

Criado em 22 nov. 2014  ·  3Comentários  ·  Fonte: rsyslog/rsyslog

Ao aproveitar o modelo RSYSLOG_SyslogProtocol23Format para enviar mensagens, o campo MSG contém um espaço à esquerda.

A seguinte configuração está sendo usada:

$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

A emissão do comando logger test123 resulta no envio da seguinte mensagem ao servidor. Observe os dois espaços após o NILVALUE para o campo de dados estruturados:
<13>1 21-11-2014T19:02:19.219331-06:00 host1 user1 - - - test123

O log acima é mapeado para o formato de mensagem RFC5424 da seguinte forma:
PRI = <13>
VERSÃO = 1
TIMESTAMP = 2014-11-21T19:02:19.219331-06:00
HOSTNAME = host1
APP-NAME = usuário1
PROC-ID = -
MSGID = -
DADOS ESTRUTURADOS = -
MSG = 'teste123'

O valor do campo MSG é colocado entre aspas simples acima para ilustrar o espaço à esquerda na mensagem. Cada mensagem enviada por este servidor tem o espaço principal. O acima é apenas um exemplo usando o logger.

rsyslogd 8.4.2, compilado com:
FEATURE_REGEXP: Sim
Suporte GSSAPI Kerberos 5: Não
FEATURE_DEBUG (compilação de depuração, código lento): Não
Operações atômicas de 32 bits suportadas: Sim
Operações atômicas de 64 bits suportadas: Sim
alocador de memória: padrão do sistema
Instrumentação de tempo de execução (código lento): Não
suporte uuid: sim
Número de bits em inteiros RainerScript: 64

Esse comportamento também pode ser observado na captura de pacotes desse tráfego (TLS desabilitado para teste, é claro).
0x0070: 202d 202d 2020 7465 7374 3132 330a .-.-..test123.

Se houver alguma informação adicional que eu possa fornecer ou se meu caso de teste/configuração estiver com defeito, por favor me avise. Obrigado! :sorriso:

Comentários muito úteis

O mmrm1stspace foi adicionado na v8.24.0.

Comentando aqui desde que encontrei esse problema primeiro ao pesquisar usando o Google.

Todos 3 comentários

O espaço à esquerda está lá porque a mensagem foi originada no formato RFC3164 e, se houver um espaço após a tag (e geralmente é o caso), isso faz parte do campo MSG. Como tal, o MSG realmente começa com um espaço. Se desejar remover esse espaço, você pode fazê-lo através do processador de modelo, se necessário usando lógica condicional (se as mensagens originadas 3164 e 5424 precisarem ser processadas).

O mmrm1stspace foi adicionado na v8.24.0.

Comentando aqui desde que encontrei esse problema primeiro ao pesquisar usando o Google.

Este tópico foi bloqueado automaticamente, pois não houve nenhuma atividade recente depois que ele foi fechado. Por favor, abra um novo problema para bugs relacionados.

Esta página foi útil?
0 / 5 - 0 avaliações