Spring Boot Admin监控中Sentinel状态显示不正常

Blade 未结 2 2060
Rumba
Rumba 剑圣 2020-03-10 16:54

一、该问题的重现步骤是什么?

  1. 按照项目script文件里面的deploy.sh配置运行bladex 2.4.0.release在centos服务器。

  2. 各个服务启动运行正常,日志无报错。前台访问、登录正常进入系统。

  3. deploy脚本中docker-compose中的sentinel地址默认配置172.30.0.58 端口 8858 映射到主机192.168.12.25:8858端口

  4. blade-common模块中LauncherConstant中配置SENTINEL_TEST_ADDR = "172.30.0.58:8858";

  5. 所有docker打包配置spring.profiles.active=test

  6. blade-admin地址:http://192.168.12.35:7002/

  7. sentinel地址:http://192.168.12.35:8858/

  8. docker运行状态:

    image.png


二、你期待的结果是什么?实际看到的又是什么?

  1. 访问blade-admin http://192.168.12.35:7002/ 各个服务应该正常是up状态。但显示除blade-gateway之外的服务,都是down。点击进入状态异常的服务进去查看,发现sentinel状态是down。检查sentinel运行状态正常,地址http://192.168.12.35:8858/正常访问,登录后发现只有sentinel-dashboard节点。

    image.png

    image.pngimage.png



三、你正在使用的是什么产品,什么版本?在什么操作系统上?

  1. bladex 2.4.0.release

  2. centos7 docker

  3. image.png



四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。



2条回答
  • 我本地跑了下,可以连上, sentinel-dashboard需要有接口持续访问,才会出现服务名。

    另外为了测试,你可以执行docker logs -f blade-xxx,进入docker容器ping一下sentinel的ip,或者curl一下他的接口,看看是否能通。

    连接成功具体如下图

    image.png

    image.png

    作者追问:2020-03-12 10:33

    检查了各个ip端口都是通的。后来发现LauncherConstant中配置SENTINEL_TEST_ADDR = "172.30.0.58:8858";这个配置为docker私网地址就不行,改为主机地址就ok了 没咋想通。

    1 讨论(1)
  • 2020-03-23 13:40
    1. dev环境下, 只需要改SENTINEL_DEV_ADDR.

    2. 注意菜单配置中的"sentinel管理"的路由地址, 配置成Sentinel的实际地址, 以防微服务和sentinel不在一台机器上, 从而127.0.0.1失效.

    3. 如果微服务和sentinel确实不在同一机器上, 则Spring Boot Admin上显示仍有一部分微服务是Down的, 原因是, sentinel的地址未更新. 查看 "微服务ip:port/actuator/health"可见返回的json中, 仍然提示: "description":"127.0.0.1:8858 can't be connected". 解决办法: 把显示为Down而实际上up的微服务重启一次即可.

    4. 如果微服务和sentinel确实不在同一机器上, 菜单"系统监控"下的"服务治理"的路由地址需要配置为AdminApplication微服务所在的地址, 以显示"服务治理"页面.

    0 讨论(0)
提交回复