在logstash中将字符串转换为float

时间:2017-02-21 12:02:09

标签: variables elasticsearch logstash kibana

我用过

filter {
    mutate {
        convert => { 
            "Availability"  => "float" 
        }
    }
}

将一些字段转换为在logstash中的.csv文件中浮动。我没有收到任何错误,但我没有得到预期的输出,即字符串没有转换为float。我也试过这种格式

grok {
   match => [ "Basic", " %{NUMBER:Basic:float}"]
}

(请注意,grok方法是我在这里完成的一个示例,我的意思是没有将字符串转换为float的正确方法)

1 个答案:

答案 0 :(得分:0)

之前我见过这种行为。在我的例子中,我试图进行类型转换的字段也被另一种类型使用。这些字段没有进行类型转换。当我使用每日旋转索引时,当uncast字段首先命中索引时,字段类型为string。当施法场首先击中指数时,它是integer

如果这是您的问题,有两种方法可以解决它:

  1. 搜索您的字段数据,找出使用Availability的所有情况。按照你投射它的方式输入它们。
  2. 通过更新logstash索引的ElasticSearch模板以在创建索引时将该字段强制转换为float来强制解决此问题。进入的字符串将被强制为float或删除。