您可以通过查看日志快速查看单机运行情况,从而排查问题。本文列出了 AHAS 提供的重要日志,适用于所有接入 AHAS 应用流控降级的应用。

文件 路径 说明
秒级监控日志 ${user_home}/logs/csp/${app_name}-${pid}-metrics.log 资源都会产生秒级日志,可以用来查看资源的运行情况
拦截详情日志 {user_home}/logs/csp/sentinel-block.log 规则生效之后,请求被拦截,就会产生对应的日志
业务日志 {user_home}/logs/csp/sentinel-record.log.${当天的日志} 记录了规则的推送、接收、处理;资源调用情况,排查问题的时候会非常有帮助
上报日志 {user_home}/logs/csp/command-center.log.${当天的日志} 应用和 Dashboard 发生通讯的记录,用于排查和 Dashboard 的通信问题

秒级监控日志

所有的资源都会产生秒级日志,它在 ${user_home}/logs/csp/${app_name}-${pid}-metrics.log里。格式如下:

1532415661000|2018-07-24 15:01:01|sayHello(java.lang.String)|12|3|4|2|295
			
  1. 1532415661000:时间戳
  2. 2018-07-24 15:01:01:格式化之后的时间戳
  3. sayHello(java.lang.String):资源名
  4. 12:表示到来的数量,即此刻通过 Sentinel 规则 check 的数量(passed QPS)
  5. 3:实际该资源被拦截的数量(blocked QPS)
  6. 4:每秒结束的资源个数(完成调用),包括正常结束和异常结束的情况(exit QPS)
  7. 2:异常的数量
  8. 295:资源的平均响应时间(RT)

拦截详情日志

无论限流,降级还是系统保护,它们的秒级拦截详情日志都记录在 {user_home}/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
			
  1. 2014-06-20 16:35:10:时间戳;
  2. 1:序号;
  3. sayHello(java.lang.String,long):资源描述符;
  4. XXXException:表示被限制的种类。FlowException 表示被限流,DegradeException 表示被降级,SystemException 表示被系统保护
  5. default规则上配置的限制应用;
  6. origin:实际被限制的来源应用,可能为空字符串;
  7. 61,0:61 代表这一秒内限流降级发生的次数,0 无含义(可忽略)。

业务日志

业务日志在 {user_home}/logs/csp/sentinel-record.log.xxx 中,包含规则的推送、接收、处理等记录。

上报日志

每一次和 Dashboard 的通信,都会记录在 {user_home}/logs/csp/command-center.log.${date} 日志中。可以用来排查 Dashboard 能否成功与机器连通等问题。