pom.xml
<dependency>
<groupId>io.opentracing.contrib</groupId>
<artifactId>opentracing-spring-web-autoconfigure</artifactId>
</dependency>
<dependency>
<groupId>com.uber.jaeger</groupId>
<artifactId>jaeger-core</artifactId>
<version>0.18.0</version>
</dependency>
<dependency>
<groupId>io.zipkin.reporter</groupId>
<artifactId>zipkin-sender-okhttp3</artifactId>
<version>0.10.0</version>
</dependency>
<dependency>
<groupId>io.opentracing.brave</groupId>
<artifactId>brave-opentracing</artifactId>
<version>0.20.0</version>
</dependency>
трассирующий компонент:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import com.uber.jaeger.Configuration;
import com.uber.jaeger.samplers.ProbabilisticSampler;
import brave.Tracing;
import brave.opentracing.BraveTracer;
import brave.sampler.Sampler;
import zipkin.Span;
import zipkin.reporter.AsyncReporter;
import zipkin.reporter.Encoding;
import zipkin.reporter.okhttp3.OkHttpSender;
@SpringBootApplication
public class JaegerTracerBean {
// @Bean
public io.opentracing.Tracer jaegerTracer() {
return new Configuration("spring-boot", new Configuration.SamplerConfiguration(ProbabilisticSampler.TYPE, 1),
new Configuration.ReporterConfiguration())
.getTracer();
}
@Bean
public io.opentracing.Tracer zipkinTracer() {
OkHttpSender okHttpSender = OkHttpSender.builder()
.encoding(Encoding.JSON)
.endpoint("http://localhost:9411/api/v1/spans")
.build();
AsyncReporter<Span> reporter = AsyncReporter.builder(okHttpSender).build();
Tracing braveTracer = Tracing.newBuilder()
.localServiceName("spring-boot")
.reporter(reporter)
.traceId128Bit(true)
.sampler(Sampler.ALWAYS_SAMPLE)
.build();
return BraveTracer.create(braveTracer);
}
public static void main(String[] args) {
SpringApplication.run(JaegerTracerBean.class, args);
}
}
Ручная настройка работала нормально, однако автоматическая конфигурация не работает.Даже имя службы не создается. Работающий сервер jaeger
с помощью Docker на Mac.
Используемые команды:
для zipkin:
запуск Docker --rm -it -p 9411: 9411 openzipkin / zipkin
для all-in-один:
docker run -d --name jaeger \
-e COLLECTOR_ZIPKIN_HTTP_PORT=9411 \
-p 5775:5775/udp \
-p 6831:6831/udp \
-p 6832:6832/udp \
-p 5778:5778 \
-p 16686:16686 \
-p 14268:14268 \
-p 9411:9411 \
jaegertracing/all-in-one:1.11
Что кажется неправильным?Как мне это исправить?