我尝试按照这个guideline在Centos 8上安装ELK
(在一个AWS集群上)。
安装elastic
和kibana
后,kibana
启动失败,并显示:
* "message":"License information could not be obtained from Elasticsearch
我在谷歌上搜索了一下,意识到我应该使用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."}
我试着谷歌它,但没有解决方案为我工作。
我的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"
那么它的工作。什么是根本原因?为什么它不能访问弹性公共IP,而只能访问本地?
4条答案
按热度按时间twh00eeo1#
根据@leandrojmp的评论,这个问题确实是与
elasticsearch.hosts
中的公共IP有关。一旦我将其替换为我的私有IP,它就可以工作了bqjvbblv2#
同时:
在安装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。
4jb9z9bj3#
使用docker时,我必须将
elasticsearch.hosts
指定为环境变量:-e "ELASTICSEARCH_HOSTS=http://localhost:9200"
,因此:bnlyeluc4#
在kibana.yml文件中设置elasticsearch.hostsipaddress作为本地系统的主机ipaddress。另外,你需要在运行docker container时挂载本地的kibana.yml文件。
在中添加以下配置
kibana.yml