我有一个日志模式就是这种形式。
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
中创建键值映射,然后发送特定键吗???
有什么建议吗?
答案 0 :(得分:2)
您可以使用kv过滤器来解析其他部分。像:
grok {
match => { "message" => "%{GREEDYDATA:fieldValue1}\|%{GREEDYDATA:fieldValue2}\|%{GREEDYDATA:fieldValue3}\|%{GREEDYDATA:fieldValue4}\|%{GREEDYDATA:fieldValue5}\| %{GREEDYDATA:keyValue}" }
}
kv {
source => "keyValue"
}