Kibana 报 "Connection Failed" 错误怎么办?

Kibana 连接失败通常是连不上 Elasticsearch:检查 ES 是否存活、Kibana 配置的 elasticsearch.hosts 地址、认证凭据、TLS 证书与版本兼容性。本文给出按序排查清单。

最佳实践
Kibana 报 "Connection Failed" 错误怎么办?封面

Kibana 的 "Connection Failed" 可能发生在浏览器到 Kibana、Kibana 到 Elasticsearch 或具体功能服务之间,先结合界面与服务日志确认是哪一段连接失败。按"ES 活着吗 → 地址对不对 → 认证通不通 → TLS 配没配"四步排查即可。

排查四步

1. ES 是否存活

curl http://es-host:9200

示例为无 TLS 本地端点;实际需匹配协议、CA 和认证。401/403 说明已收到 HTTP 响应,不等于网络不通;连接失败也可能是 DNS/路由/代理。

2. Kibana 配置的地址

# kibana.yml
elasticsearch.hosts: ["http://es-host:9200"]

Docker 场景注意:localhost 指的是容器自己——要写 ES 容器的网络名或宿主机 IP。

3. 认证

ES 开了安全特性(8.x 默认开启)后必须配置:

elasticsearch.username: "kibana_system"
# 密码通过 kibana-keystore add elasticsearch.password 输入,不放此文件

4. TLS

ES 8.x 首次启动成功执行安全自动配置时会启用 HTTPS;已有或自定义集群应核对实际配置:

elasticsearch.hosts: ["https://es-host:9200"]
elasticsearch.ssl.certificateAuthorities: ["/etc/kibana/ca.crt"]

核对证书 SAN、有效期与完整可信 CA,保留证书验证,不用 none 代替修复。

版本兼容性

需按 Elastic 支持矩阵和升级流程匹配完整版本;仅大版本相同不保证任意 minor/patch 组合兼容。

常见问题(FAQ)

Q:curl 能通但 Kibana 还是失败? 先在 Kibana 相同网络环境核对实际地址、认证和 TLS——curl 加同样的 -u 和证书参数再验证。

Q:日志里看到 "Unable to revive connection"? 这是连接恢复失败的概括,需看相邻异常区分网络、TLS、认证和服务状态;TCP端口可连不证明应用通信正常。

Q:K8s 里怎么配? hosts 写 ES Service 名(http://elasticsearch:9200),注意命名空间。

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台