Sentinel流控日志与索引

前言

Sentinel是如何记录流控日志的,以及日志和索引的格式是怎么样的。本文将对此做个梳理。

一、流控日志记录

 

1.日志频率

 

流控日志每秒记录一次。

SCHEDULER.scheduleAtFixedRate(new MetricTimerListener(), 0, 1, TimeUnit.SECONDS);

2.日志格式

 

说明

时间戳例如:1598276503000
格式化的日期例如:2020-08-24 21:41:43
resource名称例如:Get:/hello
passQps通过的Qps,即:在获取令牌(entry)统计的Qps
blockQps阻塞的Qps,即:在抛出BlockException时统计的Qps
successQps成功的QPS,即:在释放令牌(entry)后统计的Qps
exceptionQps异常的Qps,即:抛出非BlockException的Qps
rt从获取令牌(entry)到释放的响应时间
occupiedPassQps本时间窗口容量已满,占用未来时间窗口的Qps,默认为false不开启
concurrency‍‍并发度,未使用
classificationresource类型
0:common,1:common_web,2:common_rpc,3:common_api_gateway,4:common_db_sql

3.日志说明

 
日志目录默认日志目录为:user.home/logs/csp,可以通过csp.sentinel.log.dir参数设置
日志名称appName-metrics.log.yyyy-MM-dd.n,可以通过csp.sentinel.app.name指定
每创建一个日志文件n会递增,可以通过logNameUsePid将pid加入到日志文件名中,默认false。
例如:com-alibaba-csp-sentinel-dashboard-DashboardApplication-metrics.log.2020-08-25.5
日志大小默认50M,可以通过csp.sentinel.metric.file.single.size设置
日志数量默认最多6个文件,可以通过csp.sentinel.metric.file.total.count设置

4.索引格式

 

日志的索引由8位的时间戳和8位的日志位点构成。

时间戳例如:1598276503000
日志位点记录了该时间对应日志文件中所在的位置
索引名称日志文件名称.idx
例如:com-alibaba-csp-sentinel-dashboard-DashboardApplication-metrics.log.2020-08-25.5.idx

二、日志检索

API说明

List<MetricNode> find(long beginTimeMs, int recommendLines)
根据开始时间,检索流控日志,条数为recommendLines
findByTimeAndResource(long beginTimeMs, long endTimeMs, String identity)
根据开始时间和结束时间检索流控日志,identify为资源名称为null时则不区分资源


作者丨梁勇
来源丨瓜农老梁(ID:gh_01130ae30a83)
欢迎关注公众号“瓜农老梁”


「瓜农老梁  学习同行」    

        

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值