我正在使用FIX filter plugin来处理我们的一些FIX日志。在这些消息中,我们收到多个自定义字段这是在grok过滤器之外。 我将我关注的邮件传递到此辅助修补程序插件
我们的一些消息例如如下:
"unknown_fields" => [
[0] "5000",
[1] "9723",
],
"5000" => "FOOBARVAL",
"9723" => "BAZBOOHUM",
"IDSource" => "RIC_CODE",
我是否可以使用mutate
或其他基于正则表达式的过滤器(^\d+$
)删除标记?
更具体地说,是否有一种方法可以删除我知道将是自定义FIX字段的所有整数字段(例如5000)?
答案 0 :(得分:3)
我很欣赏其他答案,但我最终使用了prune
过滤器插件。
prune {
blacklist_names => ["[0-9]+", "unknown_fields", "tags"]
}
答案 1 :(得分:1)
这个答案与这个答案非常相似:https://stackoverflow.com/a/27396056/2785358
您可以执行以下操作来匹配正则表达式:
filter {
ruby {
code => "
event.to_hash.keys.each { |k|
if k.match(/^\d+$/
event.remove(k)
end
}"
}
}