我遵循了logstash关于multiline的文档,并尝试用基本的stdin & &;标准输出配置,但它似乎不工作。标记"multiline"被添加到下一个消息中,但是它们以"_grokparsefailure"标记作为单独的条目结束。
我错过了什么?
编辑:作为参考,我使用stacktrace多行过滤器
好吧,这个有点棘手,所以我想如果我在这里给出解决方案可能会很感激。我在这篇文章中发现:多行触发只有当下一行出现得很快(在1~2秒内)。所以在实验时,如果你花时间复制和粘贴每一行,你会认为它不起作用,而实际上它起作用了。
请遵循博客中提到的示例。我用这种方法成功地实现了multiline。
要了解更多信息,请提供您的配置以及示例输入消息。
这是我的配置。我使用Logstash multiline
中的示例input {
stdin {
}
}
filter {
multiline {
# Grok pattern names are valid! :)
pattern => "^%{TIMESTAMP_ISO8601} "
negate => true
what => previous
}
}
output {
stdout {debug => true}
}
有了这个日志,多行功能对我起作用了。
2014-02-24 10:00:01 abcde
1qaz
2014-01-01 11:11:11
2wsx
我逐条输入日志,每一行之间等待1分钟。所以,我没有遇到你的问题。请验证您的配置。