【问题标题】:ELK containers are unable to connect on different nodes when firewall is running防火墙运行时,ELK 容器无法在不同节点上连接
【发布时间】:2019-03-08 00:01:24
【问题描述】:

我有一个跨 4 个不同主机运行的 ELK docker swarm 设置。我可以 ping 不同主机上的容器,但是当我尝试运行 curl 命令时,它没有连接curl http://elastic:9200。 Logstash 和 kibana 应用程序无法连接到不同主机上的 elasticsearch 容器(3 节点 es 集群)。我已经在所有主机https://docs.docker.com/engine/swarm/swarm-tutorial/#the-ip-address-of-the-manager-machine 上打开了 docker swarm 文档中提到的所有端口,但没有运气。关闭所有主机上的防火墙后,LS/Kibana 可以连接到 elasticsearch。

尝试恢复与死掉的 ES 实例的连接,但出现错误 Unable to connect to Elasticsearch at http://es-proxy:9200/

有人遇到过这个问题吗?谢谢。

【问题讨论】:

  • 为什么选择本地主机?我认为它应该是服务名称。除了最后一段之外,您还可以添加其他信息吗?
  • 我没有使用本地主机。我正在使用es-proxy:9200 负载平衡器。我相信我发布了错误的错误信息。我会更新的。本质上,它只是不断抛出一个错误,说它无法连接。
  • Elasticsearch 也需要多个端口。你已经打开了吗?
  • 是的,我也打开了 elasticsearch 端口。端口 9200 和 9300。
  • 如您所说,防火墙转发策略是最有可能出现的问题。所以我假设您可以添加有关如何打开端口的信息。这可能会有很大帮助~

标签: docker elasticsearch logstash kibana docker-swarm


【解决方案1】:

我能够通过将我的 docker 网络接口添加到受信任区域来解决此问题。

https://success.docker.com/article/firewalld-problems-with-container-to-container-network-communications

最后,我将我的 docker 子网添加为可信来源。

firewall-cmd --permanent --zone=trusted --add-source=subnet/range

【讨论】:

    猜你喜欢
    • 2021-11-12
    • 1970-01-01
    • 1970-01-01
    • 2021-06-25
    • 2015-06-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-24
    • 1970-01-01
    相关资源
    最近更新 更多