Logstash grok将数据过滤为NUMBER,但为什么Kibana中的过滤数据仍然以String形式显示

时间:2016-06-09 19:57:18

标签: elastic-stack

作为麋鹿新手,我在Logstash中使用grok过滤器将数字数据过滤为字段:%{NUMBER:duration}。但是当我使用Kibana浏览过滤后的数据时,我从其设置选项卡中看到字段 - 持续时间 - 仍然是Sting数据类型。

我确实在Kibana Web控制台中也需要此字段作为Number数据类型,以便我可以在可视化中使用它。任何人都知道如何解决这个问题?提前致谢

1 个答案:

答案 0 :(得分:0)

从Logstash到Elasticsearch的所有字段都存储为String。如果要更改数据类型,则需要在Logstash配置文件中明确提及它。

假设您的字段名称是持续时间,请在过滤器内的Logstash配置文件中使用mutate过滤器将字段从String转换为Integer。如下所示: -

mutate {
convert => { "duration" => "integer" }
       }

现在它将在Elasticsearch中将持续时间字段存储为Integer,您可以在Kibana中将其显示为整数字段。