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:
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.
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.