我们每天使用syslog-ng解析数百万条消息,并且正在实施patterndb。
由于消息的组成方式不一致,在一小部分情况下,我的模式不足以捕获消息的字段(间隔关闭,或者有时字段完全丢失)。
我该如何处理这些案件?理想情况下,我的日志目标中的解析器条目将评估为false(如过滤器),并且它将由我的后备日志目标捕获。
答案 0 :(得分:0)
尝试设置drop-unmatched(是)(需要syslog-ng OSE 3.11或更高版本):
parser pattern_db {
db-parser(
file("/opt/syslog-ng/var/db/patterndb.xml")
drop-unmatched(yes)
);
};
此外,最近的syslog-ng版本有几种不同的解析器,对于某些日志消息可能比patterndb更好,例如JSON and key=value parsers。