【Sentinel 控制台无应用显示-如何排查】

前言

在学习 Sentinel 的时候,可能会导致Sentinel dashboard 中无对应应用显示的问题,因无应用就无法开始后续的操作,因此此处分享如何排查应用不显示的方式。

客户端配置要求

  1. 接入 Sentinel 的应用应该引入 Sentinel 客户端通信的基础 jar 包,如 sentinel-transport-simple-http
  2. 客户端启动时添加相应的 JVM 参数,包括:
    a. 应用名称:-Dproject.name=xxxx(会显示在控制台)
    b. 控制台地址:-Dcsp.sentinel.dashboard.server=ip:port
    c. 本地的 Sentinel 客户端端口:-Dcsp.sentinel.api.port=xxxx(可选,默认是 8719,有冲突会尝试向后探测)
    详细参数配置详情请参考 。Sentinel 控制台文档
  3. 启动控制台,运行应用,当首次访问对应的资源后,等待一段时间 即可在控制台上看到对应的应用以及相应的监控信息。可以通过 curl http://ip:port/tree 命令查看调用链,正常情况下会显示出已访问资源的调用链。

非常重要又容易忘记的点

Sentinel 会在客户端首次调用时候进行初始化,开始向控制台发送心跳包。因此

需要确保客户端有访问量,才能在控制台上看到监控数据

常用排查问题列表

  • 确认 Dashboard 已经正常启动并可以正常访问。
  • 检查网络配置、防火墙配置,确认控制台与接入端服务双向的网络是否连通。
  • 若是 Spring Boot 等应用,请务必检查是否引入了整合依赖,并进行了相应配置
  • 检查接入端的启动参数配置是否正确(如控制台地址是否配置正确)。
  • 通过 ~/logs/csp/sentinel-record.log 日志排查客户端发送心跳包是否正常,是否正常上报给 Dashboard。
  • 若规则保存成功但未在控制台上出现,请确保接入端的 fastjson 的版本是较新版本。
  • 若簇点能看到实时数据但监控看不到,请确保控制台系统时间与接入端系统时间保持同步。注意控制台监控只保留最近几分钟的数据。
  • 若控制台已正常显示应用,但看不到监控、请求链路,机器列表页面显示的 IP 不正确,可以参考此 issue
  • 通过 curl IP:port/getRules?type=flow 等命令查看结果,查看规则是否推送成功

回归官网

Sentinel

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

你可能感兴趣的:(sentinel)