2016-11-24 1 views
0

J'utilise Grok filter dans Logstash pour décomposer un long message en plusieurs champs.Champ Logstash Grok get number

L'exemple Message: http://localhost:8080/MRLService/api/v1/reportNotes 24/11/2016 10:59:49 8ms pays = AUS pesticides = ABA3000

filtre: Filtre {{ grok match => { "log4j2_message" => « % {URIPATH : url}% {DATESTAMP: startTime}% {nUMÉRO: timeTaken} ms% {GREEDYDATA: paramètres} "}} }

il fonctionne très bien, sauf la timeTaken (8) est de type chaîne au lieu du type de numéro I supposé ,

mapping list

Quelqu'un pourrait-il dire comment faire du champ de temps en tant que numéro dans Logstash?

Merci, Sean

Répondre

0

Le dernier est le type

{NUMBER:timeTaken:int}

ou tout simplement convertir le dépôt en int ou float (suggère pas à cause de cela descend alors les performances de la première méthode)

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

Merci, cela ne fonctionne pas. –