Kibana server is not ready yet

时间:2024-12-04 07:04:19

遇到“Kibana server is not ready yet”错误通常表示Kibana无法连接到Elasticsearch。以下是一些常见原因及其解决方案:

1.常见原因

1.1.Elasticsearch未运行

确保Elasticsearch服务已启动并正常运行。您可以通过访问 http://localhost:9200 来检查Elasticsearch的状态。

1.2.网络连接问题

如果Kibana和Elasticsearch在不同的Docker容器中,确保它们在同一网络中,并使用容器名称而不是localhost进行连接。

1.3.配置错误

检查Kibana的配置文件(kibana.yml)中的elasticsearch.hosts设置,确保它指向正确的Elasticsearch URL。

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

2.解决方案

2.1. 检查Elasticsearch健康状态

使用以下命令检查Elasticsearch集群的健康状态:

bash

curl -X GET "localhost:9200/_cluster/health?pretty"

如果状态不是“green”,则需要解决Elasticsearch中的问题。

2.2. 使用Docker网络

如果您在Docker中运行Kibana和Elasticsearch,请确保它们在同一网络中。例如,创建一个Docker网络并在该网络上启动容器:

2.2.1.创建Docker网络
docker network create es-net
2.2.2.docker部署es
docker run -d \
  --name elasticsearch \
  --network es-net \
  -e "discovery.type=single-node" \
  -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
  -p 9200:9200 \
  -p 9300:9300 \
  elasticsearch:7.14.0
2.2.3.运行Kibana容器
docker run -d \
  --name kibana \
  --network es-net \
  -p 5601:5601 \
  -e ELASTICSEARCH_HOSTS=http://elasticsearch:9200 \
  kibana:7.14.0

重点!!!!!:在这里,Kibana使用http://elasticsearch:9200来连接Elasticsearch,而不是localhost