2016-03-03 75 views
1

我試圖從Filebeat向兩個不同的服務器(一個Logstash和一個Graylog服務器)發送相同的日誌而沒有負載平衡。我們正在我們公司測試ELK和Graylog,爲了測試目的,我們希望將日誌發送到兩個不同的堆棧。但是,在filebeat.yml文件中,如果需要負載平衡,我只會看到一個選項以提供logstash服務器列表。否則,默認值爲false,因此所有日誌只會隨機選擇一個服務器。 這是我在YML文件:向沒有負載均衡的多個Logstash服務器發送filebeat輸出

### 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 

我只會得到日誌發送到其中的一個。

如果我設置負載均衡:true,日誌將分配給兩臺服務器。有沒有辦法發送全部日誌到的服務器?

非常感謝。

回答

2

因此,一些研究之後,它看起來像同一個YML文件不能被用於這種目的,現在:https://github.com/elastic/beats/issues/1035

然而,解決的辦法是創建另一個服務(Windows)或另一臺主機(以Linux)和兩個不同的.yml文件,每個文件都有不同的logstash輸出。

+0

問題是filebeat如何知道我們發送給greylog,而不是logstash(我們在config中指定了logstash)。它甚至不知道關於greylog ... – user3663882

+0

您可以設置一個系統,使Filebeat可以將日誌發送到Logstash,然後可以根據需要過濾它併發送給Graylog。 –