【发布时间】:2017-04-28 13:21:26
【问题描述】:
我想检测不包含以下格式的日期和时间的行,这些行应该聚合到上一行:
28.04.2017;15:13:30.276
所以我创建了一个这样的自定义 grok 模式:
MLINE %{MONTHDAY}\.%{MONTH}\.%{YEAR};%{TIME}
这是我的多行配置:
codec => multiline {
pattern => "%{MLINE}"
negate => true
what => "previous"
}
我的预期是,如果来到logstash的日志行不包含%{MLINE},那么它应该聚合到上一行。
但这并没有发生,我不明白为什么。基本上每个日志行都被认为是聚合的,并且logstash由于缓存限制很快就会结束。
我做错了什么?
【问题讨论】:
-
我的错,当然应该是
%而不是$。我编辑了这个问题。但它仍然不能正确聚合 -
还是不行
-
其实如果只使用
MLINE模式进行多行匹配,命名是没有效果的 -
使这些 cmets 易于理解的评论已被删除
标签: pattern-matching logstash logback multiline syslog