【问题标题】:Match multiple field names in logstash mutate filter在 logstash mutate 过滤器中匹配多个字段名称
【发布时间】:2016-03-04 13:05:26
【问题描述】:

我想将所有 metrics* 字段转换为用于 logstash 的浮点数。对于像

这样的结构
{
  "metric1":"1",
  "metric2":"2"
}

我想做类似的事情

mutate {
   convert => {"metric*" => "float" }
}

这可能吗?

【问题讨论】:

    标签: logstash logstash-grok logstash-configuration


    【解决方案1】:

    不使用这样的红宝石过滤器是不可能的:

      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 不会在它上面工作)

    【讨论】:

      猜你喜欢
      • 2016-02-23
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-13
      相关资源
      最近更新 更多