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)