(centos 7.x)
我有syslog设置来解析snmptrapd消息,这样我就可以为以后的消化设置它们的格式。问题是syslog-ng只输出n-1消息。如果snmptrapd.log中有10行syslog-ng,则只输出9行。如果我向snmptrapd (消息#11)发送一条新消息,那么syslog将输出第10条消息。
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我尝试在format2的末尾增加一个换行符,但是没有帮助。(snmptrapd.log确实获得了额外的行)
发布于 2020-07-04 09:49:29
目前,snmptrap()源被实现为解析snmptrapd输出的文件源。snmptrapd日志是多行的,根据即将出现的消息的前缀检测给定消息的结尾,因此出现意外行为。这些都是这个插件的丑陋的实现细节(限制),它最终可能会被适当的SNMP陷阱源所取代。
作为解决办法,您可以将multi-line-timeout(10)设置为以10秒延迟处理最后一条消息。
https://serverfault.com/questions/1022358
复制相似问题