如何将 Jaeger 与 Spring WebFlux 一起使用?

How to use Jaeger with Spring WebFlux?

我们正在尝试对 Webflux 做出反应。我们将 Jaegar 与 Istio 一起用于检测目的。

Jaegar 很好地理解 Spring MVC 端点,但似乎对 WebFlux 根本不起作用。

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

提前致谢。

要继续使用 Jaegar,最好的方法就是不要使用 JAEGAR 客户端!

Jaegar 有能力收集 Zipkin spans:

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

您应该利用这一点并使用下面的 Sleuth+Zipkin 依赖项并在您的 spring 启动应用程序中排除 Jaegar 代理 jar。

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

上面默认会将 Zipkin span 发送到 http://localhost:9411。您可以在 Spring 启动应用程序中覆盖它,通过覆盖 zipkin 基础 URL.

轻松指向您的 Jaegar 服务器

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

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

在log4j2.xml文件中,你只需要提到

[%X]

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

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