【问题标题】:How to use Jaeger with Spring WebFlux?如何在 Spring WebFlux 中使用 Jaeger?
【发布时间】:2018-11-15 15:37:37
【问题描述】:

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

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

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

提前致谢。

【问题讨论】:

    标签: spring-webflux istio opentracing jaeger


    【解决方案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

    【讨论】:

    猜你喜欢
    • 2019-03-03
    • 1970-01-01
    • 2020-03-30
    • 2018-03-26
    • 2018-01-26
    • 2019-07-11
    • 2019-01-15
    • 2020-03-29
    • 1970-01-01
    相关资源
    最近更新 更多