Ich benutze 'filebeat' als Versender und der Client sende es an redis, lese von redis mit logstash und sende es an ES.Logstash filter - halb json line parse
Ich versuche, die folgende Beispiel Zeilen zu analysieren:
09:24:01.969 watchdog - INFO - 100.140.2 PASSED: Mobile:Mobile[].popover["mc1814"].select(2,) :706<<<<<<<<<<<<<<<<<<< {"actionDuration":613}
Am Ende hat ich einen Feldnamen haben will: „ActionDuration“ mit dem Wert: 613.
Wie Sie sehen können Es ist teilweise JSON. - Ich habe versucht, grok Filter zu verwenden, mit add_field und match und ich habe versucht, ein paar Konfigurationen im Dateibeat und logstash zu ändern.
Ich verwende die Grundkonfigurationen: filebeat.conf:
filebeat.prospectors:
input_type: log
paths:
- /sketch/workspace/sanity-dev-kennel/out/*.log
fields:
- type: watchdog
- BUILD_ID: 82161
Wenn es eine Möglichkeit, es in der filebeat Seite zu tun ich lieber, aber es ist auch gut in der Logstash Seite.
Vielen Dank, Moshe
Danke für die schnelle Antwort, Ich erhalte die folgende Fehlermeldung: „json_error“: „Fehler Dekodierung JSON: json: nicht Abstellungs Zahl in Go Wert vom Typ map [string] Schnittstelle {}“, –
Es spielt keine Funktioniert mir nicht, ich benutze die ELK 5.1.1 Stack Version, BTW gibt es am Ende einige Logs ohne den JSON. –
haben Sie eine Idee, es zu lösen? –