您是说如果该
calc字段存在,第一行和第二行将合并为一个Envet?
如果是,以下答案可以为您提供帮助。您的多行模式不正确。请参考此配置:
input { stdin{}}filter { if [message] =~ "val" { grok { match => ["message", "val=%{WORD:calc}"] } } multiline { pattern => "(val)" what => "next" }}output { stdout { prec => "rubydebug" }}
多行中的模式是当
message字段中有
val单词时,您遇到该模式,它将与第二行多行合并。在您的例子中,你使用
[cal]这方式时,
message现场有
cal字,但是,没有任何
cal的
message领域。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)