Kibana 启动失败并显示许可证信息,随后显示无法检索版本信息

Kibana startup fails with License information and later with Unable to retrieve version information

我尝试按照此 guideline 在 Centos 8(在一个 AWS 集群之上)上安装 ELK

安装 elastickibana 后,kibana 启动失败:

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

我googled它,意识到我应该使用OSS版本(最新是7.10.2) 所以确保只安装OSS版本。你可以使用这个 guideline

在那之后,我从 kibana.log

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

我尝试 google 它,但没有适合我的解决方案。

我的kibana.yaml:

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

我的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]"

更新:

如果我将 kibana.yaml 文件中的这一行更改为:

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

然后就可以了。根本原因是什么?为什么它不能访问弹性 public IP 而只能访问本地?

根据@leandrojmp 的评论,问题确实出在 elasticsearch.hosts 中的 public IP。一旦我将它替换为我的私人 ip,它就可以工作

还有:

安装Elastic Stack时,必须在整个堆栈中使用相同的版本。例如,如果您使用 Elasticsearch 7.9.3,则安装 Beats 7.9.3、APM Server 7.9.3、Elasticsearch Hadoop 7.9.3、Kibana 7.9.3 和 Logstash 7.9.3。

使用 docker,我必须将 elasticsearch.hosts 指定为环境变量:-e "ELASTICSEARCH_HOSTS=http://localhost:9200",因此:

docker run -p 5601:5601 -e "ELASTICSEARCH_HOSTS=http://localhost:9200" arm64v8/kibana:7.16.3

在 kibana.yml 文件中将 elasticsearch.hosts ipaddress 设置为本地系统的主机 ipaddress。您还需要挂载本地 kibana.yml 文件,而 运行 docker 容器。

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

中添加以下配置

kibana.yml

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