我正在考虑使用mutate过滤器和rename选项,但我不知道相应的正则表达式来实现:
filter {
mutate {
rename => {
"any_field_with_underscore" => "anyfieldwithunderscore" # i don't know how to write regex for this ...
}
}
}
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
文档中没有迹象表明rename{}需要regexp.
我已经看到过这个ruby{}过滤器.
根据要求,这里有一些未经测试的 Ruby:
begin
keys = event.to_hash.keys
keys.each{|key|
if ( key =~ /_/ )
newkey = key.gsub(/_/, '')
event[newkey] = event.remove(key)
end
}
rescue Exception => e
event['logstash_ruby_exception'] = 'underscores: ' + e.message
end
Run Code Online (Sandbox Code Playgroud)