全部产品
云市场

Tracer 动态配置

更新时间:2019-11-06 16:13:10

动态配置项

默认情况下,Tracer 会生成各种网络中间件调用的详细日志和统计日志。由于 Tracer 的日志生成是异步的,所以 Tracer 对性能的影响很小。但是,对于特殊需要,Tracer 提供了动态配置开关用于关闭中间件的 digest 日志。

Tracer 的动态配置设置了两个维度的开关:

全局开关

所谓全局开关,就是推送这个微服务,会推送到所有使用了 Tracer 的系统,是全站级别的推送。动态配置的后台已经配置了全局的动态配置。这个动态配置的资源的 ID 是:

  1. Alipay.middlewareTracer:name=com.alipay.common.tracer.manage.TracerDrm

里面有一个资源属性:

  1. disableMiddlewareDigestLog

关于这个字段的具体推送值说明如下:

  • 推送值为 true:关闭所有的 digest 日志。
  • 推送值为 false空字符串:打开所有的 digest 日志。
  • 推送值为 log1=true&log2=true:关闭特定的 digest 日志,其中 log1log2 是日志的 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 日志

推送示例:

  1. // 关闭所有的 digest 日志
  2. true
  3. // 打开所有的 digest 日志
  4. false
  5. // 关闭 zdal db 的 digest 日志
  6. zdal-db=true
  7. // 关闭 zdal db 和 rpc-client 的 digest 日志
  8. zdal-db=true&rpc-client=true

若您已经关闭了多个日志,此时想打开某个日志,需要从原来的推送值中把对应的日志去掉,例如:

  1. // 已经关闭 zdal db 和 rpc-client 的 digest 日志
  2. zdal-db=true&rpc-client=true
  3. // 这个时候要打开 rpc-client 日志,应该这样推送
  4. zdal-db=true

应用维度开关

应用维度开关的属性和全局开关一样,两者区别在于动态配置的 ID 不同:

  1. Alipay.${appName}:name=com.alipay.common.tracer.manage.TracerDrm

默认情况下,这个动态配置是没有在动态配置后台配置的。如果需要使用,应用需要自行加上这个配置。操作步骤如下:

  1. 在本地 SOFABoot 工程中,引入以下依赖:

    1. <dependency>
    2. <groupId>com.alipay.sofa</groupId>
    3. <artifactId>ddcs-enterprise-sofa-boot-starter</artifactId>
    4. <exclusions>
    5. <exclusion>
    6. <artifactId>tracer</artifactId>
    7. <groupId>com.alipay.common</groupId>
    8. </exclusion>
    9. </exclusions>
    10. </dependency>
    11. <dependency>
    12. <groupId>com.alipay.common</groupId>
    13. <artifactId>tracer-manage</artifactId>
    14. </dependency>
  2. 配置动态配置资源 Bean,示例如下:
    1. <bean id="tracerDrm" class="com.alipay.common.tracer.manage.TracerDrm" init-method="init">
    2. <constructor-arg name="appName" value="tracerDrmBoot"/>
    3. </bean>
  3. 前往 微服务 > SOFA MS > 动态配置 控制台页面,添加应用元数据,新增并推送相应的动态配置。详细步骤,可参见 开始使用动态配置 > 云端管控动态配置类