skip to Main Content

I’m tried to follow this guideline for installing ELK on Centos 8 (on top of one AWS cluster).

After installing elastic and kibana, the kibana startup failed with:

*"message":"License information could not be obtained from Elasticsearch

I googled it, and realized I should use OSS version (latest is 7.10.2)
so make sure to install only OSS version. you can use this guideline

after that, I got new error from kibana.log

-08T07:19:32Z","tags":["error","savedobjects-service"],"pid":62767,"message":"Unable to retrieve version information from Elasticsearch nodes."}

I tried to google it, but no solution worked for me.

my kibana.yaml:

server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: "[my public AWS instance ip:9200]"

my elasticsearch.yaml:

path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: "[my private AWS instance ip]"
cluster.initial_master_nodes: "[my private AWS instance ip]"

Update:

If I’m changing this line in kibana.yaml file to:

elasticsearch.hosts: "http://localhost:9200"

Then it works. what is the root cause? why it can’t access elastic public IP but only local?

4

Answers


  1. Chosen as BEST ANSWER

    Per @leandrojmp comment, the issue was indeed with the public IP in elasticsearch.hosts. Once I replaced it to my private ip, it works


  2. also:

    When installing the Elastic Stack, you must use the same version across the entire stack. For example, if you are using Elasticsearch 7.9.3, you install Beats 7.9.3, APM Server 7.9.3, Elasticsearch Hadoop 7.9.3, Kibana 7.9.3, and Logstash 7.9.3.

    Login or Signup to reply.
  3. Using docker, I had to specify the elasticsearch.hosts as an environment variable: -e "ELASTICSEARCH_HOSTS=http://localhost:9200", so:

    docker run -p 5601:5601 -e "ELASTICSEARCH_HOSTS=http://localhost:9200" arm64v8/kibana:7.16.3
    
    Login or Signup to reply.
  4. Set elasticsearch.hosts ipaddress as local system’s host ipaddress in kibana.yml file. Also you need to mount local kibana.yml file while running docker container.

    docker run -d --name kibana -p 5601:5601 -v /home/users/mySystemUserName/config/kibana.yml:/opt/kibana/config/kibana.yml kibana:7.16.3
    

    Add the below configs in

    kibana.yml

    server.name: kibana
    server.port: 5601
    server.host: "0.0.0.0"
    elasticsearch.hosts: [ "http://192.168.0.102:9200" ]
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search