Logstash FileBeat未对多个日志存储(索引器)服务器进行负载平衡

Logstash FileBeat未对多个日志存储(索引器)服务器进行负载平衡,logstash,load-balancing,filebeat,Logstash,Load Balancing,Filebeat,我尝试使用两个不同的logstash indexer服务器进行负载平衡,但当我向日志中添加1000行时,filebeats只将日志发送到一个服务器(我启用了stdout,还可以直观地检查输出,查看哪个logstash服务器正在接收日志事件) 我的档案: filebeat: prospectors: - paths: - "D:/ApacheLogs/Test/access.*.log" input_type: log documen

我尝试使用两个不同的logstash indexer服务器进行负载平衡,但当我向日志中添加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:
是否会增加对禁用filebeats上的持久TCP连接的支持?我目前无法使用AWS ELB,因为由于粘性连接,它总是发送到一个日志存储服务器,直到它被重置。这不是适合它的架构吗?我应该改为发送到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 indexer服务器上:logstash 2.3.2

  • 操作系统: Windows服务器:Microsoft Windows NT 6.0.6002 Service Pack 2 Logstash索引器服务器:RHEL Linux 4.1.13-19.30.amzn1.x86_64


    • Filebeat应该能真正解决这个问题,但既然他们宣传它尽可能轻,不要屏住呼吸

      我不知道在Windows上运行有多容易,但如果您能安装它,它应该可以解决您的问题:


      使用第4层循环负载平衡。您可能希望在每台使用Filebeat的机器上安装HAProxy。1 HAProxy前端将在localhost:5044上侦听,它将映射到多个Logstash后端。

      您可以通过以下配置将filebeat输出发送到redis:

      output:
         redis:
           host: "host"
           port: <port>
           save_topology: true
           index: "index-name"
           db: 0
           db_topology: 1
           timeout: 5
           reconnect_interval: 1
      
      输出:
      redis:
      主持人:“主持人”
      端口:
      保存拓扑:true
      索引:“索引名”
      db:0
      db_拓扑:1
      超时时间:5
      重新连接时间间隔:1
      
      您可以使用-e登录到stderr: