日志模式的grok过滤器

时间:2016-05-23 11:11:50

标签: regex elasticsearch logstash-grok

我有一个日志模式就是这种形式。

field1|field2|field3|field4|field5| key1=value1 key2=value2 key3=value3

键值对可以按任何顺序排列。 key2可能早于key1。

我能够解析field1-field5。不知道如何为键值对

执行此操作
%{GREEDYDATA:fieldValue1}\|%{GREEDYDATA:fieldValue2}\|%{GREEDYDATA:fieldValue3}\|%{GREEDYDATA:fieldValue4}\|%{GREEDYDATA:fieldValue5}\|

我可以在grok中创建键值映射,然后发送特定键吗??? 有什么建议吗?

1 个答案:

答案 0 :(得分:2)

您可以使用kv过滤器来解析其他部分。像:

grok {
    match => { "message" => "%{GREEDYDATA:fieldValue1}\|%{GREEDYDATA:fieldValue2}\|%{GREEDYDATA:fieldValue3}\|%{GREEDYDATA:fieldValue4}\|%{GREEDYDATA:fieldValue5}\| %{GREEDYDATA:keyValue}" }
 }
kv {
    source => "keyValue"
}