如何接入鏈路追蹤
更新時(shí)間:
在微服務(wù)分布式場(chǎng)景下,全鏈路追蹤功能給業(yè)務(wù)提供了各個(gè)服務(wù)點(diǎn)執(zhí)行情況的可視化快速分析定位能力。在定時(shí)任務(wù)場(chǎng)景下,業(yè)務(wù)執(zhí)行鏈路可能比常規(guī)實(shí)時(shí)業(yè)務(wù)的執(zhí)行鏈路更長(zhǎng),接入全鏈路追蹤有助于查詢?nèi)蝿?wù)執(zhí)行耗時(shí)、分析執(zhí)行異常等問(wèn)題。本文介紹如何將定時(shí)任務(wù)接入全鏈路追蹤。
前提條件
- 客戶端為1.7.0及以上版本。
- 客戶端依賴Trace插件。具體操作,請(qǐng)參見(jiàn)接入配置。
- 應(yīng)用升級(jí)為專業(yè)版。具體操作,請(qǐng)參見(jiàn)如何升級(jí)為專業(yè)版。
接入鏈路追蹤
接入配置
以Spring Boot接入模式為例,在應(yīng)用程序的pom.xml文件中添加依賴。
<dependency>
<groupId>com.aliyun.schedulerx</groupId>
<artifactId>schedulerx2-spring-boot-starter</artifactId>
<version>{最新版本}</version>
<!--如果使用logback,需要將log4j和log4j2排掉 -->
<exclusions>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 補(bǔ)充依賴鏈路追蹤擴(kuò)展插件 -->
<dependency>
<groupId>com.aliyun.schedulerx</groupId>
<artifactId>schedulerx-plugin-trace-opentelemetry</artifactId>
<version>{最新版本}</version>
</dependency>
<!-- skywalking則采用該插件 -->
<!--<dependency>
<groupId>com.aliyun.schedulerx</groupId>
<artifactId>schedulerx-plugin-trace-skywalking</artifactId>
<version>{最新版本}</version>
</dependency>-->
應(yīng)用部署配置
- 方案一:EDAS部署應(yīng)用 (推薦)
- 如果您已經(jīng)使用了EDAS部署應(yīng)用服務(wù),那么已具備相應(yīng)的接入能力,本章節(jié)應(yīng)用部署可直接跳過(guò)。
- 新用戶可以開(kāi)通EDAS,通過(guò)EDAS平臺(tái)部署自己應(yīng)用程序即可自動(dòng)接入全鏈路追蹤能力,無(wú)需額外配置。具體操作,請(qǐng)參見(jiàn)開(kāi)始使用EDAS。
- 方案二:接入ARMS獨(dú)立部署
參考ARMS應(yīng)用接入流程。按提示下載相關(guān)JAR包,并配置對(duì)應(yīng)應(yīng)用信息,在啟動(dòng)腳本中添加arms javaagent配置即可啟動(dòng)完成接入。具體操作,請(qǐng)參見(jiàn)手動(dòng)安裝探針。
- 方案三:自建平臺(tái)集成
如果您采用了自建的全鏈路追蹤平臺(tái),依然可以進(jìn)行相應(yīng)集成。以常見(jiàn)的skywalking為例,接入步驟如下所示。
- 下載skywalking agent安裝包并完成配置。
- 在Java應(yīng)用啟動(dòng)腳本中添加JVM參數(shù):
-javaagent:{agent.path}/skywalking-agent.jar
。 - 將Java業(yè)務(wù)應(yīng)用依賴的SchedulerX Trace插件切換為skywalking類型,如下所示。
<dependency> <groupId>com.aliyun.schedulerx</groupId> <artifactId>schedulerx-plugin-trace-skywalking</artifactId> <version>{最新version}</version> </dependency>
說(shuō)明 全鏈路數(shù)據(jù)采集設(shè)置了默認(rèn)采樣率,并非每條執(zhí)行鏈路都會(huì)被采集到。您可以根據(jù)業(yè)務(wù)場(chǎng)景設(shè)置相應(yīng)采樣率。
鏈路追蹤查看
在完成上述配置和應(yīng)用部署后,定時(shí)任務(wù)執(zhí)行即可實(shí)現(xiàn)可視化全鏈路追蹤能力。目前支持單機(jī)(含HTTP任務(wù))、廣播、可視化Map任務(wù)。
- 登錄分布式任務(wù)調(diào)度平臺(tái)。
- 在頂部菜單欄選擇地域。
- 在左側(cè)導(dǎo)航欄,單擊執(zhí)行列表,選擇任務(wù)實(shí)例列表頁(yè)簽,然后在操作列按需執(zhí)行以下操作。
- 單機(jī)任務(wù)單擊鏈路追蹤或詳情中的TraceId,即可調(diào)整至相應(yīng)執(zhí)行調(diào)用鏈查看。因?yàn)樵摲?wù)所屬應(yīng)用部署支持了全鏈路追蹤能力(支持OpenTelemetry),所以該特性同樣適用于單機(jī)HTTP任務(wù)。
- 廣播任務(wù)單擊詳情。在任務(wù)實(shí)例詳情頁(yè)面,單擊當(dāng)前執(zhí)行詳情。每一個(gè)機(jī)器會(huì)有對(duì)應(yīng)的TraceID展示且支持跳轉(zhuǎn)查看調(diào)用鏈。
- 可視化Map任務(wù)單擊詳情。在任務(wù)實(shí)例詳情頁(yè)面,單擊子任務(wù)列表。可視化Map任務(wù)為執(zhí)行記錄中的每一個(gè)子任務(wù)提供了執(zhí)行鏈路的可視化查詢支持。在執(zhí)行記錄詳情的子任務(wù)列表中,可以根據(jù)每個(gè)子任務(wù)查看其TraceID并跳轉(zhuǎn)查看其調(diào)用鏈。
- 單機(jī)任務(wù)
文檔內(nèi)容是否對(duì)您有幫助?