开发者社区 > 云原生 > 中间件 > 正文

Sentinel 控制台没有显示我的应用,或者没有监控展示,如何排查?

Sentinel 控制台没有显示我的应用,或者没有监控展示,如何排查?

展开
收起
范zzhaha 2023-05-17 13:55:39 1007 0
1 条回答
写回答
取消 提交回答
  • 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 等命令查看结果,查看规则是否推送成功 发送到客户端的规则格式是否正确,例如确认一下降级规则的表单是否填写完整

    2023-05-17 14:01:27
    赞同 展开评论 打赏

为企业提供高效、稳定、易扩展的中间件产品。

相关电子书

更多
workshop专场-微服务专场-开发者动手实践营-微服务-使用Sentinel进行微服务流量控制 立即下载
Sentinel分布式系统下的流量防卫兵 立即下载
DTS控制台一本通 立即下载