FileBeat не балансирует нагрузку на несколько серверов logstash (индексатора)

Я пробовал балансировку нагрузки с двумя разными серверами индексатора logstash, но когда я добавляю, скажем, 1000 строк в свой журнал, filebeats отправляет журналы исключительно на один сервер (я включил stdout и могу визуально проверять вывод, чтобы увидеть, какой сервер logstash получает события журнала) )

Конфигурация моего файла:

filebeat:
  prospectors:
    -
      paths:
        - "D:/ApacheLogs/Test/access.*.log"
      input_type: log
      document_type: my_test_log
      scan_frequency: 1s
  registry_file: "C:/ProgramData/filebeat/registry"
output:
  logstash:
    hosts: ["10.231.2.223:5044","10.231.4.143:5044"]
    loadbalance: true
shipper:
logging:
  files:

будет ли добавлена ​​поддержка для отключения постоянного TCP-соединения при filebeats? В настоящее время я не могу использовать AWS ELB, так как из-за липкого соединения он всегда отправляется на один сервер logstash, пока не будет сброшен. Разве это не подходящая архитектура? Должен ли я вместо этого отправлять в очередь Redis? В filebeats я понятия не имею и не могу найти никакой документации, как отправить в очередь Redis?

Что-то вроде этого не сработало, я даже не могу найти способ отладить его, потому что filebeats не оставляет журналов

filebeat:
  prospectors:
    -
      paths:
        - "D:/ApacheLogs/Test/access.*.log"
      input_type: log
      document_type: my_test_log
      scan_frequency: 1s
  registry_file: "C:/ProgramData/filebeat/registry"
output:
  redis:
    # Set the host and port where to find Redis.
    host: "logstash-redis.abcde.0001.usw2.cache.amazonaws.com"
    port: 6379
shipper:
logging:
  level: warning
  # enable file rotation with default configuration
  to_files: true
  files:
    path: C:\temp\filebeat.log
  • Версия: На сервере Windows: FileBeat (Windows - filebeat версия 1.2.2 (386)) На сервере индексатора logstash: logstash 2.3.2

  • Операционная система: Windows server: Microsoft Windows NT 6.0.6002 Service Pack 2 Сервер индексатора Logstash: RHEL Linux 4.1.13-19.30.amzn1.x86_64


person alexfvolk    schedule 11.05.2016    source источник
comment
Вы можете использовать -e для входа в stderr: elastic.co/guide/en/beats/filebeat/current/   -  person alpert    schedule 13.05.2016


Ответы (2)


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

Я не знаю, насколько просто запустить HAProxy в Windows, но это должно решить вашу проблему, если вы можете установить его:

https://serverfault.com/questions/95427/windows-replacement-for-haproxy

Используйте балансировку нагрузки Roundrobin Layer4. Вероятно, вы захотите установить HAProxy на каждую машину с Filebeat. 1 Интерфейс HAProxy будет прослушивать localhost: 5044 и будет сопоставляться с несколькими внутренними модулями Logstash.

person Brian Papantonio    schedule 18.07.2016

Вы можете отправить свой вывод filebeat в redis через конфигурацию ниже:

output:
   redis:
     host: "host"
     port: <port>
     save_topology: true
     index: "index-name"
     db: 0
     db_topology: 1
     timeout: 5
     reconnect_interval: 1
person Mrunal Gosar    schedule 24.08.2016