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"]
}
我在 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"]
}