引入上述依赖后,客户端便会主动连接 Sentinel 控制台。通过 即可查看客户端的实时监控。

通常您并不需要关心以下 API,但是如果您对开发控制台感兴趣,以下为监控 API 的文档。

相关 API:

当应用启动之后,可以运行下列命令,获得当前所有簇点(ClusterNode)的列表(JSON 格式):

  1. curl http://localhost:8719/clusterNode

结果示例:

  1. [
  2. {"avgRt":0.0, //平均相应时间
  3. "blockRequest":0, //每分钟拦截的请求个数
  4. "blockedQps":0.0, //每秒拦截个数
  5. "curThreadNum":0, //并发个数
  6. "passQps":1.0, // 每秒成功通过请求
  7. "passReqQps":1.0, //每秒到来的请求
  8. "resourceName":"/registry/machine", 资源名称
  9. "totalQps":1.0, // 每分钟请求数
  10. "totalRequest":193},
  11. ....
  12. ]
  1. curl http://localhost:8719/cnode?id=xxxx

结果示例:

可以用下列命令查询该簇点的调用者统计信息:

  1. curl http://localhost:8719/origin?id=xxxx

结果示例:

  1. id: nodeA
  2. idx origin threadNum passedQps blockedQps totalQps aRt 1m-passed 1m-blocked 1m-total
  3. 1 caller1 0 0 0 0 0 0 0 0
  4. 2 caller2 0 0 0 0 0 0 0 0

其中的 origin 由 ContextUtil.enter(resourceName,origin) 方法中的 origin 指定。

我们可以通过命令 curl http://localhost:8719/tree 来查询链路入口的链路树形结构:

  1. EntranceNode: machine-root(t:0 pq:1 bq:0 tq:1 rt:0 prq:1 1mp:0 1mb:0 1mt:0)
  2. -EntranceNode1: Entrance1(t:0 pq:1 bq:0 tq:1 rt:0 prq:1 1mp:0 1mb:0 1mt:0)
  3. --nodeA(t:0 pq:1 bq:0 tq:1 rt:0 prq:1 1mp:0 1mb:0 1mt:0)
  4. -EntranceNode2: Entrance1(t:0 pq:1 bq:0 tq:1 rt:0 prq:1 1mp:0 1mb:0 1mt:0)

所有资源的秒级日志在 ${home}/logs/csp/${appName}-${pid}-metrics.log.${date}.xx。例如,该日志的名字可能为 app-3518-metrics.log.2018-06-22.1

2.被拦截的秒级日志

同样的,每秒的拦截日志也会出现在 <用户目录>/logs/csp/sentinel-block.log 文件下。如果没有发生拦截,则该日志不会出现。

  1. 2014-06-20 16:35:10|1|sayHello(java.lang.String,long),FlowException,default,origin|61,0
  2. 2014-06-20 16:35:11|1|sayHello(java.lang.String,long),FlowException,default,origin|1,0
index 例子 说明
1 2014-06-20 16:35:10 时间戳
2 1 该秒发生的第一个资源
3 资源名称
4 XXXException 拦截的原因, 通常 FlowException 代表是被限流规则拦截, DegradeException 则表示被降级,SystemException 则表示被系统保护拦截
5 default 生效规则的调用应用
6 origin 被拦截资源的调用者。可以为空
7 61,0 61 被拦截的数量,0则代表可以忽略

3.实时查询

  1. curl http://localhost:8719/metric?identity=XXX&startTime=XXXX&endTime=XXXX&maxLines=XXXX

返回和格式一样的内容。

  1. 1529998904000|2018-06-26 15:41:44|abc|100|0|0|0|0
  2. 1529998905000|2018-06-26 15:41:45|abc|4|5579|104|0|728
  3. 1529998906000|2018-06-26 15:41:46|abc|0|15698|0|0|0
  4. 1529998907000|2018-06-26 15:41:47|abc|0|19262|0|0|0
  5. 1529998908000|2018-06-26 15:41:48|abc|0|19502|0|0|0
  6. 1529998909000|2018-06-26 15:41:49|abc|0|18386|0|0|0
  7. 1529998910000|2018-06-26 15:41:50|abc|0|19189|0|0|0
  8. 1529998911000|2018-06-26 15:41:51|abc|0|16543|0|0|0