Logstash Grok 获取数字字段

Logstash Grok get number field

我在 Logstash 中使用 Grok 过滤器将一条长消息分成几个字段。

示例消息:http://localhost:8080/MRLService/api/v1/reportNotes 11-24-2016 10:59:49 8ms country=AUS pesticide=ABA3000

过滤器:过滤器{ grok {match => {"log4j2_message" => "%{URIPATH:url} %{DATESTAMP:startTime} %{NUMBER:timeTaken}ms %{GREEDYDATA:parameters}"}} }

它工作正常,除了 timetaken (8) 是字符串类型而不是我认为的数字类型,

谁能告诉我如何在 Logstash 中将 timetaken 字段设为数字?

谢谢, 肖恩

最后一个是类型

{NUMBER:timeTaken:int}

或者只是将字段转换为 int 或 float(不建议这样做,因为这会降低第一种方法的性能)

mutate {
   convert => [ "[geoip][coordinates]", "float"]
}