附录
常用应用程序属性
各种属性可以指定在你的application.properties文件中,或者在你的application.yml文件中,或者作为命令行开关。本附录列出了常见的Spring Cloud Sleuth属性,并引用了它们所使用的底层类。
| 属性贡献可能来自类路径(classpath)中的额外 JAR 文件,因此你不应将此视为详尽无遗的列表。 此外,你也可以定义自己的属性。 |
| 姓名 | 默认 | 描述 |
|---|---|---|
spring.sleuth.async.configurer.enabled |
|
启用默认 AsyncConfigurer。 |
spring.sleuth.async.enabled |
|
启用对与异步相关的组件进行仪器化,以便在线程之间传递跟踪信息。 |
spring.sleuth.async.ignored-beans |
Executor 托管 bean 名称的列表,这些名称应被忽略,并且不会在跟踪表示形式中包装。 |
|
spring.sleuth.baggage.correlation-enabled |
|
使行李箱上下文与日志上下文相关联。 |
spring.sleuth.baggage.correlation-fields |
||
spring.sleuth.baggage.local-fields |
||
spring.sleuth.baggage.remote-fields |
在进程内引用方式与在线路上传输时完全相同的字段列表。例如,字段 "x-vcap-request-id" 将按原样设置,包括其前缀。 |
|
spring.sleuth.baggage.tag-fields |
||
spring.sleuth.circuitbreaker.enabled |
|
启用Spring Cloud电路断路器的指示器。 |
spring.sleuth.enabled |
|
|
spring.sleuth.feign.enabled |
|
启用 Feign 中的跨度信息传播。 |
spring.sleuth.feign.processor.enabled |
|
启用包装Feign上下文的跟踪表示形式的后处理器。</br /> |
spring.sleuth.function.enabled |
|
启用对 Spring Cloud Function 和基于 Spring Cloud Function 的项目的仪表化(例如,Spring Cloud Stream)。 |
spring.sleuth.grpc.enabled |
|
在使用GRPC时启用span信息传播。 |
spring.sleuth.http.enabled |
|
启用HTTP支持。 |
spring.sleuth.integration.enabled |
|
启用 Spring 集成 Sleuth 仪表盘支持。 |
spring.sleuth.integration.patterns |
|
一个用于与通道名称匹配的模式数组。@see org.springframework.integration.config.GlobalChannelInterceptor#patterns() 默认匹配所有不匹配 Hystrix 流和函数式流通道名称的通道名称。 |
spring.sleuth.integration.websockets.enabled |
|
启用 WebSocket 的跟踪记录。 |
spring.sleuth.messaging.enabled |
|
治理消息传递是否应被打开。 |
spring.sleuth.messaging.jms.enabled |
|
启用 JMS 的追踪。 |
spring.sleuth.messaging.jms.remote-service-name |
|
JMS 远程服务名称。 |
spring.sleuth.messaging.kafka.enabled |
|
启用 Kafka 的跟踪记录。<br/> |
spring.sleuth.messaging.kafka.mapper.enabled |
|
启用Kafka的DefaultKafkaHeaderMapper跟踪。 |
spring.sleuth.messaging.kafka.remote-service-name |
|
Kafka 远程服务名称。 |
spring.sleuth.messaging.kafka.streams.enabled |
|
Kafka 流是否应打开。 |
spring.sleuth.messaging.rabbit.enabled |
|
启用RabbitMQ跟踪。 |
spring.sleuth.messaging.rabbit.remote-service-name |
|
Rabbit远程服务名称. |
spring.sleuth.mongodb.enabled |
|
启用MongoDb的跟踪。 |
spring.sleuth.opentracing.enabled |
|
提供对 OpenTracing 支持。 |
spring.sleuth.propagation.type |
跟踪上下文传播类型。 |
|
spring.sleuth.quartz.enabled |
|
启用Quartz的跟踪。 |
spring.sleuth.reactor.decorate-on-each |
|
当为 true 时,在每个运算符上进行装饰,性能会略低,但日志输出总会包含每个运算符上的跟踪条目。当为 false 时,在最后一个运算符上进行装饰,性能会更高,但日志可能不一定总是包含跟踪条目。</p><p>@deprecated 通过 {@link SleuthReactorProperties#instrumentationType} 显式指定值 |
spring.sleuth.reactor.enabled |
|
<br>当值为 true 时,会启用对 reactor 的检测。 |
spring.sleuth.reactor.instrumentation-type |
||
spring.sleuth.redis.enabled |
|
启用使用Redis时的span信息传播。 |
spring.sleuth.redis.remote-service-name |
|
远程Redis端点的服务名。 |
spring.sleuth.rpc.enabled |
|
启用对RPC的跟踪。 |
spring.sleuth.rxjava.schedulers.hook.enabled |
|
启用通过 RxJavaSchedulersHook 的 RxJava 支持。 |
spring.sleuth.rxjava.schedulers.ignoredthreads |
|
不应对这些线程进行采样的线程名。 |
spring.sleuth.sampler.probability |
请求应进行采样的概率。例如,1.0-100% 的请求应该被采样。精度只支持整数(即不支持所有痕迹的 0.1%)。 |
|
spring.sleuth.sampler.rate |
|
A 每秒的速率对于低流量端点来说可能是一个不错的选择,因为它可以提供突发保护。例如,您可能永远不会期望端点每秒获得超过 50 个请求。如果突然有大量 traffic,达到每秒 5000 个请求,您仍然会得到每秒 50 条痕迹。相反,如果您使用的是百分比,比如 10%,同样的冲击可能会导致每秒 500 条痕迹,这可能会导致您的存储过载。Amazon X-Ray 包含一个速率限制采样器(名为储水库),用于此目的。Brave 通过 @{@link brave.sampler.RateLimitingSampler} 采用了相同的方法。 |
spring.sleuth.sampler.refresh.enabled |
|
启用采样器的刷新范围。 |
spring.sleuth.scheduled.enabled |
|
启用 {@link org.springframework.scheduling.annotation.Scheduled} 的追踪。 |
spring.sleuth.scheduled.skip-pattern |
模式用于一个类完全限定名,该类应该被跳过。 |
|
spring.sleuth.span-filter.additional-span-name-patterns-to-ignore |
可忽略的跨度名称的其他列表。将追加到 {@link #spanNamePatternsToSkip}。 |
|
spring.sleuth.span-filter.enabled |
|
将会转到默认的Sleuth处理程序机制。可能会忽略某些跨度的导出; |
spring.sleuth.span-filter.span-name-patterns-to-skip |
|
忽略的跨度名称列表。这些名称将不会发送到外部系统。 |
spring.sleuth.supports-join |
|
True 表示跟踪系统支持在客户端和服务器之间共享跨度 ID。 |
spring.sleuth.trace-id128 |
|
为真时,生成128位跟踪ID而不是64位的。 |
spring.sleuth.tracer.mode |
设置应选择的跟踪器实现。<br> |
|
spring.sleuth.web.additional-skip-pattern |
跟踪时应跳过的URL的附加模式。这将被追加到{@link SleuthWebProperties#skipPattern}中。 |
|
spring.sleuth.web.client.enabled |
|
启用拦截器注入到{@link org.springframework.web.client.RestTemplate}。 |
spring.sleuth.web.client.skip-pattern |
客户端侧跟踪中应跳过的URL模式。 |
|
spring.sleuth.web.enabled |
|
当为 true 时,启用 Web 应用程序的仪器记录。 |
spring.sleuth.web.filter-order |
|
注册跟踪过滤器的顺序。 |
spring.sleuth.web.ignore-auto-configured-skip-patterns |
|
如果设置为 true,则会忽略自动配置的跳过模式。 |
spring.sleuth.web.servlet.enabled |
|
启用Servlet仪器化。 |
spring.sleuth.web.skip-pattern |
|
应跳过的跟踪的URL模式。 |
spring.sleuth.web.webclient.enabled |
|
为 WebClient 启用跟踪仪器。 |
spring.zipkin.activemq.message-max-bytes |
|
通过ActiveMQ发送到Zipkin的带有跨度的消息的最大字节数。 |
spring.zipkin.activemq.queue |
|
ActiveMQ 队列的名称,追踪信息应发送到该队列以供 Zipkin 使用。 |
spring.zipkin.api-path |
要附加到 baseUrl(上方)的 API 路径作为后缀。这适用于使用其他监控工具(如 New Relic)的情况。Trace API 不需要 API 路径,因此可以在配置中将其设置为空字符串("")。 |
|
spring.zipkin.base-url |
ZIPkin 查询服务器实例的 URL。您也可以提供如果 Zipkin 已注册在服务发现中的服务 ID(例如:zipkinserver/)。 |
|
spring.zipkin.compression.enabled |
|
|
spring.zipkin.discovery-client-enabled |
如果设置为 {@code false},将始终将 {@link ZipkinProperties#baseUrl} 视作 URL。 |
|
spring.zipkin.enabled |
|
启用将跨度发送到 Zipkin。 |
spring.zipkin.encoder |
span 发送到 Zipkin 时的编码类型。若您的服务器版本较旧,请设置为 {@link SpanBytesEncoder#JSON_V1}。 |
|
spring.zipkin.kafka.topic |
|
名称用于将跨度发送到Zipkin的Kafka主题。 |
spring.zipkin.locator.discovery.enabled |
|
通过服务发现定位主机名的启用。 |
spring.zipkin.message-timeout |
|
在秒数内超时,待发送的跨度将被批量发送到 Zipkin。 |
spring.zipkin.rabbitmq.addresses |
用于将跨度发送到Zippin的RabbitMQ代理地址 |
|
spring.zipkin.rabbitmq.queue |
|
名称为应将跨度发送到的 RabbitMQ 队列,用于Zipkin。 |
spring.zipkin.sender.type |
发送 span 到 Zipkin 的方式。 |
|
spring.zipkin.service.name |
来自应通过HTTP发送Span的服务的名称,该名称应出现在Zipkin中。 |