3

我们正在尝试对 Webflux 进行响应式处理。我们将 Jaegar 与 Istio 一起用于检测目的。

Jaegar 非常了解 Spring MVC 端点,但似乎根本不适用于 WebFlux。

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

提前致谢。

4

1 回答 1

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 spans 到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

于 2018-11-16T18:27:10.117 回答