如何在Spring WebFlux中使用Jaeger?

时间:2018-11-15 15:37:37

标签: spring-webflux istio opentracing jaeger

我们正试图与Webflux保持互动。我们将Jaegar与Istio一起用于仪器仪表。

Jaegar很好地了解了Spring MVC端点,但似乎根本不适用于WebFlux。

我正在寻找使我的webflux端点出现在Jaeger中的建议。

先谢谢了。

1 个答案:

答案 0 :(得分:1)

继续使用Jaegar的最佳方法是不要使用JAEGAR CLIENT!

Jaegar具有收集Zipkin跨度的功能:

https://www.jaegertracing.io/docs/1.8/getting-started/#migrating-from-zipkin

您应该利用此优势,并使用下面的Sleuth + Zipkin依赖项,并在您的Spring Boot应用程序中排除Jaegar代理jar。

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-sleuth-zipkin</artifactId>
</dependency>

以上默认情况下,会将Zipkin跨度发送到http://localhost:9411。您可以通过覆盖zipkin基本URL在Spring Boot应用程序中覆盖此名称,以轻松地指向Jaegar服务器。

  

spring.zipkin.base-url = http://your-jaegar-server:9411

Sleuth将完成所有繁重的工作,默认日志记录将记录span和traceIds。

在log4j2.xml文件中,您只需要提及

  

[%X]

您可以在此处找到示例代码:

https://github.com/anoophp777/spring-webflux-jaegar-log4j2