(centos 7.x)
Eu tenho configuração syslog-ng para analisar mensagens snmptrapd para que eu possa formatá-las para digestão posterior. O problema é que o syslog-ng apenas gera a mensagem n-1. IE, se houver 10 linhas no snmptrapd.log, o syslog-ng só gera 9 linhas. Se eu enviar uma nova mensagem para snmptrapd (mensagem #11), o syslog-ng produzirá a 10ª mensagem.
syslog-ng.conf:
@version:3.27
@include "scl.conf"
log {
source {
snmptrap(filename("/var/log/snmptrapd.log"));
};
destination {
file("/var/log/syslog-ng.log");
};
};
snmptrapd.conf:
authCommunity log,execute,net public
authCommunity log,execute,net localtrap
format2 %.4y-%.2m-%.2l %.2h:%.2j:%.2k %B [%b]:\n%v\n
outputOption s
Eu tentei adicionar uma nova linha adicional ao final do format2 , mas isso não ajuda. (snmptrapd.log obtém a linha adicional)
Atualmente, a
snmptrap()
fonte é implementada como uma fonte de arquivo que analisa a saída de snmptrapd. Os logs do snmptrapd são de várias linhas, o final da mensagem fornecida é detectado com base no prefixo da próxima mensagem, daí o comportamento inesperado. Estes são detalhes de implementação feios (limitações) deste plugin, ele pode eventualmente ser substituído por uma fonte de trap SNMP adequada.Como solução alternativa, você pode configurar
multi-line-timeout(10)
para processar a última mensagem com um atraso de 10 segundos.