多行过滤器中存在一个已知问题,即它不会打印正在过滤的输入的最后部分,因为它仍在等待模式跟随并且不会被刷新。
问题是否已得到解决。如果是这样的话?是否有标记清除最后一部分?
答案 0 :(得分:0)
根据JIRA https://logstash.jira.com/browse/LOGSTASH-1785,冲洗功能应该在logstash 1.5中,尽管实验" 1.4.2的功能将enable_flush
添加到multiline filter。我没有亲自测试,看看是否修复了最后一次事件的刷新问题。
答案 1 :(得分:0)
使用Logstash 5.1.1,有auto_flush_interval
选项。
当看到匹配的新行或者此时auto_flush_interval没有附加新数据时,多行的累积将转换为事件。没有默认值。如果未设置,则不使用auto_flush。
来源:docs
只需设置
即可codec => multiline {
pattern => "^%{DATESTAMP_OTHER}"
what => "previous"
negate => true
# set to time in secs when to flush
auto_flush_interval => 15
}