Как правильно настроить LogStash для чтения из RabbitMQ и записи вывода в файл? - PullRequest
0 голосов
/ 16 октября 2019

Я хочу прочитать сообщения, опубликованные RabbitMQ, используя LogStash и записать ответ в виде одной строки JSON на файл в папку локально.

Я установил рабочий стол Docker и вытащил образ докера LogStash.

Я создал папку config, которая содержит следующий logstash.conf файл

#logstash.conf
input {
  rabbitmq{
    host => "xxxxx.com"
    port => 5672
    heartbeat => 30
    durable => true
    exchange => "xxxxx"
    exchange_type => "topic"
    user-id => "xxxx"
    password => "xxxx"
    key => "#xxxx#"
    queue => "xxxxx"}}


   output{
     file {
       path => "C:/logtest"}
     }
   }

Я затем в Windows CMD пишу docker run --rm -it -v C:/logstashconfig/ docker.elastic.co/logstash/logstash:6.0.1

Но я получаю ошибки.

Unable to retrieve license information from license server {:message=>"No Available connections", :class=>"LogStash::Outputs::ElasticSearch::HttpClient::Pool::NoConnectionAvailableError"}

И Предупреждение.

Attempted to resurrect connection to dead ES instance, but got an error. {:url=>"http://logstash_system:xxxxxx@elasticsearch:9200/", :error_type=>LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError, :error=>"Elasticsearch Unreachable: [http://logstash_system:xxxxxx@elasticsearch:9200/][Manticore::ResolutionFailure] elasticsearch: Name or service not known"}

Так я должен установить что-то еще, например ElasticSearch? Или я должен что-то изменить в моем конфигурационном файле, чтобы он работал?

Ответы [ 2 ]

0 голосов
/ 16 октября 2019

Как видно из документации:

https://www.elastic.co/guide/en/logstash/master/docker-config.html

По умолчанию logstash будет искать конфигурацию в папке конвейера. Вы должны создать папку конвейера с файлами logstash.conf и logstash.yml. У меня была такая же проблема, и просто положить пустой файл logstash.yml решил ее

0 голосов
/ 16 октября 2019

Похоже, вы пытаетесь отправить информацию мониторинга на сервер эластичного поиска, который идентифицирован как elasticsearch:9200 в logstash.yml, или у вас может быть конвейер с выводом elasticsearch. Либо отключите его, либо исправьте хост, чтобы он указывал на настоящий сервер эластичного поиска.

...