Ich versuche, JSON-Daten aus meiner Protokolldatei mylogs.log
zu importieren. Im Folgenden ist meine Logstash-Konfigurationsdatei.Kann JSON-Daten von Logstash nicht importieren
input {
stdin { }
file {
codec => "json"
path => "/logs/mylogs.log"
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
filter{
json{
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "jsonlog"
}
stdout { codec => rubydebug }
file {
path => "/logs/out.log"
}
}
Nach dieser Config-Datei ausgeführt wird, wenn ich irgendwelche JSON-Daten übergeben es Parse & bekommen schickt Instanz Elasticsearch. Ich kann von Elasticsearch-Instanz sehen. Aber unabhängig davon, welche Daten in der Protokolldatei vorhanden sind, werden diese nicht durch logstash importiert.
Auch wenn ich manuell JSON Daten hinzufügen, die Parsen von Logstash & senden Elasticsearch Instanz senden ... diese Daten auch nicht gettign in meiner OUTPUT-Datei angemeldet.
Weiß nicht, was das Problem ist.
Meine Beispiel-JSON-Daten, die ich verwende.
{ "logger":"com.myApp.ClassName", "timestamp":"1456976539634", "level":"ERROR", "thread":"pool-3-thread-19", "message":"Danger. There was an error", "throwable":"java.Exception" }
{ "logger":"com.myApp.ClassName", "timestamp":"1456976539649", "level":"ERROR", "thread":"pool-3-thread-16", "message":"I cannot go on", "throwable":"java.Exception" }
Ok. Ich habs!!! Durch das Entfernen des '' 'json''' Filters aus der Konfigurationsdatei' '_jsonparsefailure''' wurde dieser behoben. :) – mi6crazyheart