1

我正在尝试将相同的日志从 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,日志将分发到两个服务器。有没有办法将所有日志发送到两台服务器?

非常感激。

4

1 回答 1

3

所以经过一些研究,看起来同一个 yml 文件现在不能用于此类目的:https ://github.com/elastic/beats/issues/1035

但是,解决此问题的一种方法是使用两个不同的 .yml 文件创建另一个服务(用于 Windows)或另一个控制台(在 Linux 中),每个文件都有不同的 logstash 输出。

于 2016-03-04T00:19:44.537 回答