Балансировка нагрузки Filebeat не работает

Я настроил кластер Logstash в Google Cloud, который находится за балансировщиком нагрузки и использует автомасштабирование (-> когда нагрузка становится высокой, новые экземпляры запускаются автоматически).

К сожалению, это не работает должным образом с Filebeat. Filebeat затрагивает только те виртуальные машины Logstash, которые существовали до запуска Filebeat.

Пример: Предположим, у меня изначально запущены эти 3 хоста Logstash:

  • Хост1
  • Хост2
  • Хост3

Когда я запускаю Filebeat, он правильно распределяет сообщения на Host1, Host2 и Host3.

Теперь автомасштабирование запускается и запускает еще 2 экземпляра, Host4 и Host5.

К сожалению, Filebeat по-прежнему отправляет сообщения только на Host1, Host2 и Host3. Новые хосты Host4 и Host5 игнорируются.

Когда я перезапускаю Filebeat, он отправляет сообщения на все 5 хостов!

Таким образом, кажется, что Filebeat отправляет сообщения только тем хостам, которые были запущены при запуске Filebeat.

Мой filebeat.yml выглядит так:

filebeat.inputs:
- type: log
  paths:
  ...
  ...

output.logstash:
  hosts: ["logstash-loadbalancer:5044", "logstash-loadbalancer:5044"]
  worker: 1
  ttl: 2s
  loadbalance: true

Я добавил один и тот же хост (балансировщик нагрузки) дважды, потому что читал на форумах, что в противном случае Filebeat не будет балансировать сообщения -> я могу это подтвердить.

Но все же балансировка нагрузки, похоже, не работает должным образом, например. TTL, кажется, не соблюдается, потому что он всегда нацелен на одни и те же соединения.

Моя конфигурация неверна? Ошибка в Filebeat?


person Frizz    schedule 01.08.2018    source источник


Ответы (1)


Надеюсь, вы уже решили эту проблему. Если вы этого не сделали, вы должны установить конвейерную обработку на 0, как показано ниже: (ttl работает, только если конвейерная обработка установлена ​​​​на 0)

output.logstash:
  hosts: ["logstash-loadbalancer:5044", "logstash-loadbalancer:5044"]
  worker: 1
  ttl: 2s
  loadbalance: true
  pipelining: 0
person W00f    schedule 22.10.2018