Is it necessary to give only elasticsearch master nodes in kibana config

Elasticsearch and Kibana version: 7.3.1

I'm deploying Elasticsearch (3 nodes) and Kibana on docker.

node1: elasticsearch master(data) and kibana
node2: elasticsearch (data)
node3: elasticsearch (data)

our kibana config looks like this:

server.name: kibana
elasticsearch.hosts: [ "http://node1:9200" ]
elasticsearch.requestTimeout: 60000

with above setup Kibana won't start up with following error:

{"type":"log","@timestamp":"2021-06-10T08:51:41Z","tags":["error","elasticsearch","admin"],"pid":6,"message":"Request error, retrying\nGET http://node1:9200/_nodes?filter_path=nodes.*.version%2Cnodes.*.http.publish_address%2Cnodes.*.ip => connect EHOSTUNREACH xx.xx.xx.xx:9200"}
{"type":"log","@timestamp":"2021-06-10T08:51:42Z","tags":["warning","elasticsearch","admin"],"pid":6,"message":"Unable to revive connection: http://node1:9200/"}
{"type":"log","@timestamp":"2021-06-10T08:51:42Z","tags":["warning","elasticsearch","admin"],"pid":6,"message":"No living connections"}

When I do curl request from kibana container to master node, I get No route to host. But curl request to other elasticsearch node (on different VM works).

So as a workaround I'm planning to add all three nodes to elasticsearch.hosts in kibana.yaml. Is that okay? Or it needs to connect to master node specifically?

That looks like a hostname unreachable issue. I would check the docker compose file. You only need to point to the master node normally in kibana.yml.

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