2017-08-29 4 views
0

Je suis nouveau dans la pile ELK. Voulant pousser des données en utilisant un pipeline de filebeat vers logstash, cela va pousser les données à élastique. Ma configuration est comme ci-dessous:Logstash Config Erreur

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

Le problème est quand je fais un bin/logstash -f first-pipeline.conf --config.test_and_exit. Il me jette une erreur indiquant:

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

Quelqu'un peut-il indiquer où je vais mal?

Répondre

2

Vous manque une accolade fermante dans votre elasticsearch sortie

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

Lol Cela doit être la chose la plus stupide. Je ne peux pas croire que je l'ai manqué. Merci. Ça fonctionne maintenant. –

+0

Parfois, c'est juste en face de vous :-) Content que ça marche maintenant – Val