FileBeat无法平衡多个logstash(索引器)服务器

时间:2016-05-11 18:54:37

标签: logstash load-balancing filebeat

我尝试使用2个不同的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:

是否会增加对filebeats上禁用持久TCP连接的支持?我目前无法使用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服务器:Microsoft Windows NT 6.0.6002 Service Pack 2 Logstash索引器服务器:RHEL Linux 4.1.13-19.30.amzn1.x86_64

2 个答案:

答案 0 :(得分:1)

Filebeat应该真正解决这个问题,但是因为他们宣传它尽可能轻巧,所以不要屏住呼吸。

我不知道让HAProxy在Windows上运行是多么容易,但是如果你能安装它就应该解决你的问题:

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

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

答案 1 :(得分:0)

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

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