Ich habe eine Protokolldatei, die ein Array von Objekten ist, die etwa wie folgt aussieht:Parsing eine Reihe von JSON-Objekten in Logstash
[
{ "cate1": "data1a", "cate2": "data2a" },
{ "cate1": "data1b", "cate2": "data2b" },
{ "cate1": "data1c", "cate2": "data2c" }
]
und ich brauche jedes Objekt im Array ein eigener Eintrag in Elasticsearch zu sein und Jedes "Cate" ist ein Feld. Meine aktuelle logstash.conf Datei ist:
input {
tcp {
port => 5000
}
}
## Add your filters/logstash plugins configuration here
filter {
json {
source => "message"
target => "event"
}
mutate {
gsub => ["message","\]",""]
gsub => ["message","\[",""]
}
}
output {
elasticsearch {
hosts => "elasticsearch:9200"
}
}
aber es Tags jede Zeile mit „_jsonparsefailure“ außer dem ersten Eintrag und es analysiert die quadratischen als auch Klammern. Wie würde ich Logstash konfigurieren, um dies richtig zu machen?
Bitte zeigen Sie uns, was die Ausgabe aussieht, als auch, was Ihre config/Ausgabe waren, wenn Sie den json Codec –