2017-04-14 69 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