RabbitMQ - потребитель Elasticsearch - PullRequest
1 голос
/ 21 июня 2020

У меня есть контейнер RabbitMQ docker, который отлично работает и принимает сообщения, сохраняя их в очереди. Сейчас я пытаюсь переместить эти сообщения и вставить их в elasticsearch. Я потратил некоторое время на чтение об этом, и, согласно документации elasti c, этого можно достичь, запустив экземпляр logsta sh и настроив его с помощью подключаемого модуля RabbitMQ.

Итак, мой вопросы:

  1. Может ли logsta sh фактически играть роль потребителя и вообще получать сообщения из очереди и вставлять их в elasti c?
  2. Предполагая, что Это так, и наличие контейнера logsta sh docker является правильным:

Команда для запуска контейнера docker logsta sh:

  • docker run --rm -it -v ~/pipeline/:/usr/share/logstash/pipeline/ docker.elastic.co/logstash/logstash:7.8.0 - В этой ситуации я указываю контейнеру использовать файл конфигурации вне контейнера, расположенного на сервере: / usr / share / logstash / pipeline / - эта команда была взята из elasti c документы.

  • Правильный ли приведенный ниже пример файла конфигурации? имейте в виду, что elasti c, kibana и logsta sh в основном находятся на одном сервере и работают в разных контейнерах.

     input {
       rabbitmq {
         host => "IP OF RABBITMQ"; - located on another VM.
         durable => true
         password => "guest"
         user => "guest"
         exchange => "RLMF"
         exchange_type => "topic"
         queue => "db.rlmf"
       }
     }
     
     output {
       elasticsearch { hosts => ["localhost:9200"] }
       stdout { codec => rubydebug }
     }
...