我想以下列格式检测不包含日期和时间的行,这些行应汇总到上一行:
28.04.2017;15:13:30.276
所以我创建了一个这样的自定义grok模式:
MLINE %{MONTHDAY}\.%{MONTH}\.%{YEAR};%{TIME}
这是我的多线配置:
codec => multiline {
pattern => "%{MLINE}"
negate => true
what => "previous"
}
我的期望是,如果进入logstash的日志行不包含%{MLINE}
,那么它应该聚合到上一行。
但这并没有发生,我不明白为什么。基本上,每个日志行都被认为是聚合的,并且logstash将很快因缓存限制而结束。
我做错了什么?
答案 0 :(得分:1)
%{MONTH}
模式匹配八月,二月,九月等字。你想要%{MONTHNUM}
模式。
您想要的模式是:
MLINE %{MONTHDAY}\.%{MONTHNUM}\.%{YEAR};%{TIME}
我使用具有多线工具的grok constructor对此进行了测试。