我正在使用下面的GitHub链接与Jaeger一起设置opentraceing对于托管在kubernetes env中的微服务,它对Jenkins这样的Java应用程序运行良好。https://github.com/lucas-matt/auto-tracing-webhook
https://medium.com/opentracing/opentracing-on-kubernetes-get-yer-tracing-for-free-7a69cca03c8a
然而,当我尝试为任何SpringBoot应用程序设置跟踪时,它不会在Jaeger UI中显示任何跟踪。
经过一番研究,我发现我需要添加一些入门代码来跟踪Spring Boot应用程序,如下GitHub所示。然而,我现在很困惑,在哪里添加这个入门代码。
https://github.com/opentracing-contrib/java-spring-jaeger
我正在使用下面的代理进行跟踪,似乎我需要在这里添加一些Spring Boot的标志,但我没有得到确切的信息。
JAVA_AGENT = ' -javaagent:/mnt/auto-trace/opentracing-specialagent-1.7.0.jar -Dsa.tracer=jaeger -Dsa.log.level=FINE'
请建议!
几年前,我曾与Jaeger和springboot合作。在码头化环境中,我记得你必须为应用程序提供一些环境变量,比如:
JAEGER_AGENT_HOST=jaeger-agent.example.io
JAEGER_AGENT_PORT=5775
JAEGER_SAMPLER_TYPE=const
JAEGER_SAMPLER_PARAM=1
JAEGER_SAMPLER_MANAGER_HOST_PORT=jaeger-agent.example.io:5778
JAEGER_REPORTER_LOG_SPANS=true
然后,您需要定义bean:
@Bean
public io.opentracing.Tracer jaegerTracer() {
return new com.uber.jaeger.Configuration("myApp")
.withSampler(SamplerConfiguration.fromEnv())
.withReporter(ReporterConfiguration.fromEnv())
.getTracer();
}