应用没有注册到sentinel控制台

Blade 未结 1 526
天天向上
天天向上 剑童 2022-11-16 16:38
悬赏:10

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

1. 没有重现步骤,就是根据【BladeX开发手册-3.0.1.RELEASE】进行服务器部署的,启动的应用就没有注册到sentinel控制台来。

2. 服务器部署正常,Swagger也都能正常打开,接口也都能正常运行,nacos也能看到启动的服务

3.唯有sentinel控制台没有看到启动的应用注册进来


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

希望看到应用都到注册到sentinel控制台,并可以进行相关API的限流测试


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

BladeXAvue联合版,BladeX-3.0.1.RELEASE,Ubuntu 22.04.1 LTS


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

没有错误信息


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

image.png


1条回答
  • 2022-11-16 22:45

    bladex对sentinel没有做过任何二开,对接到sentinel仅仅只做了两步:一、引入sentinel的依赖 二、配置了sentinel的地址。 

    所以你本地可以,部署后sentinel服务看不到那必定是部署上环境的问题。而你提供的截图,本地编辑了bladex-tool的地址,如果没有做mvn clean install是没有作用的。你需要确定修改到了他的地址,具体在blade-common的LauncerServiceImpl类来指定sentinel地址。(下述第四点)


    sentinel不显示服务一般有三种情况:

    一、linux时间没同步,具体可以看这个(解决1):https://blog.csdn.net/weixin_55730337/article/details/124664284

    二、sentinel懒加载,需要服务长时间调用后,才会显示在sentinel,具体可以看这个:https://blog.csdn.net/qq_40117702/article/details/122258243

    三、sentinel的ip与服务ip没有联通,具体可以看这个的(解决2):https://blog.csdn.net/weixin_55730337/article/details/124664284

    四、如果都不行,则需要做测试,首先要保证sentinel部署后的地址,在后端配置正确了没有错误,具体看下图。

    image.png

    为了其他因素干扰,你可以用下面的方法直接强制指定地址,而不用PropsUtil.set,因为PropsUtil这个方法会先判断外部是否有配置,如果有配置则跳过,没有配置才指定。

    image.png


    配置成功后,你可以用命令进入docker容器,ping一下sentinel的地址,看看是否能通。


    作者追问:2022-11-17 10:58

    服务器上的sentinel控制台界面:

    image.png


    只有这一个应用显示,其他都没有。



    作者追问:2022-11-17 11:04

    随进一个docker容器ping ip地址,都是通的,如图:
    image.png

    作者追问:2022-11-17 15:34

    进入应用容器查看sentinel连接日志如下:
    image.png


    查到sentinel issues 解决方案如下:

    79CF5833B7D92927CA491AD379400AA2.jpg




    针对sentinel集成是不是得升级下

    0 讨论(0)
提交回复