使用可观测链路 OpenTelemetry 版前,您需要完成阿里云账号注册、开通可观测链路 OpenTelemetry 版以及获取接入点信息。本文以使用OpenTelemetry Java Agent自动埋点上报Java应用数据为例,帮助您快速上手可观测链路 OpenTelemetry 版。
前提条件
方案概览
本文以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 版控制台的应用列表页面选择目标应用,查看链路数据。
后续步骤
将应用数据上报至可观测链路 OpenTelemetry 版控制台后,您可以在可观测链路 OpenTelemetry 版控制台执行以下操作:
可观测链路 OpenTelemetry 版支持将Java、Go、Python、JS、.NET、C++等语言的应用数据上报至控制台。支持的上报数据客户端包括OpenTelemetry、Jaeger、Zipkin和SkyWalking。