本文以 Java 应用为例,介绍从开通链路追踪服务及相关依赖服务并授权,到将应用接入链路追踪的流程,帮助您快速上手链路追踪。

授权链路追踪读写您的日志服务数据

  1. 登录链路追踪控制台
  2. 概览页面上,单击授权,授权链路追踪读写您的日志服务。
  3. 云资源访问授权页面上,选择所需的权限,并单击同意授权
    Accessing Log Role

通过 Jaeger 客户端上报 Java 应用数据

本文以 Jaeger 客户端上报 Java 应用数据为例,介绍如何上报数据。通过其他客户端上报数据和上报其他语言应用数据的方法,请参见文末的相关文档。

  1. 下载 Demo 工程,进入 manualDemo 目录,并按照 Readme 的说明运行程序。
  2. 打开pom.xml,添加对Jaeger客户端的依赖。
    <dependency>
        <groupId>io.jaegertracing</groupId>
        <artifactId>jaeger-client</artifactId>
        <version>0.31.0</version>
    </dependency>
  3. 配置初始化参数并创建 Tracer 对象。

    Tracer 对象可以用来创建 Span 对象以便记录分布式操作时间、通过 Extract/Inject 方法跨机器透传数据、或设置当前 Span。Tracer 对象还配置了上报数据的网关地址、本机 IP 地址、采样率、服务名等数据。您可以通过调整采样率来减少因上报数据产生的开销。

    说明 请将 <endpoint> 替换成链路追踪控制台集群设置页面里的上相应客户端和地域的接入点。
    // 将 manualDemo 替换为您的应用名称
    io.jaegertracing.Configuration config = new io.jaegertracing.Configuration("manualDemo");
    io.jaegertracing.Configuration.SenderConfiguration sender = new io.jaegertracing.Configuration.SenderConfiguration();
    // 将 <endpoint> 替换为控制台概览页面上相应客户端和地域的接入点
    sender.withEndpoint("<endpoint>");
    config.withSampler(new io.jaegertracing.Configuration.SamplerConfiguration().withType("const").withParam(1));
    config.withReporter(new io.jaegertracing.Configuration.ReporterConfiguration().withSender(sender).withMaxQueueSize(10000));
    GlobalTracer.register(config.getTracer());
  4. 记录请求数据。
    Tracer tracer = GlobalTracer.get();
    // 创建Span。
    Span span = tracer.buildSpan("parentSpan").withTag("myTag", "spanFirst").start();
    tracer.scopeManager().activate(span, false);
    tracer.activeSpan().setTag("methodName", "testTracing");
    // 业务逻辑secondBiz();
    span.finish();
  5. 等待 2~3 分钟后,登录链路追踪 Tracing Analysis 控制台,在应用列表页面并查看上报的链路数据。

后续步骤

将应用数据上报至链路追踪控制台后,您可以在链路追踪控制台执行以下操作:

链路追踪支持将 Java、PHP、Go、Python、JS、.NET、C++ 等语言的应用数据上报至控制台。支持的上报数据客户端包括 Jaeger、Zipkin 和 SkyWalking。请在下方根据您的应用语言或者使用的客户端查看相应的应用接入文档。

按应用语言

按客户端