一、该问题的重现步骤是什么?
按照项目script文件里面的deploy.sh配置运行bladex 2.4.0.release在centos服务器。
各个服务启动运行正常,日志无报错。前台访问、登录正常进入系统。
deploy脚本中docker-compose中的sentinel地址默认配置172.30.0.58 端口 8858 映射到主机192.168.12.25:8858端口
blade-common模块中LauncherConstant中配置SENTINEL_TEST_ADDR = "172.30.0.58:8858";
所有docker打包配置spring.profiles.active=test
blade-admin地址:http://192.168.12.35:7002/
sentinel地址:http://192.168.12.35:8858/
docker运行状态:
二、你期待的结果是什么?实际看到的又是什么?
访问blade-admin http://192.168.12.35:7002/ 各个服务应该正常是up状态。但显示除blade-gateway之外的服务,都是down。点击进入状态异常的服务进去查看,发现sentinel状态是down。检查sentinel运行状态正常,地址http://192.168.12.35:8858/正常访问,登录后发现只有sentinel-dashboard节点。
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
bladex 2.4.0.release
centos7 docker
四、请提供详细的错误堆栈信息,这很重要。
无
五、若有更多详细信息,请在下面提供。
无
我本地跑了下,可以连上, sentinel-dashboard需要有接口持续访问,才会出现服务名。
另外为了测试,你可以执行docker logs -f blade-xxx,进入docker容器ping一下sentinel的ip,或者curl一下他的接口,看看是否能通。
连接成功具体如下图
检查了各个ip端口都是通的。后来发现LauncherConstant中配置SENTINEL_TEST_ADDR = "172.30.0.58:8858";这个配置为docker私网地址就不行,改为主机地址就ok了 没咋想通。
dev环境下, 只需要改SENTINEL_DEV_ADDR.
注意菜单配置中的"sentinel管理"的路由地址, 配置成Sentinel的实际地址, 以防微服务和sentinel不在一台机器上, 从而127.0.0.1失效.
如果微服务和sentinel确实不在同一机器上, 则Spring Boot Admin上显示仍有一部分微服务是Down的, 原因是, sentinel的地址未更新. 查看 "微服务ip:port/actuator/health"可见返回的json中, 仍然提示: "description":"127.0.0.1:8858 can't be connected". 解决办法: 把显示为Down而实际上up的微服务重启一次即可.
如果微服务和sentinel确实不在同一机器上, 菜单"系统监控"下的"服务治理"的路由地址需要配置为AdminApplication微服务所在的地址, 以显示"服务治理"页面.
扫一扫访问 Blade技术社区 移动端