我如何 link 示例 Logstash docker 容器到 Elastic 网站上的示例 Elasticsearch 集群?

How Do i link the Sample Logstash docker container to the Sample Elasticsearch cluster on Elastics website?

我试图快速 bootstrap 在 elasticsearch 中查看一些示例数据。

这里是你做 Docker Compose 以获得 ES 集群的地方​​: https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html

接下来我需要安装 logstash。我这样做了:https://www.elastic.co/guide/en/logstash/current/docker-config.html

当我 curl 我的主机时,curl localhost:9200 它给我示例连接字符串。所以我可以说它暴露了。现在,当我从上面 运行 logstash docker 文件时,我注意到在 bootstrap 代码期间它无法连接到:localhost:9200

我在想为 elastic 创建的私有网络对集群来说很好,我不需要向它添加 logstash。我是否必须做一些不同的事情才能让默认的 logstash 与默认的 docker 交互?

我已经坚持了一段时间。我的主机系统是 Debian 9。我在想可能是什么问题。我知道 -p 9200:9200 会将端口耦合在一起,但是 ES 已经声明了 9200,所以我不确定我应该如何处理这些事情。我没有在网站上看到任何内容 "To link the out of the box logstash to the out of the box elasticsearch you need to do X,Y,Z"

虽然尝试使用 -it 创建到 logstash 服务器的终端,但它不断地 bootstrapping logstash 并且没有给我一个终端来查看内部发生了什么。

你有什么建议?

--link your_elasticsearch_container_id:elasticsearch添加到logstash的docker运行命令中。然后 elasticsearch 容器将在 http://elasticsearch:9200 下对 logstash 可见,假设您没有 TLS 并且使用默认端口(如果您按照您引用的文档进行操作,情况会怎样)。

如果下一步需要filebeat或kibana,请看我最近回答的这个问题: