前提条件
获取接入点信息。
- 登录链路追踪TAS控制台。
- 在左侧导航栏单击「 链路配置 」,然后在右侧页面单击「 接入点信息 」页签。
- 打开显示Token开关。
- 在客户端采集工具区域选择 Jaeger 。在下方表格的相关信息列中,获取接入点信息。
背景信息
Jaeger是一款开源分布式追踪系统,兼容OpenTracingAPI,其主要功能是聚合来自各个异构系统的实时监控数据。目前OpenTracing社区已有许多组件可支持各种Java框架,例如:ApacheHttpClient、Elasticsearch、JDBC、Kafka、Memcached、Mongo、OkHttp、Redis、SpringBoot、SpringCloud等。
为Java应用埋点
要通过Jaeger将Java应用数据上报至链路追踪控制台,首先需要完成埋点工作。本示例为Spring Cloud组件进行自动埋点。
- 在已成功运行的SpringCloud项目的基础上,打开pom.xml,添加Jar包依赖。
<dependency> <groupId>io.opentracing.contrib</groupId> <artifactId>opentracing-spring-cloud-starter</artifactId> <version>0.5.8</version> </dependency> <dependency> <groupId>io.jaegertracing</groupId> <artifactId>jaeger-client</artifactId> <version>1.4.0</version> </dependency>
- 添加Tracer Bean组件,第一次运行时,需要根据接入点信息替换。
import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.context.annotation.Bean; @EnableAutoConfiguration public class TraceConfig { @Bean public io.opentracing.Tracer tracer() { io.jaegertracing.Configuration config = new io.jaegertracing.Configuration("application_name"); io.jaegertracing.Configuration.SenderConfiguration sender = new io.jaegertracing.Configuration.SenderConfiguration(); /** * 第一次运行时,请设置当前用户的对应的网关 */ sender.withEndpoint("<endpoint>").withAuthToken("<token>"); config.withSampler(new io.jaegertracing.Configuration.SamplerConfiguration().withType("const").withParam(1)); config.withReporter(new io.jaegertracing.Configuration.ReporterConfiguration().withSender(sender).withMaxQueueSize(10000)); return config.getTracer(); } }