Ich versuche, herauszufinden, lesen, wie in einer JSON-Datei mit Logstash zu lesen, die alle Ereignisse auf einer einzigen Zeile enthältLogstash: Wie einzeiligen JSON
Probeneingang:
{"metadata": {"metadata fields": "metadata data"},"results": [{"events":[{"event fields": "event data"}, {"event fields": "event data"}}],"field": {"more fields": "data"}}
Expanded JSON:
{
"metadata": {
"metadata fields": "metadata data"
},
"results": [{
"events": [{
"event fields": "event data"
}, {
"event fields": "event data"
}
}], "field": {
"more fields": "data"
}
}
ich habe gerade versucht, aber die JSON-Codec verwenden, wenn ich laufe Logstash es hängt nach erfolgreich gestartet Druck. Eine andere Sache, die ich ausprobiert habe, ist das Hinzufügen einer neuen Zeile am Ende von JSON, aber das wird nicht in der Produktion funktionieren, weil ich keine Kontrolle über die Quelle der Logs habe.
Hat jemand irgendwelche Vorschläge, wie diese Logs korrekt durch Logstash analysiert werden? Unten ist meine Konfigurationsdatei. Danke im Voraus!
Config
input {
file {
path => "C:/Folder/*.json"
sincedb_path => "C:\nul"
start_position => "beginning"
codec => "json"
type => "data"
}
}
output {
stdout { codec => rubydebug }
}
Das ist nicht gültig JSON. Wahrscheinlich der Grund, warum es nicht funktioniert. – Fairy
Haben Sie irgendwelche Ideen, wie ich es dann analysieren kann? – Mielzus
Einige aufwendige 'Grok' Filter wird den Job machen. – Fairy