转载自  实时监控

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

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

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

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

簇点监控

获取簇点列表

相关 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}, ....
]

查询某个簇点的详细信息

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

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

结果示例:

idx id                                thread    pass      blocked   success    total    aRt   1m-pass   1m-block   1m-all   exeption
6   /app/aliswitch2/machines.json     0         0         0         0          0        0     0         0          0        0
7   /app/sentinel-admin/machines.json 0         1         0         1          1        6     0         0          0        0
8   /identity/machine.json            0         0         0         0          0        0     0         0          0        0
9   /registry/machine                 0         2         0         2          2        1     192       0          192      0
10  /app/views/machine.html           0         1         0         1          1        2     0         0          0        0

簇点调用者统计信息

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

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

结果示例:

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

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

链路监控

我们可以通过命令 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

历史资源数据

资源的秒级日志

所有资源的秒级监控日志(metric 日志)在 ${home}/logs/csp/${appName}-metrics.log.${date}.xx。例如,该日志的名字可能为 my-service-metrics.log.2018-06-22.1。日志示例:

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

格式说明:

index 例子 说明
1 1529573107000 时间戳
2 2018-06-21 17:25:07 日期
3 sayHello(java.lang.String,long) 资源名称
4 10 每秒通过的资源请求个数 (pass QPS)
5 3601 每秒资源被拦截的个数 (block QPS)
6 10 每秒完成调用的资源个数 (complete QPS),包括正常结束和异常结束的情况
7 0 每秒资源的异常个数 (error QPS)
8 2 资源平均响应时间(ms)
9 0 该秒占用未来请求的数目(since 1.5.0)
10 0 预留用
11 1 资源分类(since 1.7.0)

被拦截的秒级日志

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

2014-06-20 16:35:10|1|sayHello(java.lang.String,long),FlowException,default,origin|61,0
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 sayHello(java.lang.String,long) 资源名称
4 XXXException 拦截的原因, 通常 FlowException 代表是被限流规则拦截,DegradeException 则表示被降级,SystemBlockException 则表示被系统保护拦截
5 default 生效规则的调用来源(参数限流中代表生效的参数)
6 origin 被拦截资源的调用者,可以为空
7 61,0 61 被拦截的数量,0 无意义可忽略

实时查询

相关 API: GET /metric

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

需指定以下 URL 参数:

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

返回和 metric 日志 格式一样的内容。例如:

1529998904000|2018-06-26 15:41:44|abc|100|0|0|0|0
1529998905000|2018-06-26 15:41:45|abc|4|5579|104|0|728
1529998906000|2018-06-26 15:41:46|abc|0|15698|0|0|0
1529998907000|2018-06-26 15:41:47|abc|0|19262|0|0|0
1529998908000|2018-06-26 15:41:48|abc|0|19502|0|0|0
1529998909000|2018-06-26 15:41:49|abc|0|18386|0|0|0
1529998910000|2018-06-26 15:41:50|abc|0|19189|0|0|0
1529998911000|2018-06-26 15:41:51|abc|0|16543|0|0|0
1529998912000|2018-06-26 15:41:52|abc|0|18471|0|0|0
1529998913000|2018-06-26 15:41:53|abc|0|19405|0|0|0

Sentinel(十二)之实时监控相关推荐

  1. OpenGL超级宝典(第7版)之第十二章管线监控

    OpenGL超级宝典(第7版)之第十二章管线监控 前言 一.查询 1.遮挡查询 二.OpenGL同步 前言 查询命令在图形管线中的执行进程 测量命令执行时间 同步应用程序与OpenGL以及同步多重Op ...

  2. java版spring cloud+spring boot+redis多租户社交电子商务平台(十二)断路器监控(Hystrix Dashboard)...

    电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.在我的第四篇文章断路器讲述了如何使用断路器,并简单的介绍了下Hystrix Dashboard组件,这篇文章更加详细的介绍Hystrix Das ...

  3. 史上最简单的SpringCloud教程 | 第十二篇: 断路器监控(Hystrix Dashboard)

    转:https://blog.csdn.net/forezp/article/details/70217283 在我的第四篇文章断路器(https://blog.csdn.net/forezp/art ...

  4. 企业分布式微服务云SpringCloud SpringBoot mybatis (十二)断路器监控(Hystrix Dashboard)...

    在我的第四篇文章断路器讲述了如何使用断路器,并简单的介绍了下Hystrix Dashboard组件,这篇文章更加详细的介绍Hystrix Dashboard. 一.Hystrix Dashboard简 ...

  5. 从零开始学习docker(二十二)容器监控

    docker ps 可以知道后台有哪些容器在运行. docker ps -a 可以知道后台有哪些容器在运行.包括退出的容器. docker top CONTAINER_ID 可以知道container ...

  6. Mysql系列(十二)Mysql监控操作

    Mysql监控属于DB监控的模块之一,包括采集.展示.监控告警.本文主要介绍Mysql监控的主要指标和采集方法. Mysql监控和Redis监控的逻辑类似,可参考文章<Redis监控>. ...

  7. Spring Cloud Alibaba 实战 | 第十二篇: 微服务整合Sentinel的流控、熔断降级,赋能拥有降级功能的Feign新技能熔断,实现熔断降级双剑合璧(JMeter模拟测试)

    文章目录 一. Sentinel概念 1. 什么是Sentinel? 2. Sentinel功能特性 3. Sentinel VS Hystrix 二. Docker部署Sentinel Dashbo ...

  8. 开源的调色板软件:焰火十二卷(Rickrack)

    一.前言 Adobe Color 是一个配色网站,可以在线生成不同风格的色彩主题,受到设计师的喜爱.然而,Adobe Color 服务器在国外,导致连接速度很慢,甚至会连接不上.并且,Adobe Co ...

  9. 树莓派+摄像头实现实时监控

    一.安装摄像头并测试 1.断电安装摄像头,且不可热插拔,否则摄像头会损坏 2.更新固件 sudo apt update sudo apt upgrade 3.检测摄像头是否安装成功 vcgencmd ...

最新文章

  1. master.dbo.spt_values
  2. windows10远程控制 电脑,远程桌面
  3. apache配置虚拟主机(virtual host) 笔记
  4. crypto-js RC4和hash_hmac运用
  5. contract net with fipa
  6. 7-6 顺序存储的二叉树的最近的公共祖先问题 (10 分)
  7. aws搭建java项目_AWS 创建开源 UI 项目:这是新开源设计系统的第一步
  8. 【软考】2020年全国计算机技术与软件专业技术资格考试,网络工程师(中级),考纲
  9. Servlet→DWR实现JAVA服务器端向客户端推送消息
  10. 前端之JQuery:JQuery文档操作
  11. 机房重构——UML图最终版本
  12. 《自适应软件开发》—从奴隶主到领袖 1 序言
  13. ACM 6174问题C++解决
  14. HR 真的会嫌弃面试者跳槽频繁吗?
  15. 使用stream将List转换为用逗号拼接的字符串
  16. OpenCV如何进行图像的平滑和锐化处理?
  17. (转)StrictMode使用详解,strictmode
  18. 分享13:2021元旦之《白夜行》
  19. 中式英语之鉴读书笔记(上)
  20. LED智能照明与健康-光莆电子-张潇

热门文章

  1. python统计字符串中字母个数字母无视大小写_判断一个字符串中字母的个数(无视大小写)...
  2. [JavaWeb-HTML]HTML标签_块标签
  3. 《C++ Primer》13.1.6节练习(部分)
  4. Excel使用技巧,补充中。。。
  5. Two Arrays And Swaps CodeForces - 1353B(贪心+分类)
  6. Codeforces Global Round 12 C1 C2. Errich-Tac-Toe 思维构造 好题
  7. 【CF1182D】Complete Mirror【树的重心】
  8. H - Great Cells Gym - 101194H(数学推导/思维)
  9. 可持久化3--可持久化01Trie
  10. Jamie and Tree[CF916E]