gpt4 book ai didi

trace - 使用 Spring Boot 的 Jaeger

转载 作者:行者123 更新时间:2023-12-04 11:30:29 28 4
gpt4 key购买 nike

在 Spring Boot 应用程序(目前只有一个)中,我通过添加依赖项来包含 jaeger opentracing-spring-jaeger-web-starter和下面的 bean

@Bean
public static JaegerTracer getTracer() {
io.jaegertracing.Configuration.SamplerConfiguration samplerConfig =
io.jaegertracing.Configuration.SamplerConfiguration.fromEnv().withType("const").withParam(1);
io.jaegertracing.Configuration.ReporterConfiguration reporterConfig =
io.jaegertracing.Configuration.ReporterConfiguration.fromEnv().withLogSpans(true);
io.jaegertracing.Configuration config = new io.jaegertracing.Configuration("fooService").withSampler(samplerConfig).withReporter(reporterConfig);
return config.getTracer();
}

@PostConstruct
public void setProperty() {
System.setProperty("JAEGER_REPORTER_LOG_SPANS", "true");
}
在 docker 中启动 Jaeger 后 docker run -d --name jaeger -p 16686:16686 -p 6831:6831/udp jaegertracing/all-in-one:1.9我得到了痕迹。
我现在发现了另一个依赖项并阅读了不同的教程,这让我不知何故不确定在 Spring Boot 中使用 Jaeger 的正确方法是什么。
我会使用哪个依赖项?
https://github.com/opentracing-contrib/java-spring-cloud
<dependency>
<groupId>io.opentracing.contrib</groupId>
<artifactId>opentracing-spring-cloud-starter</artifactId>
</dependency>
https://github.com/signalfx/tracing-examples/tree/master/jaeger-java-spring-boot-web
<dependency>
<groupId>io.opentracing.contrib</groupId>
<artifactId>opentracing-spring-jaeger-web-starter</artifactId>
</dependency>
关注 Jaeger documentation可能
<dependency>
<groupId>io.jaegertracing</groupId>
<artifactId>jaeger-client</artifactId>
<version>$jaegerVersion</version>
</dependency>
就够了!?
在尝试 Jaeger 之前,我使用了 Zipkin,它很容易集成到 Spring 中,因为它有一个用于侦探的入门工具。日志在单独的字段中包含跟踪和跨度 ID,因此可以搜索它们,例如在基巴纳。积家做 not .
可以定制吗?如果可以,如何定制?
是否可以将 Jaeger 与 Brave 一起用于检测。该项目例如包括 spring-cloud-starter-sleuth作为依赖。与已经存在的 bean 存在一些冲突。 Jaeger 可以和勇敢一起使用吗?

最佳答案

回答您关于依赖项的问题,在依赖项部分 ( https://github.com/opentracing-contrib/java-spring-jaeger ) 中对此进行了解释:

The opentracing-spring-jaeger-web-starter starter is convenience starter that includes both opentracing-spring-jaeger-starter and opentracing-spring-web-starter This means that by including it, simple web Spring Boot microservices include all the necessary dependencies to instrument Web requests / responses and send traces to Jaeger.

The opentracing-spring-jaeger-cloud-starter starter is convenience starter that includes both opentracing-spring-jaeger-starter and opentracing-spring-cloud-starter This means that by including it, all parts of the Spring Cloud stack supported by Opentracing will be instrumented


顺便说一下:
  • opentracing.jaeger.log-spans 默认为 true

  • 与...一样:
  • opentracing.jaeger.udp-sender.host=localhost
  • opentracing.jaeger.udp-sender.port=6831
  • opentracing.jaeger.const-sampler.decision=true
  • opentracing.jaeger.enabled=true
  • 关于trace - 使用 Spring Boot 的 Jaeger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63407052/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com