o encaminhamento do rsyslog udp trunca em 2048 caracteres

6

O Rsyslog em um servidor RHEL 6 está recebendo mensagens localmente na porta 514 UDP. Essas mensagens são, às vezes, muito maiores do que os tamanhos normais das mensagens do syslog. Eu estou vendo rsyslog lidar com todas as mensagens muito bem, escreve para os arquivos locais sem problema. No entanto, quando eu adiciono um host remoto ao rsyslog config, essas mesmas mensagens grandes são truncadas em cerca de 2048 caracteres.

Estou executando a versão do rsyslogd: 5.8.10

rsyslogd 5.8.10, compiled with:
  FEATURE_REGEXP:               Yes
  FEATURE_LARGEFILE:            No
  GSSAPI Kerberos 5 support:        Yes
  FEATURE_DEBUG (debug build, slow code):   No
  32bit Atomic operations supported:    Yes
  64bit Atomic operations supported:    Yes
  Runtime Instrumentation (slow code):  No

As únicas alterações que fiz no rsyslog conf são estas duas coisas abaixo:

Isso está no topo do meu arquivo conf do rsyslog:

 $MaxMessageSize 64k

Esta é a parte inferior do arquivo conf do rsyslog:

$template RemoteHost,"<%%PRI%>%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogtag:1:32%%msg:::sp-if-no-1st-sp%%msg%
*.* @my-rsyslog-central-logger:514; RemoteHost

Alguém sabe por que o rsyslog estaria truncando os logs sobre o UDP para o host remoto, mas é capaz de manipular os logs ao gravá-los nos arquivos locais?

** Note que verifiquei que não estava acontecendo no host rsyslog remoto, usando o netcat para escutar em uma porta local que o rsyslog estava encaminhando para o UDP.

** Observe que tentei o TCP e ele não truncou a mensagem grande encaminhada, então agora a pergunta é por que o UDP é truncado. (Eu estou supondo que a resposta pode estar relacionada às propriedades do UDP, mas eu ainda quero saber e talvez corrigi-lo, se possível, para mensagens encaminhadas pelo UDP)

    
por nictrix 20.02.2014 / 01:22

1 resposta

3

O UDP não tem números de sequência, não haveria maneira de combinar as mensagens de forma coerente (se elas chegarem fora de ordem)

Transporte do UDP do Syslog - link

3.1. Uma mensagem por datagrama

Cada datagrama UDP do syslog DEVE conter apenas uma mensagem syslog, que    PODE ser completo ou truncado. A mensagem DEVE ser formatada e    truncado de acordo com a RFC 5424 [2]. Dados adicionais NÃO DEVEM ser    presente na carga útil do datagrama.

    
por 20.02.2014 / 04:36