Logstash grok 过滤数据为 NUMBER,但为什么 Kibana 中过滤后的数据仍然显示为 String
Logstash grok filtered data as NUMBER, but why the filtered data in Kibana still dislay as String
作为一个elk新手,我在Logstash中使用grok filter将数字数据过滤为一个字段:%{NUMBER:duration}
。但是当我使用 Kibana 浏览过滤后的数据时,我从它的设置选项卡中看到字段 - duration - 仍然是 Sting 数据类型。
我确实需要这个字段作为 Number 数据类型,也在 Kibana Web 控制台中,以便我可以在可视化中使用它。任何人都知道如何解决这个问题?提前致谢
从 Logstash 到 Elasticsearch 的所有字段都存储为字符串。如果您想更改数据类型,您需要在 Logstash 配置文件中明确提及它。
假设您的字段名称是持续时间,在过滤器内的 Logstash 配置文件中使用 mutate 过滤器将字段从字符串转换为整数。如下所示:-
mutate {
convert => { "duration" => "integer" }
}
它现在将在 Elasticsearch 中将持续时间字段存储为整数,您可以在 Kibana 中将其可视化为整数字段。
作为一个elk新手,我在Logstash中使用grok filter将数字数据过滤为一个字段:%{NUMBER:duration}
。但是当我使用 Kibana 浏览过滤后的数据时,我从它的设置选项卡中看到字段 - duration - 仍然是 Sting 数据类型。
我确实需要这个字段作为 Number 数据类型,也在 Kibana Web 控制台中,以便我可以在可视化中使用它。任何人都知道如何解决这个问题?提前致谢
从 Logstash 到 Elasticsearch 的所有字段都存储为字符串。如果您想更改数据类型,您需要在 Logstash 配置文件中明确提及它。
假设您的字段名称是持续时间,在过滤器内的 Logstash 配置文件中使用 mutate 过滤器将字段从字符串转换为整数。如下所示:-
mutate {
convert => { "duration" => "integer" }
}
它现在将在 Elasticsearch 中将持续时间字段存储为整数,您可以在 Kibana 中将其可视化为整数字段。