You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Compose部署Elasticsearch与Kibana时Kibana未就绪求助

解决Kibana连接Elasticsearch时kibana_system认证失败问题

排查与修复步骤

1. 校验kibana_system密码一致性

  • 确认.env文件中KIBANA_SYSTEM_PASSWORD与Elasticsearch中kibana_system用户的密码完全匹配。若不确定ES中该用户密码,可进入ES容器重置:
    docker exec -it <es容器名> /usr/share/elasticsearch/bin/elasticsearch-reset-password -u kibana_system
    
    将生成的新密码同步更新到Kibana配置的elasticsearch.password字段或.env对应变量,随后重启Kibana容器。

2. 检查Elasticsearch安全配置

  • 确保ES容器已启用正确的安全参数(可通过Compose环境变量或elasticsearch.yml配置):
    environment:
      - xpack.security.enabled=true
      - xpack.security.http.ssl.enabled=true
      - xpack.security.transport.ssl.enabled=true
    
    若开启SSL,Kibana必须配置信任ES的CA证书:
    在Kibana的Compose配置中挂载证书文件:
    volumes:
      - ./es/config/certs/http_ca.crt:/usr/share/kibana/config/certs/http_ca.crt
    
    同时在kibana.yml中添加:
    elasticsearch.ssl.certificateAuthorities: ["/usr/share/kibana/config/certs/http_ca.crt"]
    

3. 确认Docker网络连通性

  • 检查两个容器是否处于同一Docker网络:
    docker network inspect <你的网络名称>
    
    确保Kibana配置的elasticsearch.hosts为ES容器的服务名(如http://elasticsearch:9200),而非localhost或外部IP地址。

4. 重置kibana_system用户权限(可选)

  • 若用户权限异常,进入ES容器执行以下命令:
    # 重置密码
    docker exec -it <es容器名> /usr/share/elasticsearch/bin/elasticsearch-reset-password -u kibana_system -i
    # 确保用户拥有kibana_system角色
    docker exec -it <es容器名> /usr/share/elasticsearch/bin/elasticsearch-users roles -a kibana_system -u kibana_system
    

5. 排查ES容器日志

  • 查看ES日志中是否有kibana_system相关的认证错误:
    docker logs <es容器名> | grep "kibana_system"
    
    若存在IP限制、SSL握手失败等信息,需对应调整ES的xpack.security.authc系列配置。

关键注意事项

  • Elasticsearch 8.x版本默认启用严格安全认证,密码、证书、网络配置必须完全匹配。
  • 使用自定义证书时,务必保证Kibana信任ES的CA根证书,否则会因SSL验证失败触发认证错误。

内容的提问来源于stack exchange,提问作者Sasan Askari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 23:13:21