【发布时间】:2016-03-04 13:05:26
【问题描述】:
我想将所有 metrics* 字段转换为用于 logstash 的浮点数。对于像
这样的结构{
"metric1":"1",
"metric2":"2"
}
我想做类似的事情
mutate {
convert => {"metric*" => "float" }
}
这可能吗?
【问题讨论】:
标签: logstash logstash-grok logstash-configuration
我想将所有 metrics* 字段转换为用于 logstash 的浮点数。对于像
这样的结构{
"metric1":"1",
"metric2":"2"
}
我想做类似的事情
mutate {
convert => {"metric*" => "float" }
}
这可能吗?
【问题讨论】:
标签: logstash logstash-grok logstash-configuration
不使用这样的红宝石过滤器是不可能的:
ruby {
code => "
event.to_hash.keys.each { |k|
if k.start_with?('metric') and event[k].is_a?(String)
event[k] = event[k].to_float
end
}
"
}
所以基本上查看事件中的所有键,如果它们以公制开头,则将它们转换为浮点数。 is_a?(String) 是为了以防万一你得到一个数组字段(因为.to_float 不会在它上面工作)
【讨论】: