Tracer DRM 开关
动态配置项
默认情况下,Tracer 会生成各种网络中间件调用的详细日志和统计日志。由于 Tracer 的日志生成是异步的,所以 Tracer 对性能的影响很小。但是,对于特殊需要,Tracer 提供了动态配置开关用于关闭中间件的 digest 日志。
Tracer 的动态配置设置了两个维度的开关:
全局开关
所谓全局开关,就是推送这个微服务,会推送到所有使用了 Tracer 的系统,是全站级别的推送。动态配置的后台已经配置了全局的动态配置。这个动态配置的资源的 ID 是:
Alipay.middlewareTracer:name=com.alipay.common.tracer.manage.TracerDrm
里面有一个资源属性:
disableMiddlewareDigestLog
关于这个字段的具体推送值说明如下:
推送值为 true:关闭所有的 digest 日志。
推送值为 false 或 空字符串:打开所有的 digest 日志。
推送值为 log1=true&log2=true:关闭特定的 digest 日志,其中
log1
和log2
是日志的 key,关闭多个日志可以用&
符号连接。目前可用的 key 如下:rpc-client
:RPCClient digest 日志rpc-server
:RPCServer digest 日志msg-publisher
:MSG Publisher digest 日志msg-subscriber
:MSG Subscriber digest 日志http-client
:HTTPClient digest 日志mvc
:MVC digest 日志zdal-db
:ZDALDB digest 日志zdal-tair
:ZDALTAIR digest 日志
推送示例:
// 关闭所有的 digest 日志
true
// 打开所有的 digest 日志
false
// 关闭 zdal db 的 digest 日志
zdal-db=true
// 关闭 zdal db 和 rpc-client 的 digest 日志
zdal-db=true&rpc-client=true
若您已经关闭了多个日志,此时想打开某个日志,需要从原来的推送值中把对应的日志去掉,例如:
// 已经关闭 zdal db 和 rpc-client 的 digest 日志
zdal-db=true&rpc-client=true
// 这个时候要打开 rpc-client 日志,应该这样推送
zdal-db=true
应用维度开关
应用维度开关的属性和全局开关一样,两者区别在于动态配置的 ID 不同:
Alipay.${appName}:name=com.alipay.common.tracer.manage.TracerDrm
默认情况下,这个动态配置是没有在动态配置后台配置的。如果需要使用,应用需要自行加上这个配置。操作步骤如下:
在本地 SOFABoot 工程中,引入以下依赖:
<dependency> <groupId>com.alipay.sofa</groupId> <artifactId>ddcs-enterprise-sofa-boot-starter</artifactId> <exclusions> <exclusion> <artifactId>tracer</artifactId> <groupId>com.alipay.common</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.alipay.common</groupId> <artifactId>tracer-manage</artifactId> </dependency>
配置动态配置资源 Bean,示例如下:
<bean id="tracerDrm" class="com.alipay.common.tracer.manage.TracerDrm" init-method="init"> <constructor-arg name="appName" value="tracerDrmBoot"/> </bean>
前往 微服务平台 > 微服务 > 动态配置 控制台页面,添加应用元数据,新增并推送相应的动态配置。详细步骤,可参见 开始使用动态配置 > 云端管控动态配置类。