Sentinel 控制台没有显示我的应用,或者没有监控展示,如何排查?
Sentinel Dashboard 是一个单独启动的控制台,应用若想上报监控信息给 Sentinel 控制台,需要引入 Sentinel 上报信息的客户端。它们各自有自己的通信端口,其中控制台的端口可通过启动参数 -Dserver.port=xxxx 进行配置,而 Sentinel 客户端的端口可以通过启动参数 -Dcsp.sentinel.api.port 进行配置(默认是 8719)。两者都启动之后,Sentinel 客户端在首次访问资源时会初始化并给控制台发送心跳,之后控制台会通过客户端提供的端口对 Sentinel 客户端进行访问来拉取相关信息。基于此,接入控制台需要的步骤如下:
接入 Sentinel 的应用应该引入 Sentinel 客户端通信的基础 jar 包,如 sentinel-transport-simple-http 客户端启动时添加相应的 JVM 参数,包括: 应用名称:-Dproject.name=xxxx 控制台地址:-Dcsp.sentinel.dashboard.server=ip:port 本地的 Sentinel 客户端端口:-Dcsp.sentinel.api.port=xxxx(默认是 8719) 参数配置详情请参考 Sentinel 控制台文档。 启动控制台,运行应用,当首次访问对应的资源后 等待一段时间即可在控制台上看到对应的应用以及相应的监控信息。可以通过 curl http://ip:port/tree 命令查看调用链,正常情况下会显示出已访问资源的调用链。 注意:Sentinel 会在客户端首次调用时候进行初始化,开始向控制台发送心跳包。因此需要确保客户端有访问量,才能在控制台上看到监控数据。另外,还是期待大家养成看日志的好习惯,详见 日志文档。
控制台推送规则的日志默认位于 ${user.home}/logs/csp/sentinel-dashboard.log
客户端接收规则日志默认位于 ${user.home}/logs/csp/sentinel-record.log.xxx
常用排查问题列表:
确认 Dashboard 已经正常启动并可以正常访问 若是 Spring Boot / Dubbo 等应用,请务必检查是否引入了整合依赖并进行了相应配置
检查接入端的启动参数配置是否正确(如控制台地址是否配置正确)
通过 ~/logs/csp/sentinel-record.log 日志排查客户端发送心跳包是否正常,是否正常上报给 Dashboard
确保 fastjson 的版本和 Sentinel 的依赖版本保持一致
通过 curl IP:port/getRules?type=flow 等命令查看结果,查看规则是否推送成功 发送到客户端的规则格式是否正确,例如确认一下降级规则的表单是否填写完整
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。