我正在尝试将相同的日志从Filebeat发送到两个不同的服务器(一个Logstash和一个Graylog服务器),而不进行负载平衡。我们正在公司测试ELK和Graylog并进行测试,我们希望将日志发送到两个不同的堆栈。但是,在 filebeat.yml 文件中,我只看到一个选项,用于提供logstash服务器列表(如果要加载平衡)。否则默认值为false,因此所有日志只会转到随机选择的一个服务器。 这就是我在yml文件中的内容:
### Logstash as output
logstash:
# The Logstash hosts
hosts: ["logstash-host:5044"]
# Number of workers per Logstash host.
#worker: 1
# Set gzip compression level.
#compression_level: 3
# Optional load balance the events between the Logstash hosts
#loadbalance: true
如果我将其更改为:
### Logstash as output
logstash:
# The Logstash hosts
hosts: ["logstash-host:5044", "graylog-host:5044"]
# Number of workers per Logstash host.
#worker: 1
# Set gzip compression level.
#compression_level: 3
# Optional load balance the events between the Logstash hosts
#loadbalance: true
我只会将日志发送到其中一个。
如果我设置 loadbalance:true ,则日志会分发到两个服务器。有没有办法将所有日志发送到两者服务器?
非常感谢。
答案 0 :(得分:3)
因此,经过一些研究,看起来现在不能将相同的yml文件用于此类目的:https://github.com/elastic/beats/issues/1035
然而,解决这个问题的方法是使用两个不同的.yml文件创建另一个服务(对于Windows)或另一个控制台(在Linux中),每个文件都有不同的logstash输出。