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