我已经用docker compose设置了elasticsearch和kibana。localhost:9200
elasticsearch
部署在:kibana部署在localhost:5601
当尝试通过docker run部署metricbeat时,出现以下错误:
$ docker run docker.elastic.co/beats/metricbeat:6.3.2 setup -E setup.kibana.host=kibana:5601 -E output.elasticsearch.hosts=["localhost:9200"]
Exiting: Couldn't connect to any of the configured Elasticsearch hosts. Errors: [Error connection to Elasticsearch http://localhost:9200: Get http://localhost:9200: dial tcp [::1]:9200: connect: cannot assign requested address]
Exiting: Couldn't connect to any of the configured Elasticsearch hosts. Errors: [Error connection to Elasticsearch http://elasticsearch:9200: Get http://elasticsearch:9200: lookup elasticsearch on 192.168.65.1:53: no such host]
我的docker-compose.yml:
# ./docker-compose.yml
version: "3.7"
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.3.2
environment:
# - cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- elkdata:/usr/share/elasticsearch/data
ports:
- "9200:9200"
restart: always
kibana:
image: docker.elastic.co/kibana/kibana:6.3.2
volumes:
- kibana:/usr/share/kibana/config
ports:
- "5601:5601"
depends_on:
- elasticsearch
restart: always
volumes:
elkdata:
kibana:
首先docker-compose
通过添加默认码头工人网络的名称来编辑文件:
version: "3.7"
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.3.2
environment:
# - cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- elkdata:/usr/share/elasticsearch/data
ports:
- "9200:9200"
networks:
- my-network
restart: always
kibana:
image: docker.elastic.co/kibana/kibana:6.3.2
volumes:
- kibana:/usr/share/kibana/config
ports:
- "5601:5601"
networks:
- my-network
depends_on:
- elasticsearch
restart: always
volumes:
elkdata:
kibana:
networks:
my-network:
name: awesome-name
执行docker-compose up
,然后从metricbeat
以下命令开始:
$ docker run docker.elastic.co/beats/metricbeat:6.3.2 --network=awesome-name setup -E setup.kibana.host=kibana:5601 -E output.elasticsearch.hosts=["elasticsearch:9200"]
说明:
当您尝试进行部署时metricbeat
,您需要提供以下envar:
setup.kibana.host=kibana:5601
output.elasticsearch.hosts=["localhost:9200"]
我将从第二个开始。使用dockerrun
命令,在启动时metricbeat
,您告诉容器它可以访问上的elasticsearchlocalhost:9200
。因此,当容器启动时,它将访问端口9200上的localhost,期望找到elasticsearch
运行状态。但是,由于容器是一个主机隔离的进程,具有自己的网络层,因此localhost
解析为容器本身 ,而不是您所期望的docker主机。
关于kibana
主机的设置,首先应了解其docker-compose
工作原理。默认情况下,当您执行时docker-composeup
,将创建一个docker网络,并将yml文件上定义的所有服务都添加到该网络。 仅 在 该网络
内部,可以通过服务名称访问服务。对于你的情况下,阳明文件的定义,他们的名字将是elasticsearch
,kibana
。
因此,为了使metricbeat
容器能够与elasticsearch
和kibana
容器进行通信,应将其添加到同一docker网络中。这可以通过--network
在dockerrun
命令上设置标志来实现。
另一种方法是使用网络模式host与容器共享docker主机的网络,但我不建议这样做。
参考文献:
Docker撰写
docker运行
我是新来的论坛,以及麋鹿堆栈。我试着用docker设置麋鹿堆。我成功了,然后我将filebeat添加到了撰写文件中。从那以后,filebeat就导致了连接到其他容器的问题。最初,我将其配置为将日志发送到logstash,但在所有故障排除之后,当我仍然无法让filebeat与logstash对话时,我完全删除了logstash,并尝试将filebeat直接与elasticsearch连接。在尽了我所
我试图运行在通过包含文件()在虚拟机中,但我无法连接到,并且在尝试连接失败时收到的消息如下所示: 如果您注意到,docker能够连接到docker compose文件中提到的其他服务,其中一个是前两行显示的。在docker compose文件中调用kibana的命令如下: 如果我做了,它会给我以下信息: 在这里发布这个问题之前,我在google上广泛搜索了这个问题,并尝试了人们对这个问题的各种建议
尝试使用Docker容器将Kibana连接到ES时出错: kibana-product-624|{"type":"log","@time戳":"2018-05-25T14:56:36Z","tags":["警告","elasticsearch","admin"],"pid": 1,"消息":"无法恢复连接:超文本传输协议://elasticsearch: 9200/"}kibana-product
只是试图学习使用本机docker命令设置Kibana和弹性搜索(即不使用Docker-Compose)。 下面是我运行的命令 不知何故,当我运行时,Kibana没有加载弹性搜索,并且总是带有消息 我按照DockerKibana的答案无法连接到Elasticsearch,以确保设置正确,但它仍然没有出现。我错过了什么? 注意:使用
麋鹿堆叠码头工人的新手。 正在尝试在docker中本地设置麋鹿设置。 使用的命令是 ElasticSeach是向上和http://localhost:9200/是给json响应。 但是kibana url(http://localhost:5601/)说“Kibana服务器还没有准备好”,请求在浏览器中继续旋转。 在查询docker容器时,它说, 编辑调查结果:- 1.最初是命令 立即给出空洞的回
这是我的: 和Dockerfile goparser: 连接MongoDB需要使用哪个地址?