如何在SpringBoot 3中配置zipkin baseUrl

hpxqektj  于 2023-03-23  发布在  Spring
关注(0)|答案(1)|浏览(438)

我们有Jaeger设置来跟踪主要是istio代理之间的调用。我尝试在应用程序内部使用跟踪,在日志中包含任何traceId/spanId,并向Jaeger收集器报告应用程序中创建的任何spans。
我们的大多数微服务仍然运行Sping Boot 2。有些已经升级到Spring Boot 3。
我已经让它在Spring Boot 2中令人满意地工作了。
我包含了以下依赖项:

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-sleuth-zipkin</artifactId>
</dependency>
<dependency>
  <groupId>io.opentracing.brave</groupId>
  <artifactId>brave-opentracing</artifactId>
</dependency>

并在应用程序中设置以下内容

spring:
  application:
    name: our-service
  sleuth:
    propagation:
      type: B3,W3C
    opentracing:
      enabled: true
  zipkin:
    base-url: <url to our jaeger collector>:9411

对于我们的spring Boot 3应用程序,我添加了以下依赖项,而不是上面的依赖项:

<dependency>
  <groupId>io.micrometer</groupId>
  <artifactId>micrometer-tracing-bridge-brave</artifactId>
</dependency>
<dependency>
  <groupId>io.zipkin.reporter2</groupId>
  <artifactId>zipkin-reporter-brave</artifactId>
</dependency>

并添加了与上面相同的配置到application.yaml,但还添加了:

logging:
  pattern:
    level: "%5p [${spring.application.name},%X{traceId:-},%X{spanId:-}]"

当我在我们的测试环境中运行两个应用程序时,我可以看到traceIds显示在两个应用程序的日志中,我也可以在jaeger UI中找到这些traceIds,包括在SpringBoot 2应用程序中创建的spans。除了应该来自SpringBoot 3应用程序的spanId。该应用程序在日志中具有匹配的traceIds,但我也有以下错误:
2023-03-16T15:36:15.037Z WARN [our-service,,] 1 --- [ender@207ff82c}] z.r.AsyncReporter$BoundedAsyncReporter:由于ResourceAccessException(“http://localhost:9411/api/v2/spans”的POST请求出现I/O错误:连接被拒绝
这让我得出结论,在Sping Boot 3中设置Jaeger收集器的URL的配置应该是不同的,因为它不会拾取我配置的URL,而是使用http://localhost。但我似乎找不到任何地方应该如何配置它。
希望这里的任何人都能帮助我,告诉我我做错了什么。

mwngjboj

mwngjboj1#

我最近也遇到了同样的问题。在调查过程中,我通过查看Sping Boot actuator endpoint的配置属性输出找到了解决方案:配置属性
输出中提到了一个名为ZipkinProperties的类,所以我在Sping Boot API文档中查找了它:https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinProperties.html
ZipkinConfiguration中有3个属性:

  • connect-timeout
  • endpoint
  • read-timeout

你要找的是属性management.zipkin.tracing.endpoint

management:
  zipkin:
    tracing:
      endpoint: <url to collector>:9411/api/v2/spans

相关问题