logstash multiline pattern检测应聚合的行

时间:2017-04-28 13:21:27

标签: pattern-matching logstash logback multiline syslog

我想以下列格式检测不包含日期和时间的行,这些行应汇总到上一行:

28.04.2017;15:13:30.276

所以我创建了一个这样的自定义grok模式:

MLINE %{MONTHDAY}\.%{MONTH}\.%{YEAR};%{TIME}

这是我的多线配置:

        codec => multiline {
            pattern => "%{MLINE}"
            negate => true
            what => "previous"
        }

我的期望是,如果进入logstash的日志行不包含%{MLINE},那么它应该聚合到上一行。

但这并没有发生,我不明白为什么。基本上,每个日志行都被认为是聚合的,并且logstash将很快因缓存限制而结束。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

%{MONTH}模式匹配八月,二月,九月等字。你想要%{MONTHNUM}模式。

您想要的模式是:

MLINE %{MONTHDAY}\.%{MONTHNUM}\.%{YEAR};%{TIME}

我使用具有多线工具的grok constructor对此进行了测试。

相关问题