无法设置从 filebeat 到 logstash 的管道
Unable to set pipeline from filebeat to logstash
我在 docker 容器中有 filebeat 运行,在另一个 docker 容器中有 logstash 运行。
在filebeat.yml的配置中,logstash IP设置为logstash的IP为http://:5044。
遇到以下错误
WARN DNS 查找失败“http://172.17.0.2:5044": lookup http://localhost:5044/: 无效域名
2017/04/14 14:16:51.537977 single.go:126: INFO 连接错误发布事件(重试): lookup http://localhost:5044/: 无效域名
2017/04/14 14:16:51.538000 single.go:152: 信息发送失败
关于日志存储配置的 filebeat.yml 配置
output:
logstash:
enabled: true
hosts:
- "172.17.0.2:5044"
应该使用日志存储的docker ip还是使用单独的IP?
Beats 和 Logstash 之间的连接不是基于 HTTP 协议,因此不要将 hosts
选项配置为 URL。每个 Logstash 主机的格式应为 host:port
。正如您从错误消息中看到的那样,它正在尝试解析您指定为错误的域名的完整值(即它正在做相当于 nslookup "http://localhost:5044/"
)的操作。
问题中显示的配置中的缩进也已关闭。 hosts
设置应该是 logstash
的子项,因此需要缩进。尝试使用它来避免任何缩进问题:
output.logstash.hosts: ['logstash:5044']
如果 Logstash 和 Filebeat 容器都在同一个 Docker 环境中,那么您可以 link 这两个容器并使用 Logstash 容器的名称作为配置文件中的主机名。如果它们在不同的主机上,那么您需要从 LS 公开端口 5044 并在您的 Filebeat 配置中使用主机的 IP。
我在 docker 容器中有 filebeat 运行,在另一个 docker 容器中有 logstash 运行。
在filebeat.yml的配置中,logstash IP设置为logstash的IP为http://:5044。
遇到以下错误
WARN DNS 查找失败“http://172.17.0.2:5044": lookup http://localhost:5044/: 无效域名 2017/04/14 14:16:51.537977 single.go:126: INFO 连接错误发布事件(重试): lookup http://localhost:5044/: 无效域名 2017/04/14 14:16:51.538000 single.go:152: 信息发送失败
关于日志存储配置的 filebeat.yml 配置
output:
logstash:
enabled: true
hosts:
- "172.17.0.2:5044"
应该使用日志存储的docker ip还是使用单独的IP?
Beats 和 Logstash 之间的连接不是基于 HTTP 协议,因此不要将 hosts
选项配置为 URL。每个 Logstash 主机的格式应为 host:port
。正如您从错误消息中看到的那样,它正在尝试解析您指定为错误的域名的完整值(即它正在做相当于 nslookup "http://localhost:5044/"
)的操作。
问题中显示的配置中的缩进也已关闭。 hosts
设置应该是 logstash
的子项,因此需要缩进。尝试使用它来避免任何缩进问题:
output.logstash.hosts: ['logstash:5044']
如果 Logstash 和 Filebeat 容器都在同一个 Docker 环境中,那么您可以 link 这两个容器并使用 Logstash 容器的名称作为配置文件中的主机名。如果它们在不同的主机上,那么您需要从 LS 公开端口 5044 并在您的 Filebeat 配置中使用主机的 IP。