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

Elasticsearch升级后Docker容器异常及Kibana无法访问求助

Elasticsearch 7.10.1 升级至7.17.6后Kibana无法访问问题

环境概述

  • 单服务器部署3节点Elasticsearch集群(es01、es02、es03)
  • 搭配1个Kibana实例(kib01)
  • 通过修改.env文件完成版本升级

首次启动异常

执行sudo docker-compose up -d后报错:

Starting es03   ... done
Recreating es01 ... done
Starting es02   ... done

ERROR: for kib01  Container "<container-ID>" is unhealthy.
ERROR: Encountered errors while bringing up the project.

系统日志/var/log/messages相关内容:

Sep  9   avahi-daemon[890]: Withdrawing address record for  on <ID1>.
Sep  9   avahi-daemon[890]: Withdrawing workstation service for <id>.
Sep  9   libvirtd: 2022-09-09 : 1468: error : virFileReadAll:1460 : Failed to open file '/sys/class/net/<id>/operstate': No such file or directory
Sep  9   libvirtd: 2022-09-09 : 1468: error : virNetDevGetLinkInfo:2552 : unable to read: /sys/class/net/<id>/operstate: No such file or directory
Sep  9   kernel: device <ID1> left promiscuous mode
Sep  9   kernel: : port 2(<ID1>) entered disabled state
Sep  9   avahi-daemon[890]: Withdrawing workstation service for <ID1>.
Sep  9   NetworkManager[884]: <info>  [] manager: (<ID2>): new Veth device (/org/freedesktop/NetworkManager/Devices/100)
Sep  9   NetworkManager[884]: <info>  [] device (<ID1>): released from master device 
Sep  9   kernel: : port 3() entered disabled state

后续操作及新问题

删除原有容器后,从同目录下另一个文件夹执行sudo docker-compose up -d,输出如下,且Elasticsearch集群所有节点健康状态正常,但访问Kibana前端URL提示“无法访问此网站”:

Creating es02 ... done
Creating es03 ... done
Creating es01 ... done
Creating kib01 ... done

排查与解决步骤

1. 检查Kibana容器运行状态

执行docker ps -a确认kib01容器是否正常运行,若容器已退出,查看容器日志定位问题:

docker logs kib01

重点关注Elasticsearch连接配置、端口监听、权限相关报错。

2. 验证Kibana端口映射

检查docker-compose.yml中Kibana的端口映射配置,确认宿主机端口(默认5601)是否正确暴露:

services:
  kib01:
    ports:
      - "5601:5601"

执行ss -tulpn | grep 5601,确认宿主机的5601端口是否被Kibana容器占用。

3. 检查Kibana与Elasticsearch的连通性

进入Kibana容器内部,测试与Elasticsearch集群的连通性:

docker exec -it kib01 curl http://es01:9200

若无法连通,检查docker-compose.yml中Kibana的ELASTICSEARCH_HOSTS配置是否正确指向Elasticsearch集群地址。

4. 排查网络拦截问题

  • 检查宿主机防火墙/安全组是否放行5601端口,执行firewall-cmd --list-ports(firewalld环境)或ufw status(ufw环境)确认。
  • 若从外部访问,确认服务器公网IP配置正确,且网络路由无阻断。
  • 执行docker network ls查看集群使用的网络,确认Kibana和Elasticsearch节点在同一Docker网络内。

5. 修正Kibana健康检查配置

针对首次启动的unhealthy错误,检查docker-compose.yml中Kibana的健康检查配置是否适配7.17.6版本,示例正确配置:

services:
  kib01:
    healthcheck:
      test: ["CMD-SHELL", "curl -s http://localhost:5601/api/status | grep -q '\"status\":\"green\"'"]
      interval: 10s
      timeout: 10s
      retries: 6

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 16:40:26