Ubuntu22.04部署ES8.2、Kibana8.2无法访问Kibana界面问题
问题排查与修复方案
访问Kibana提示Kibana server is not ready yet本质是Kibana服务启动后无法正常连接Elasticsearch完成初始化,从你贴的配置来看有3处明确的配置错误,按顺序修复即可:
1. 访问协议不匹配
你的Elasticsearch已经开启了HTTP层SSL加密(配置项xpack.security.http.ssl.enabled: true),所有ES的HTTP API都只接受HTTPS请求,但Kibana配置里写的ES地址是http://192.168.1.10:9200,用HTTP协议发请求会直接被ES拒绝。
把Kibana配置文件kibana.yml里的对应行改成:
elasticsearch.hosts: ["https://192.168.1.10:9200"]
2. 缺少SSL信任配置与访问凭据
ES 8.x默认开启全量安全特性,Kibana连接ES时需要验证ES的SSL证书合法性,同时提供合法的服务账号凭据,不然连接会被拦截:
- 先把ES自动生成的HTTP CA证书复制到Kibana配置目录,给Kibana进程加读权限:
cp /etc/elasticsearch/certs/http_ca.crt /etc/kibana/ chown kibana:kibana /etc/kibana/http_ca.crt
- 重置Kibana专用服务账号
kibana_system的密码,执行命令后按交互提示输入自定义密码即可:
/usr/share/elasticsearch/bin/elasticsearch-reset-password -u kibana_system -i
- 在
kibana.yml末尾追加以下配置:
# 配置ES的CA证书信任 elasticsearch.ssl.certificateAuthorities: ["/etc/kibana/http_ca.crt"] elasticsearch.ssl.verificationMode: certificate # 配置Kibana连接ES的服务账号 elasticsearch.username: "kibana_system" elasticsearch.password: "刚才你给kibana_system设置的密码"
不要直接用超级管理员
elastic账号配置给Kibana服务使用,会存在权限安全风险,也不符合官方配置规范。
3. 重启服务验证
配置修改完成后按顺序重启服务,先等Elasticsearch完全启动再启动Kibana:
systemctl restart elasticsearch # 等待1-2分钟,执行curl测试ES能正常响应再继续 curl -k https://192.168.1.10:9200 systemctl restart kibana
Kibana首次启动初始化需要1-2分钟,之后再访问http://192.168.1.10:5601即可正常进入界面。如果还是报错,直接看Kibana实时日志定位具体问题:
journalctl -u kibana -f
常见附加问题排查
- 服务器防火墙未放开端口:执行
ufw allow 9200/tcp && ufw allow 5601/tcp放开ES和Kibana的Web端口 - ES证书目录权限异常:执行
chown -R elasticsearch:elasticsearch /etc/elasticsearch/certs修复权限,保证ES进程能正常读取证书文件 - 内存不足:ES默认分配1G堆内存,如果服务器内存小于2G很容易启动失败,可适当调小
/etc/elasticsearch/jvm.options里的-Xms和-Xmx参数到512m测试。
内容的提问来源于stack exchange,提问作者Firas Bougrine
相关产品推荐
相关产品推荐

