Невозможно подключиться к kibana /asticsearch с помощью docker-compose - PullRequest
0 голосов
/ 27 сентября 2018

Я пытаюсь запустить Kibana в Elasticsearch через docker-compose содержащийся файл (.yml) на виртуальной машине, но я не могу подключиться к Kibana и сообщению, которое я получаю, пока онобезуспешная попытка подключения показана ниже:

[34mspark-master     |[0m 18/09/25 17:58:29 INFO master.Master: Registering worker 172.18.0.8:8881 with 2 cores, 1024.0 MB RAM
[36;1mspark-worker     |[0m 18/09/25 17:58:29 INFO worker.Worker: Successfully registered with master spark://spark-master:7077
[35mkibana           |[0m {"type":"log","@timestamp":"2018-09-25T17:58:31Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"Unable to revive connection: http://elasticsearch:9200/"}
[35mkibana           |[0m {"type":"log","@timestamp":"2018-09-25T17:58:31Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"No living connections"}
[35mkibana           |[0m {"type":"log","@timestamp":"2018-09-25T17:58:33Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"Unable to revive connection: http://elasticsearch:9200/"}
[35mkibana           |[0m {"type":"log","@timestamp":"2018-09-25T17:58:33Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"No living connections"}
[35mkibana           |[0m {"type":"log","@timestamp":"2018-09-25T17:58:36Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"Unable to revive connection: http://elasticsearch:9200/"}
[35mkibana           |[0m {"type":"log","@timestamp":"2018-09-25T17:58:36Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"No living connections"}
[35mkibana           |[0m {"type":"log","@timestamp":"2018-09-25T17:58:38Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"Unable to revive connection: http://elasticsearch:9200/"}
[35mkibana           |[0m {"type":"log","@timestamp":"2018-09-25T17:58:38Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"No living connections"}
[35mkibana           |[0m {"type":"log","@timestamp":"2018-09-25T17:58:41Z","tags":["status","plugin:elasticsearch@6.2.2","info"],"pid":1,"state":"green","message":"Status changed from red to green - Ready","prevState":"red","prevMsg":"Unable to connect to Elasticsearch at http://elasticsearch:9200."}
[33melasticsearch    |[0m 2018-09-25 17:58:47,078 INFO exited: create-index (exit status 0; expected)

Если вы заметили, docker может подключиться к другим службам, указанным в файле docker-compose, одна из которых spark-master показана в первых 2 строках,Команда для вызова kibana в файле docker-compose выглядит следующим образом:

  elasticsearch:
    build: docker-elasticsearch/
    container_name: elasticsearch
    hostname: elasticsearch
    environment:
      - Des.network.host=0.0.0.0
      - cluster.name = "elasticsearch"
    expose:
      - 9200
    ports:
      - "9200:9200"


  kibana:
    build: kibana/
    container_name: kibana
    hostname: kibana
    environment:
      - SERVER_NAME="kibana"
      - SERVER_HOST="0"
      - ELASTICSEARCH_URL=http://elasticsearch:9200
    ports:
      - "5601:5601"
    links:
      - elasticsearch
    depends_on:
      - elasticsearch

Если я делаю docker-compose ps, это дает мне следующее:

    Name                 Command             State              Ports           
--------------------------------------------------------------------------------
elasticsearch   /usr/local/bin/docker-entr   Up       0.0.0.0:9200->9200/tcp,   
                ...                                   9300/tcp                  
kibana          /bin/bash /usr/local/bin/k   Up       0.0.0.0:5601->5601/tcp 

Я искал эту проблемуперед тем, как публиковать этот вопрос, он много раз писал в Google и пробовал различные предложения для этой проблемы, которые включали изменение elasticsearch_url, например, изменение http на https, изменение localhost на elasticsearch и комбинацию /перестановка этих двух предложений, но я не смог подключиться к Kibana, используя любое из предложений.Также было предложено где-то проверить выделенную память для моей виртуальной машины, которая для моей виртуальной машины была равна значению , предложенному на Elasticsearch.

EDIT-1

При использовании команд, данных @Ivthillo, кажется, что Kibana подключается, как показано в следующих сообщениях на терминале:

kibana_1         | {"type":"log","@timestamp":"2018-09-26T13:43:05Z","tags":["info","monitoring-ui","kibana-monitoring"],"pid":1,"message":"Starting all Kibana monitoring collectors"}
kibana_1         | {"type":"log","@timestamp":"2018-09-26T13:43:06Z","tags":["license","info","xpack"],"pid":1,"message":"Imported license information from Elasticsearch for the [monitoring] cluster: mode: basic | status: active"}
kibana_1         | {"type":"log","@timestamp":"2018-09-26T13:43:12Z","tags":["listening","info"],"pid":1,"message":"Server running at http://0:5601"}

Однако, когда я пытаюсь запустить другую службу через docker (например, sudo docker exec -i) вновый терминал (так как вышеприведенное сообщение Server is running at... остается застрявшим, поскольку оно не движется вперед), я получаю сообщение об ошибке, указывающее, что контейнер не работает следующим образом:

Error response from daemon: Container 824846b64950d7e6f38792c5633f9eca3e84702cfe060de012c4fe39cf365ab9 is not running

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

Вы можете начать с этого самого базового docker-compose, потому что вы создаете свои собственные образы, что затрудняет отладку.

В следующем примере мы запускаем ES и Kibana в одном и том же Docker.сеть, что означает, что они могут получить доступ друг к другу, используя свое имя.Работа в сети - лучший способ обеспечить связь между контейнерами, чем использование устаревших --link.

version: '3.3'
services:
  kibana:
    image: docker.elastic.co/kibana/kibana:6.3.2
    environment:
      SERVER_NAME: kibana.example.org
      ELASTICSEARCH_URL: http://elasticsearch:9200
    ports:
      - "5601:5601"
    depends_on:
      - elasticsearch
    networks:
      - my-network

  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.3.2
    container_name: elasticsearch
    networks:
      - my-network

networks:
  my-network:

, чтобы доказать, что соединение работает.Я получаю доступ к контейнеру kibana и ping и curl к своему контейнеру эластичного поиска:

$ docker ps
CONTAINER ID        IMAGE                                                 COMMAND                  CREATED             STATUS              PORTS                    NAMES
7e2632aff839        docker.elastic.co/kibana/kibana:6.3.2                 "/usr/local/bin/kiba…"   2 minutes ago       Up 2 minutes        0.0.0.0:5601->5601/tcp   es_kibana_1
03f2d03a87b4        docker.elastic.co/elasticsearch/elasticsearch:6.3.2   "/usr/local/bin/dock…"   2 minutes ago       Up 2 minutes        9200/tcp, 9300/tcp       elasticsearch
 lorenzvanthillo@MacBook-Pro  ~/ES  docker exec -it 7e2632aff839 bash
bash-4.2$ ping elasticsearch
PING elasticsearch (172.22.0.2) 56(84) bytes of data.
64 bytes from elasticsearch.es_my-network (172.22.0.2): icmp_seq=1 ttl=64 time=0.554 ms
64 bytes from elasticsearch.es_my-network (172.22.0.2): icmp_seq=2 ttl=64 time=0.075 ms
bash-4.2$ curl http://elasticsearch:9200
{
  "name" : "f9AfdJp",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "YQkmS6gtTmqcCs0HgWX5bg",
  "version" : {
    "number" : "6.3.2",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "053779d",
    "build_date" : "2018-07-20T05:20:23.451332Z",
    "build_snapshot" : false,
    "lucene_version" : "7.3.1",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}
0 голосов
/ 27 сентября 2018

У меня похожая настройка.Я решил эту проблему, управляя сетью контейнеров.Попробуйте следующее:

version: '3'
services:
 elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:5.6.12
    container_name: elasticsearch
    environment:
      - cluster.name=docker-cluster
    ports:
      - 9200:9200

  kibana:
    image: kibana:5.6.12
    container_name: kibana
    environment:
      ELASTICSEARCH_URL: http://elasticsearch1:9200
    ports:
      - 5601:5601
    depends_on:
      - elasticsearch

Дайте мне знать, если это поможет.

...