Ошибка конфигурации Logstash

Я новичок в стеке ELK. Хотел передать данные с помощью конвейера от filebeat до logstash, который будет передавать данные в эластичный. Моя конфигурация следующая:

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

Проблема в том, когда я делаю bin/logstash -f first-pipeline.conf --config.test_and_exit. Это вызывает у меня сообщение об ошибке:

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

Кто-нибудь может указать, в чем я ошибаюсь?


person iam.Carrot    schedule 29.08.2017    source источник


Ответы (1)


В выводе elasticsearch отсутствует закрывающая фигурная скобка

output {
  stdout { codec => rubydebug }
  elasticsearch {
     index => "logstash_logs"
     document_type => "logs"
     hosts => [ "localhost:9200" ]
  }     <--- this is missing
}
person Val    schedule 29.08.2017
comment
Лол, это наверное самая глупая вещь. Не могу поверить, что пропустил это. Спасибо. Теперь это работает. - person iam.Carrot; 29.08.2017
comment
Иногда это прямо перед вами :-) Рад, что теперь работает - person Val; 29.08.2017