1.5 配置说明

    科技2025-06-24  12

    目录

    Pt1 启动项配置

    Pt1.1 sentinel-core配置项

    基础配置项

    日志相关配置项

    Pt1.2 sentinel-transport-common配置项

    Pt2 日志配置

    Pt2.1 拦截详情日志

    Pt2.2 秒级监控日志

    Pt2.3 业务日志

    Pt2.4 集群限流日志


    Pt1 启动项配置

    Pt1.1 sentinel-core配置项

    基础配置项

    名称含义类型默认值是否必需备注project.name指定应用的名称Stringnull否 csp.sentinel.app.type指定应用的类型int0 (APP_TYPE_COMMON)否1.6.0 引入csp.sentinel.metric.file.single.size单个监控日志文件的大小long52428800 (50MB)否 csp.sentinel.metric.file.total.count监控日志文件的总数上限int6否 csp.sentinel.statistic.max.rt最大的有效响应时长(ms),超出此值则按照此值记录int4900否1.4.1 引入csp.sentinel.spi.classloaderSPI 加载时使用的 ClassLoader,默认为给定类的 ClassLoaderStringdefault否若配置 context 则使用 thread context ClassLoader。1.7.0 引入

    其中 project.name 项用于指定应用名(appName)。若未指定,则默认解析 main 函数的类名作为应用名。实际项目使用中建议手动指定应用名。

     

    日志相关配置项

    名称含义类型默认值是否必需备注csp.sentinel.log.dirSentinel 日志文件目录String${user.home}/logs/csp/否1.3.0 引入csp.sentinel.log.use.pid日志文件名中是否加入进程号,用于单机部署多个应用的情况booleanfalse否1.3.0 引入csp.sentinel.log.output.typeRecord 日志输出的类型,file 代表输出至文件,console 代表输出至终端Stringfile否1.6.2 引入

    注意:若需要在单台机器上运行相同服务的多个实例,则需要加入 -Dcsp.sentinel.log.use.pid=true 来保证不同实例日志的独立性。

     

    Pt1.2 sentinel-transport-common配置项

    名称含义类型默认值是否必需csp.sentinel.dashboard.server控制台的地址,指定控制台后客户端会自动向该地址发送心跳包。地址格式为:hostIp:portStringnull是csp.sentinel.heartbeat.interval.ms心跳包发送周期,单位毫秒longnull非必需,若不进行配置,则会从相应的 HeartbeatSender中提取默认值csp.sentinel.api.port本地启动 HTTP API Server 的端口号int8719否csp.sentinel.heartbeat.client.ip指定心跳包中本机的 IPString-若不指定则通过 HostNameUtil 解析;该配置项多用于多网卡环境

    注:csp.sentinel.api.port 可不提供,默认为 8719,若端口冲突会自动向下探测可用的端口。

     


    Pt2 日志配置

    Pt2.1 拦截详情日志

    无论触发了限流、熔断降级还是系统保护,它们的秒级拦截详情日志都在 ${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无意义可忽略

     

    Pt2.2 秒级监控日志

    所有的资源都会产生秒级日志,它在 ${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

    1532415661000:时间戳

    2018-07-24 15:01:01:格式化之后的时间戳

    sayHello(java.lang.String):资源名

    12:表示到来的数量,即此刻通过 Sentinel 规则 check 的数量(passed QPS)

    3:实际该资源被拦截的数量(blocked QPS)

    4:每秒结束的资源个数(完成调用),包括正常结束和异常结束的情况(exit QPS)

    2:异常的数量

    295:资源的平均响应时间(RT)

     

    Pt2.3 业务日志

    其它的日志在 ${user_home}/logs/csp/sentinel-record.log.xxx 里。该日志包含规则的推送、接收、处理等记录,排查问题的时候会非常有帮助。

     

    Pt2.4 集群限流日志

    ${log_dir}/sentinel-cluster-client.log:Token Client 日志,会记录请求失败的信息

    Processed: 0.015, SQL: 8