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

Blade 未结 2 2234
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条回答
  •  小迷
    小迷 (楼主)
    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微服务所在的地址, 以显示"服务治理"页面.

提交回复