Входной плагин Logstash RabbitMQ - Как определить несколько ключей routing_key - PullRequest
0 голосов
/ 29 мая 2019

Я использую плагин RabbitMQ Logstash для извлечения из RabbitMQ и отправки в Elasticsearch с использованием этого конвейера:

input {
    rabbitmq {
        queue => "Elasticsearch_Queue"
        host => "rabbitmq"
        exchange => "my_event_bus"
        key => "SomeIntegrationEvent"
    }
}
output {
    elasticsearch {
        hosts => [ "elasticsearch:9200" ]
    }
    stdout { codec => rubydebug }
}

Он отлично работает и создает очередь с именем Elasticsearch_Queue и связывается с my_event_bus exchangeиспользуя routing_key SomeIntegrationEvent.

Мне нужно подписаться на несколько событий , но нет ясного решения по плагину документации .

1 Ответ

0 голосов
/ 29 мая 2019

Поскольку key должна быть строкой, вы не можете явно привязать очередь к обмену, используя несколько ключей.

Я предлагаю сделать my_event_bus a разветвленный обмен .Это направит каждое сообщение, доставленное в этот обмен, в связанную очередь.

Затем определите второй прямой обмен , который вы вручную связываете с первым обменом несколько раз, используя ключи маршрутизации (= события)Вы заинтересованы в.

...