快速入門
使用可觀測鏈路 OpenTelemetry 版前,您需要完成阿里云賬號注冊、開通可觀測鏈路 OpenTelemetry 版以及獲取接入點(diǎn)信息。本文以使用OpenTelemetry Java Agent自動(dòng)埋點(diǎn)上報(bào)Java應(yīng)用數(shù)據(jù)為例,幫助您快速上手可觀測鏈路 OpenTelemetry 版。
前提條件
新版控制臺
登錄可觀測鏈路 OpenTelemetry 版控制臺,在左側(cè)導(dǎo)航欄單擊接入中心。
在開源框架區(qū)域單擊OpenTelemetry卡片。
在彈出的OpenTelemetry面板中選擇數(shù)據(jù)需要上報(bào)的地域。
說明初次接入的地域?qū)詣?dòng)進(jìn)行資源初始化。
選擇連接方式和上報(bào)方式,然后復(fù)制接入點(diǎn)信息。
連接方式:若您的服務(wù)部署在阿里云上,且所屬地域與選擇的接入地域一致,推薦使用阿里云內(nèi)網(wǎng)方式,否則選擇公網(wǎng)方式。
上報(bào)方式:根據(jù)客戶端支持的協(xié)議類型選擇HTTP或gRPC協(xié)議上報(bào)數(shù)據(jù)。
舊版控制臺
在左側(cè)導(dǎo)航欄單擊集群配置,然后在右側(cè)頁面單擊接入點(diǎn)信息頁簽。
在頁面頂部選擇需要接入的地域,然后在集群信息區(qū)域打開顯示Token開關(guān)。
在客戶端采集工具區(qū)域單擊OpenTelemetry。
在相關(guān)信息列中,獲取接入點(diǎn)信息。
說明如果應(yīng)用部署于阿里云生產(chǎn)環(huán)境,則選擇阿里云VPC網(wǎng)絡(luò)接入點(diǎn),否則選擇公網(wǎng)接入點(diǎn)。
方案概覽
本文以O(shè)penTelemetry Java Agent自動(dòng)埋點(diǎn)上報(bào)Java應(yīng)用數(shù)據(jù)為例進(jìn)行說明,主要分為以下幾步:
下載Demo應(yīng)用代碼:您可以選擇下載Demo應(yīng)用代碼體驗(yàn)可觀測鏈路 OpenTelemetry 版,您也可以嘗試在自己的業(yè)務(wù)中完成OpenTelemetry Java Agent自動(dòng)埋點(diǎn)和查看監(jiān)控?cái)?shù)據(jù)。
使用OpenTelemetry Java Agent自動(dòng)埋點(diǎn):您需要下載OpenTelemetry Java Agent,OpenTelemetry Java Agent提供了無侵入的接入方式,支持上百種Java框架自動(dòng)上傳Trace數(shù)據(jù)。您還需要修改Java啟動(dòng)的VM參數(shù)以上報(bào)鏈路數(shù)據(jù)。
查看監(jiān)控?cái)?shù)據(jù):您可以在可觀測鏈路 OpenTelemetry 版控制臺查看由OpenTelemetry生成的監(jiān)控?cái)?shù)據(jù)。
一、下載Demo應(yīng)用代碼
您可以使用Demo應(yīng)用代碼,也可以使用您自己的Java業(yè)務(wù)代碼。
下載Demo代碼: OpenTelemetry Java Agent Demo。
Demo包中包含三個(gè)子文件夾,分別是:
java-agent-usage:使用OpenTelemetry Java Agent自動(dòng)埋點(diǎn),本文以此為例。
otel-sdk-usage:使用OpenTelemetry Java SDK手動(dòng)埋點(diǎn)。
agent-sdk-usage:同時(shí)使用Java Agent和Java SDK埋點(diǎn)。
二、使用OpenTelemetry Java Agent自動(dòng)埋點(diǎn)
本文以使用OpenTelemetry Java Agent自動(dòng)埋點(diǎn)上報(bào)Java應(yīng)用數(shù)據(jù)為例進(jìn)行說明。詳細(xì)的Java框架列表,請參見Supported Libraries and Versions。
在最新版本的Assets中找到opentelemetry-javaagent.jar包,單擊JAR包下載。
通過修改Java啟動(dòng)的VM參數(shù)上報(bào)鏈路數(shù)據(jù)。
-javaagent:/{user.workspace}/opentelemetry-javaagent.jar //請將{user.workspace}替換為您文件下載的實(shí)際地址。 -Dotel.resource.attributes=service.name=<appName> // 請將<appName>替換為要接入可觀測鏈路 OpenTelemetry 版的應(yīng)用名稱。 -Dotel.exporter.otlp.headers=Authentication=<token> //前提條件中獲取的接入點(diǎn)信息。 -Dotel.exporter.otlp.endpoint=<endpoint> //前提條件中獲取的接入點(diǎn)信息。
例如,您原有的應(yīng)用啟動(dòng)命令是:
java -jar /{user.workspace}/java-agent-usage-0.0.1-SNAPSHOT.jar
要接入可觀測鏈路 OpenTelemetry 版,需要改為如下啟動(dòng)命令:
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
三、查看監(jiān)控?cái)?shù)據(jù)
訪問Demo應(yīng)用,訪問地址為
localhost:8081/user/async
。OpenTelemetry Java Agent會采集Demo應(yīng)用數(shù)據(jù),將數(shù)據(jù)上報(bào)至可觀測鏈路 OpenTelemetry 版。在可觀測鏈路 OpenTelemetry 版控制臺的應(yīng)用列表頁面選擇目標(biāo)應(yīng)用,查看鏈路數(shù)據(jù)。
后續(xù)步驟
將應(yīng)用數(shù)據(jù)上報(bào)至可觀測鏈路 OpenTelemetry 版控制臺后,您可以在可觀測鏈路 OpenTelemetry 版控制臺執(zhí)行以下操作:
可觀測鏈路 OpenTelemetry 版支持將Java、Go、Python、JS、.NET、C++等語言的應(yīng)用數(shù)據(jù)上報(bào)至控制臺。支持的上報(bào)數(shù)據(jù)客戶端包括OpenTelemetry、Jaeger、Zipkin和SkyWalking。
語言 | 文檔 |
Java語言 | |
PHP應(yīng)用 | |
Go應(yīng)用 | |
Python應(yīng)用 | |
Node.js應(yīng)用 | |
.NET應(yīng)用 | |
C++應(yīng)用 | |
Ruby應(yīng)用 | |
Swift應(yīng)用 | |
Android應(yīng)用 | |
Rust應(yīng)用 |