2017-04-14 72 views
0

我有一個docker容器中運行的filebeat和運行在不同docker容器中的logstash。無法設置管道從filebeat到logstash

在filebeat.yml的配置中,logstash IP與logstash的IP一起設置爲http://:5044。

面對下面誤差

WARN DNS查找失敗 「http://172.17.0.2:5044」:查找http://localhost:5044/:無效域名 2017年4月14日14:16:51.537977 single.go:126:INFO連接錯誤發佈事件(重試):查找http://localhost:5044/:無效的域名 2017年4月14日14:16:51.538000 single.go:152:信息發送失敗filebeat.yml與問候

配置登錄藏匿配置

output: 
logstash: 
    enabled: true 
hosts: 
    - "172.17.0.2:5044" 

應該使用log stash的docker ip還是使用單獨的IP?

+0

這是一個配置問題。請提供您正在使用的配置。 –

+0

在filebeat.yml中,作爲輸出的logstash配置爲只有下面的字段未註釋,### Logstash作爲輸出 logstash: #Logstash主機 主機:[「http://172.17.0.2:5044/」] 另外,探礦者被配置爲如下路徑: - /var/log/*.log除了這兩個文件之外,filebeat.yml中的所有字段都未被註釋和使用。 – Sudhi

回答

1

Beats和Logstash之間的連接不基於HTTP協議,因此不要使用URL配置hosts選項。每個Logstash主機的格式應爲host:port。正如您從錯誤消息中看到的那樣,它正在嘗試解析您指定的錯誤域名的完整值(即它的作用相當於nslookup "http://localhost:5044/")。

問題中顯示的配置中的縮進也是關閉的。 hosts設置應該是logstash的子項,因此需要縮進。嘗試使用這個代替,以避免任何壓痕問題:

output.logstash.hosts: ['logstash:5044']

如果同時Logstash和Filebeat容器在同一個碼頭工人的環境,那麼你可以連接兩個容器,並使用Logstash容器的名稱,如主機名的配置文件。如果它們位於不同的主機上,則需要從LS公開端口5044,並在Filebeat配置中使用主機的IP。

+0

縮進是一個複製粘貼編輯問題。將嘗試您的建議和udpate。 – Sudhi

+0

建議起作用!謝謝。 – Sudhi