我尝试使用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
答案 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