2016-12-27 6 views
0

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" } 

Antwort

0

OK, nach dem Erstellen der folgenden Änderung Dateipfad Plugin in Lagdash Konfigurationsdatei es funktioniert jetzt.

input { 
    stdin { } 

    file { 
     codec => "json" 
     path => "/home/suresh/Desktop/tools/logstash-5.1.1/logs/mylogs.log" 
     start_position => "beginning" 
     sincedb_path => "/dev/null" 
    } 
} 

filter{ 
    json{ 
     source => "message" 
    } 
} 

output { 
    elasticsearch { 
     hosts => ["localhost:9200"] 
     index => "jsonlog2" 
    } 

    stdout { codec => rubydebug } 

    file { 
     path => "/home/suresh/Desktop/tools/logstash-5.1.1/logs/out.log" 
    } 
} 

Aber ich bin immer einen Fehler von "tags" => [ [0] "_jsonparsefailure" ]

Antwort von Console-

{ 
      "path" => "/home/suresh/Desktop/tools/logstash-5.1.1/logs/mylogs.log", 
    "@timestamp" => 2016-12-27T09:56:08.854Z, 
     "level" => "ERROR", 
     "logger" => "com.myApp.ClassName", 
    "throwable" => "java.Exception", 
     "@version" => "1", 
      "host" => "BLR-SOFT-245", 
     "thread" => "pool-3-thread-19", 
     "message" => "Danger. There was an error", 
    "timestamp" => "1456976539634", 
      "tags" => [ 
     [0] "_jsonparsefailure" 
    ] 
} 
+0

Ok. Ich habs!!! Durch das Entfernen des '' 'json''' Filters aus der Konfigurationsdatei' '_jsonparsefailure''' wurde dieser behoben. :) – mi6crazyheart

Verwandte Themen