您可以通过查看日志快速查看单机运行情况,从而排查问题。本文列出了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能否成功与机器连通等问题。