使用可观测链路 OpenTelemetry 版前,您需要完成阿里云账号注册、开通可观测链路 OpenTelemetry 版以及获取接入点信息。本文以使用OpenTelemetry Java Agent自动埋点上报Java应用数据为例,帮助您快速上手可观测链路 OpenTelemetry 版。
前提条件
方案概览
旧版控制台的链路追踪详情页展示一次 HTTP 404 请求的完整调用链:左侧时间轴包含 5 个 Span 层级,依次为 GET /**(404,11.1ms)、ResourceHttpRequestHandler.handleRequest(85μs)、ResponseFacade.sendError(19μs)、BasicErrorController.errorHtml(4.92ms)、Render error(4.34ms),顶部显示 TraceID、开始时间、总耗时及红色异常提示。右侧 Span 详情面板展示应用名 java-agent-usage-0.0.1-SNAPSHOT、接口名 BasicErrorController.errorHtml、spanId、parentSpanId 及 Attributes,包括 ali.trace.component_type=98、ali.trace.flag=x-trace、thread.name=http-nio-8081-exec-1 等属性。
本文以OpenTelemetry Java Agent自动埋点上报Java应用数据为例进行说明,主要分为以下几步:
-
下载Demo应用代码:您可以选择下载Demo应用代码体验可观测链路 OpenTelemetry 版,您也可以尝试在自己的业务中完成OpenTelemetry Java Agent自动埋点和查看监控数据。
-
使用OpenTelemetry Java Agent自动埋点:您需要下载OpenTelemetry Java Agent,OpenTelemetry Java Agent提供了无侵入的接入方式,支持上百种Java框架自动上传Trace数据。您还需要修改Java启动的VM参数以上报链路数据。
-
查看监控数据:您可以在可观测链路 OpenTelemetry 版控制台查看由OpenTelemetry生成的监控数据。
一、下载Demo应用代码
您可以使用Demo应用代码,也可以使用您自己的Java业务代码。
下载Demo代码: OpenTelemetry Java Agent Demo。
Demo包中包含三个子文件夹,分别是:
-
java-agent-usage:使用OpenTelemetry Java Agent自动埋点,本文以此为例。
-
otel-sdk-usage:使用OpenTelemetry Java SDK手动埋点。
-
agent-sdk-usage:同时使用Java Agent和Java SDK埋点。
二、使用OpenTelemetry Java Agent自动埋点
本文以使用OpenTelemetry Java Agent自动埋点上报Java应用数据为例进行说明。详细的Java框架列表,请参见Supported Libraries and Versions。
-
在最新版本的Assets中找到opentelemetry-javaagent.jar包,单击JAR包下载。
-
通过修改Java启动的VM参数上报链路数据。
-javaagent:/{user.workspace}/opentelemetry-javaagent.jar //请将{user.workspace}替换为您文件下载的实际地址。 -Dotel.resource.attributes=service.name=<appName> // 请将<appName>替换为要接入可观测链路 OpenTelemetry 版的应用名称。 -Dotel.exporter.otlp.headers=Authentication=<token> //前提条件中获取的接入点信息。 -Dotel.exporter.otlp.endpoint=<endpoint> //前提条件中获取的接入点信息。例如,您原有的应用启动命令是:
java -jar /{user.workspace}/java-agent-usage-0.0.1-SNAPSHOT.jar要接入可观测链路 OpenTelemetry 版,需要改为如下启动命令:
java -Dotel.resource.attributes=service.name=java-agent-usage-0.0.1-SNAPSHOT -Dotel.exporter.otlp.headers=Authentication=ggxw4l****@7323a5caae30263_ggxw4l****@53df7ad2afe**** -Dotel.exporter.otlp.endpoint=http://tracing-analysis-dc-hz.aliyuncs.com:8090 -javaagent:/{user.workspace}/opentelemetry-javaagent.jar -jar /{user.workspace}/java-agent-usage-0.0.1-SNAPSHOT.jar
三、查看监控数据
-
访问Demo应用,访问地址为
localhost:8081/user/async。OpenTelemetry Java Agent会采集Demo应用数据,将数据上报至可观测链路 OpenTelemetry 版。 -
在可观测链路 OpenTelemetry 版控制台的应用列表页面选择目标应用,查看链路数据。
进入应用详情后,单击调用链分析页签,页面上方展示调用次数、错误数、平均耗时图表,下方为Trace列表(包含TraceId、接口名称、应用名称、耗时、状态、开始时间、主机地址等列),右侧面板提供慢Trace分析和错Trace分析功能,可按维度识别与慢调用显著相关的因素。
后续步骤
将应用数据上报至可观测链路 OpenTelemetry 版控制台后,您可以在可观测链路 OpenTelemetry 版控制台执行以下操作:
可观测链路 OpenTelemetry 版支持将Java、Go、Python、JS、.NET、C++等语言的应用数据上报至控制台。支持的上报数据客户端包括OpenTelemetry、Jaeger、Zipkin和SkyWalking。

