Как использовать Jaeger с Spring WebFlux?

Мы пытаемся действовать реактивно с Webflux. Мы используем Jaegar с Istio для инструментальных целей.

Jaegar хорошо понимает конечные точки Spring MVC, но, похоже, совсем не работает для WebFlux.

Я ищу предложения, чтобы мои конечные точки webflux отображались в Jaeger.

Заранее спасибо.


person Anoop Hallimala    schedule 15.11.2018    source источник


Ответы (1)


Лучший способ перейти к использованию Jaegar — НЕ ИСПОЛЬЗОВАТЬ КЛИЕНТ JAEGAR!

Jaegar имеет возможность собирать пролеты Zipkin:

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

Вы должны воспользоваться этим и использовать приведенную ниже зависимость Sleuth + Zipkin и исключить jar-файлы агента Jaegar в своем приложении весенней загрузки.

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

Вышеприведенное по умолчанию отправит промежутки Zipkin на http://localhost:9411. Вы можете переопределить это в своем приложении Spring Boot, чтобы легко указать на ваш сервер Jaegar, переопределив базовый URL-адрес zipkin.

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

Sleuth сделает всю тяжелую работу, а ведение журнала по умолчанию будет регистрировать диапазон и идентификаторы трассировки.

В файле log4j2.xml все, что вам нужно указать, это

[%X]

Вы можете найти пример кода здесь:

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

person Anoop Hallimala    schedule 16.11.2018
comment
В качестве альтернативы можно начать использовать github.com/opentracing-contrib/java-spring-cloud вместо Sleuth + Zipkin .. подробнее здесь: medium.com /jaegertracing/ - person ebullient; 16.01.2019