2016-11-24 5 views
0

Я использую фильтр Grok в Logstash, чтобы разбить одно длинное сообщение на несколько полей.Logstash Grok get number field

Пример сообщения: http://localhost:8080/MRLService/api/v1/reportNotes 11-24-2016 10:59:49 8ms страна = AUS пестицид = ABA3000

фильтр: фильтр { Grok {матч => { "log4j2_message" => «% {URIPATH : URL}% {DATESTAMP: начальный промежуток}% {нОМЕР: TimeTaken} мс% {GREEDYDATA: параметры} "}} }

он работает нормально, кроме TimeTaken (8) является строкой типа вместо типа номера я должен ,

mapping list

Не могли бы вы рассказать, как сделать поле timetaken в качестве номера в Logstash?

Спасибо, Шон

ответ

0

Последний тип

{NUMBER:timeTaken:int}

или просто Преобразовать подал в целое или с плавающей точкой (не предполагают в связи с этим будет снижать производительность, то первый метод)

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

Спасибо, это действительно работает. –