2017-08-29 2 views
0

Ich bin neu auf dem ELK-Stack. Wollte Daten mit einer Pipeline von Dateibeat zu Logstash pushen, das würde Daten an Elastic übertragen. Meine Konfiguration ist wie folgt:Logstash Config Fehler

input { 
beats { 
    port => "5043" 
    } 
} 

filter { 
    grok { 
match => { "message" => "\A%{TIMESTAMP_ISO8601:timestamp}%{SPACE}%{WORD:var0}%{SPACE}%{NOTSPACE}%{SPACE}(?<searchinfo>[^#]*)#(?<username>[^#]*)#(?<searchQuery>[^#]*)#(?<latitude>[^#]*)#(?<longitude>[^#]*)#(?<client_ip>[^#]*)#(?<responseTime>[^#]*)" } 
    } 
} 


output { 
    stdout { codec => rubydebug } 
     elasticsearch { 
      index => "logstash_logs" 
      document_type => "logs" 
      hosts => [ "localhost:9200" ] 
} 

Das Problem ist, wenn ich eine bin/logstash -f first-pipeline.conf --config.test_and_exit mache. Es wirft mich einen Fehler mit der Angabe:

17:55:37.691 [LogStash::Runner] FATAL logstash.runner - The given configuration is invalid. Reason: Expected one of #, if, ", ', } at line 22, column 1 (byte 487) after output { 
stdout { codec => rubydebug } 
    elasticsearch { 
     index => "logstash_logs" 
     document_type => "logs" 
     hosts => [ "localhost:9200" ] 
} 

Kann jemand darauf hinweisen, wo ich falsch liege?

Antwort

2

Sie verpassen eine schließende geschweifte Klammer in Ihrem elasticsearch Ausgang

output { 
    stdout { codec => rubydebug } 
    elasticsearch { 
    index => "logstash_logs" 
    document_type => "logs" 
    hosts => [ "localhost:9200" ] 
    }  <--- this is missing 
} 
+0

Lol dies hat zu den meisten Dümmste, was zu sein. Ich kann nicht glauben, dass ich es verpasst habe. Vielen Dank. Es funktioniert jetzt. –

+0

Manchmal ist es direkt vor dir :-) Froh, dass es jetzt funktioniert – Val