目录
Pt1 启动项配置
Pt1.1 sentinel-core配置项
基础配置项
日志相关配置项
Pt1.2 sentinel-transport-common配置项
Pt2 日志配置
Pt2.1 拦截详情日志
Pt2.2 秒级监控日志
Pt2.3 业务日志
Pt2.4 集群限流日志
其中 project.name 项用于指定应用名(appName)。若未指定,则默认解析 main 函数的类名作为应用名。实际项目使用中建议手动指定应用名。
注意:若需要在单台机器上运行相同服务的多个实例,则需要加入 -Dcsp.sentinel.log.use.pid=true 来保证不同实例日志的独立性。
注:csp.sentinel.api.port 可不提供,默认为 8719,若端口冲突会自动向下探测可用的端口。
无论触发了限流、熔断降级还是系统保护,它们的秒级拦截详情日志都在 ${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日志含义:
index例子说明12014-06-20 16:35:10时间戳21该秒发生的第一个资源3sayHello(java.lang.String,long)资源名称4XXXException拦截的原因, 通常 FlowException 代表是被限流规则拦截,DegradeException 则表示被降级,SystemBlockException 则表示被系统保护拦截5default生效规则的调用来源(参数限流中代表生效的参数)6origin被拦截资源的调用者,可以为空761,061 被拦截的数量,0无意义可忽略
所有的资源都会产生秒级日志,它在 ${user_home}/logs/csp/${app_name}-${pid}-metrics.log里。格式如下:
1532415661000|2018-07-24 15:01:01|sayHello(java.lang.String)|12|3|4|2|2951532415661000:时间戳
2018-07-24 15:01:01:格式化之后的时间戳
sayHello(java.lang.String):资源名
12:表示到来的数量,即此刻通过 Sentinel 规则 check 的数量(passed QPS)
3:实际该资源被拦截的数量(blocked QPS)
4:每秒结束的资源个数(完成调用),包括正常结束和异常结束的情况(exit QPS)
2:异常的数量
295:资源的平均响应时间(RT)
其它的日志在 ${user_home}/logs/csp/sentinel-record.log.xxx 里。该日志包含规则的推送、接收、处理等记录,排查问题的时候会非常有帮助。
${log_dir}/sentinel-cluster-client.log:Token Client 日志,会记录请求失败的信息