Kibana服务器尚未准备好

时间:2019-09-19 12:30:05

标签: elasticsearch kibana rhel

我刚刚在RHEL 8上安装了Kibana 7.3。Kibana服务处于活动状态(正在运行)。
我卷曲到http://localhost:5601时收到Kibana server is not ready yet消息。 我的Elasticsearch实例在另一台服务器上,并且对我的请求进行了成功响应。我已经用它更新了kibana.yml

  

elasticsearch.hosts:[“ http://EXTERNAL-IP-ADDRESS-OF-ES:9200”]

我可以通过以下方式从互联网访问Elasticsearch:

{
  "name" : "ip-172-31-21-240.ec2.internal",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "y4UjlddiQimGRh29TVZoeA",
  "version" : {
    "number" : "7.3.1",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "4749ba6",
    "build_date" : "2019-08-19T20:19:25.651794Z",
    "build_snapshot" : false,
    "lucene_version" : "8.1.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

sudo systemctl status kibana的结果:

● kibana.service - Kibana
   Loaded: loaded (/etc/systemd/system/kibana.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2019-09-19 12:22:34 UTC; 24min ago
 Main PID: 4912 (node)
    Tasks: 21 (limit: 4998)
   Memory: 368.8M
   CGroup: /system.slice/kibana.service
           └─4912 /usr/share/kibana/bin/../node/bin/node --no-warnings --max-http-header-size>

Sep 19 12:46:42 ip-172-31-88-39.ec2.internal kibana[4912]: {"type":"log","@timestamp":"2019-0>
Sep 19 12:46:42 ip-172-31-88-39.ec2.internal kibana[4912]: {"type":"log","@timestamp":"2019-0>
Sep 19 12:46:43 ip-172-31-88-39.ec2.internal kibana[4912]: {"type":"log","@timestamp":"2019-0>
Sep 19 12:46:43 ip-172-31-88-39.ec2.internal kibana[4912]: {"type":"log","@timestamp":"2019-0>
Sep 19 12:46:43 ip-172-31-88-39.ec2.internal kibana[4912]: {"type":"log","@timestamp":"2019-0>
Sep 19 12:46:44 ip-172-31-88-39.ec2.internal kibana[4912]: {"type":"log","@timestamp":"2019-0
  

“ sudo journalctl --unit kibana”的结果

Sep 19 06:03:53 ip-172-31-88-39.ec2.internal kibana[1356]: {"type":"log","@timestamp":"2019-09-19T06:03:53Z","tags":["warning","elasticsearch","admin"],"pid":1356,"message":"Unable to revive >
Sep 19 06:03:53 ip-172-31-88-39.ec2.internal kibana[1356]: {"type":"log","@timestamp":"2019-09-19T06:03:53Z","tags":["warning","elasticsearch","admin"],"pid":1356,"message":"No living connect>
Sep 19 06:03:53 ip-172-31-88-39.ec2.internal kibana[1356]: {"type":"log","@timestamp":"2019-09-19T06:03:53Z","tags":["warning","task_manager"],"pid":1356,"message":"PollError No Living connec>
Sep 19 06:03:53 ip-172-31-88-39.ec2.internal kibana[1356]: {"type":"log","@timestamp":"2019-09-19T06:03:53Z","tags":["warning","elasticsearch","admin"],"pid":1356,"message":"Unable to revive >
Sep 19 06:03:53 ip-172-31-88-39.ec2.internal kibana[1356]: {"type":"log","@timestamp":"2019-09-19T06:03:53Z","tags":["warning","elasticsearch","admin"],"pid":1356,"message":"No living connect>

您知道问题出在哪里吗?

11 个答案:

答案 0 :(得分:4)

可能不是该问题的解决方案

在我的情况下,kibana和elasticsearch的版本不兼容
我使用docker的方式只是重新创建了两者,但使用的是同一版本(7.5.1)

https://www.elastic.co/support/matrix#matrix_compatibility

答案 1 :(得分:3)

执行那个

curl -XDELETE http://localhost:9200/*kibana*

并重启kibana服务

service kibana restart

答案 2 :(得分:2)

该错误可能与elastic.hosts设置有关。以下步骤对我有用:

  1. 打开/etc/elasticsearch/elasticsearch.yml文件并检查以下设置:

#network.host: localhost

2。打开/etc/kibana/kibana.yml文件并检查设置并检查:

#elasticsearch.hosts: ["http://localhost:9200"]

  1. 检查两条线的设置是否相同。如果您为Elasticsearch网络主机使用IP地址,则需要将其应用于kibana。

问题是kibana无法在本地访问elasticsearch。

答案 3 :(得分:2)

问题是kibana无法在本地访问elasticsearch。 我认为您已通过Elasticsearch.yml启用了 xpack.security 插件 添加新行:

xpack.security.enabled : true

如果需要取消注释kibana.yml上的两行:#elasticsearch.username&#elasticsearch.password并设置

elasticsearch.username = kibana elasticsearch.password = your-password

之后,保存更改 并重新启动kibana服务:sudo systemctl重新启动kibana.service

答案 4 :(得分:2)

请参阅有关Kibana unabe to connect to elasticsearch on windows的讨论

删除elasticsearcch上的 .kibana_task_manager_1 索引对我来说解决了这个问题!

答案 5 :(得分:1)

将Elasticsearch从6.x升级到7.x时,我曾经遇到过同样的问题

删除.kibana*索引可解决此问题。

答案 6 :(得分:0)

为克服此事件,我已删除并重新创建了两个服务器。我已经安装了ES和Kibana 7.4,也已经将ES服务器的VM大小从t1.micro增大到t2.small。一切都很好。在以前的ES实例中,该实例有时会自行停止。因此,vm ram是1GB,因此我不得不限制JVM堆大小,也许这就是整个问题发生的原因。

答案 7 :(得分:0)

可能有多种原因。没什么可尝试的

如果它们不起作用,请打开kibana.yml的详细日志记录,然后重新启动kibana,以获取有关造成此问题的原因的更多见解。

HTH

答案 8 :(得分:0)

就我而言,以下更改解决了该问题。

/etc/elasticsearch/elasticsearch.yml-未注释该条目#network.host:本地主机

/etc/kibana/kibana.yml-未注释此条目#elasticsearch.hosts:[“ http:// localhost:9200”]

答案 9 :(得分:0)

原因可能在:

For Linux's docker hosts only. By default 
virtual memory is not enough so run the next command as root sysctl -w vm.max_map_count=262144

因此,如果您没有执行它,请执行以下操作:

sysctl -w vm.max_map_count=262144

如果有帮助,即使在VM重新加载后也要使用它,请检查以下注释:https://stackoverflow.com/a/50371108/1151741

答案 10 :(得分:0)

我的情况最终遇到了相同的问题,但是是由于对Elasticsearch和Kibana使用了官方的Docker容器。特别是,有关Kibana图像的文档错误地认为您将至少具有一项关键知识。

就我而言,解决方案是确保:

  • 匹配的网络标签
  • Elasticsearch Docker容器的链接使用:elasticsearch标签, 不是 版本标签。

我犯了使用Elasticsearch容器版本标记的错误。这是我需要的docker run命令的更正格式:

docker run -d --name {Kibana container name to set} --net {network name known to Elasticsearch container} --link {name of Elasticsearch container}:elasticsearch -p 5601:5601 kibana:7.10.1

考虑以上命令,如果我们替代...

  • lookeyHere作为Kibana容器名称
  • myNet作为网络名称
  • myPersistence作为Elasticsearch容器名称

然后我们得到以下信息:

docker run -d --name lookyHere --net myNet --link myPersistence:elasticsearch -p 5601:5601 kibana:7.10.1

正确设置:elasticsearch至关重要,因为它可以在#elasticsearch.hosts文件中设置/etc/kibana/kibana.yml值,而您不会如果您使用的是官方Docker映像,则可以轻松进行修改。 @user8832381's answer above为我提供了解决这个问题的指导。

希望这将为您节省几个小时。