100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 快速学习-sentinel实时监控

快速学习-sentinel实时监控

时间:2022-10-30 12:52:30

相关推荐

快速学习-sentinel实时监控

9、实时监控

Sentinel 提供对所有资源的实时监控。如果需要实时监控,客户端需引入以下依赖(以Maven 为例):

<dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-transport-simple-http</artifactId><version>x.y.z</version></dependency>

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

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

9.1 簇点监控

9.1.1 获取簇点列表

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

curl http://localhost:8719/clusterNode

结果示例:

[{"avgRt": 0.0, //平均相应时间"blockRequest": 0, //每分钟拦截的请求个数"blockedQps": 0.0, //每秒拦截个数"curThreadNum": 0, //并发个数"passQps": 1.0, // 每秒成功通过请求"passReqQps": 1.0, //每秒到来的请求"resourceName": "/registry/machine",资源名称 "timeStamp": 1529905824134, //时间戳"totalQps": 1.0, // 每分钟请求数"totalRequest": 193},....]

9.1.2 查询某个簇点的详细信息

可以用下面命令模糊查询该簇点的具体信息,其中id 对应resource name,支持模糊查询:

curl http://localhost:8719/cnode?id=xxxx

结果示例:

idx id thread pass blocked successtotal aRt 1m-pass 1m-block 1m-all exeption6 /app/aliswitch2/machines.json 0 0 0 00 0 0 0 0 07 /app/sentinel-admin/machines.json 0 1 0 11 6 0 0 0 08 /identity/machine.json 0 0 0 0 00 0 0 0 09 /registry/machine 0 2 0 2 21 192 0 192 010 /app/views/machine.html 0 1 0 1 12 0 0 0 0

9.1.3 簇点调用者统计信息

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

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

结果示例:

id: nodeAidx origin threadNum passedQps blockedQps totalQps aRt 1m-passed 1m-blocked1m-total1 caller1 0 0 0 0 0 0 0 02 caller2 0 0 0 0 0 0 0 0

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

9.2 链路监控

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

EntranceNode: machine-root(t:0 pq:1 bq:0 tq:1 rt:0 prq:1 1mp:0 1mb:0 1mt:0)-EntranceNode1: Entrance1(t:0 pq:1 bq:0 tq:1 rt:0 prq:1 1mp:0 1mb:0 1mt:0)--nodeA(t:0 pq:1 bq:0 tq:1 rt:0 prq:1 1mp:0 1mb:0 1mt:0)-EntranceNode2: Entrance1(t:0 pq:1 bq:0 tq:1 rt:0 prq:1 1mp:0 1mb:0 1mt:0)--nodeA(t:0 pq:1 bq:0 tq:1 rt:0 prq:1 1mp:0 1mb:0 1mt:0)t:threadNum pq:passQps bq:blockedQps tq:totalQps rt:averageRt prq:passRequestQps 1mp:1m-passed 1mb:1m-blocked 1mt:1m-total

9.3 历史资源数据

9.3.1 资源的秒级日志

所有资源的秒级日志在${home}/logs/csp/${appName}-${pid}-metrics.log.${date}.xx。例如,该日志

的名字可能为app-3518-metrics.log.-06-22.1

1529573107000|-06-2117:25:07|sayHello(java.lang.String,long)|10|3601|10|0|2

index 例子说明

1 1529573107000 时间戳2 -06-21 17:25:07 日期3 sayHello(java.lang.String,long) 资源名称4 10 每秒通过的资源请求个数5 3601 每秒资源被拦截的个数6 10每秒结束的资源个数,包括正常结束和异常结束的情况7 0 每秒资源的异常个数8 2 资源平均响应时间

9.3.2 被拦截的秒级日志

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

-06-:35:10|1|sayHello(java.lang.String,long),FlowException,default,origin|61,0-06-:35:11|1|sayHello(java.lang.String,long),FlowException,default,origin|1,0

index 例子说明

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

9.3.3 实时查询

相关API: GET /metric

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

需指定以下URL 参数:

identity:资源名称startTime:开始时间(时间戳)endTime:结束时间maxLines:监控数据最大行数

返回和资源的秒级日志格式一样的内容。例如:

1529998904000|-06-26 15:41:44|abc|100|0|0|0|01529998905000|-06-26 15:41:45|abc|4|5579|104|0|7281529998906000|-06-26 15:41:46|abc|0|15698|0|0|01529998907000|-06-26 15:41:47|abc|0|19262|0|0|01529998908000|-06-26 15:41:48|abc|0|19502|0|0|01529998909000|-06-26 15:41:49|abc|0|18386|0|0|01529998910000|-06-26 15:41:50|abc|0|19189|0|0|01529998911000|-06-26 15:41:51|abc|0|16543|0|0|01529998912000|-06-26 15:41:52|abc|0|18471|0|0|01529998913000|-06-26 15:41:53|abc|0|19405|0|0|0

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。