我在Logstash中使用Grok过滤器将一条长消息分成几个字段。
示例消息:http://localhost:8080/MRLService/api/v1/reportNotes 11-24-2016 10:59:49 8ms country = AUS杀虫剂= ABA3000
filter:filter { grok {match => {“log4j2_message”=> “%{URIPATH:url}%{DATESTAMP:startTime}%{NUMBER:timeTaken} ms%{GREEDYDATA:parameters}”}} }
它正常工作,除了timetaken(8)是字符串类型而不是我想要的数字类型
有人可以告诉我们如何在Logstash中将timetaken字段设为数字吗?
谢谢, 肖恩
答案 0 :(得分:1)
最后一个是类型
{NUMBER:timeTaken:int}
或者只是将字段转换为int或float(不建议因为这会降低性能然后第一种方法)
mutate {
convert => [ "[geoip][coordinates]", "float"]
}