Kibana cannot connect to ES cluster - Unable to retrieve version information from Elasticsearch nodes

Kibana and ES version: 7.13.2

I am running cluster of 5 nodes (3 ES data & master nodes and 2 coordinating nodes) and one Kibana. Whole cluster is running in docker swarm on the same network. My ES cluster works fine, I can connect to it with Cerebro or Kibana from localhost. When I tried connect to ES from Kibana which is deployed to swarm, it ends up with:

2021-07-08T10:39:16.963979391Z {"type":"log","@timestamp":"2021-07-08T11:39:16+01:00","tags":["info","savedobjects-service"],"pid":953,"message":"Waiting until all Elasticsearch nodes are compatible with Kibana before starting saved objects migrations..."}
2021-07-08T10:39:17.031184806Z {"type":"log","@timestamp":"2021-07-08T11:39:17+01:00","tags":["error","savedobjects-service"],"pid":953,"message":"Unable to retrieve version information from Elasticsearch nodes."}

I set ELASTICSEARCH_URL variable in Kibana and I am able to reach ES cluster from Kibana container with curl as:

  • coordinating nodes service name - OK
  • container IP - OK
  • network alias - OK
  • container name - OK

When I reach Kibana from browser, I can see:

Kibana server is not ready yet

I can see no kibana indices in ES.

When I run Kibana with command as docker run ... I am able to connect to ES cluster.

Questions:

  1. Why I cannot connect to ES with Kibana from swarm but from localhost I can?
  2. What is savedobjects-service? I have experience with older versions of ELK stack and do not remember logs like this.
1 Like

It was my mistake. I set ELASTICSEARCH_URL but Elasticsearch use variable ELASTICSEARCH_HOSTS. I would expect that Kibana will log something more than just Unable to retrieve version information from Elasticsearch nodes..

Funny thing, I faced the same problem an hour ago and found this topic, and now, when I figured this issue out, I also noticed you did it too :slight_smile:

In my case, though, issue was caused by wrong kibana user.
I'm new to ELK, and I was trying to use user from "kibana_admin" group in order to let kibana connect to elasticsearch (the correct way is to use "kibana_system" user).

I can't agree more.

can you help me? i have same question
this is my ' kinana.yml':

server.name: kibana
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: [ "http://localhost:9200" ]

Hi, if you have the same issue, check if you have elasticsearch on your localhost. Did you check it?

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.