在微服務(wù)分布式場景下,全鏈路追蹤功能給業(yè)務(wù)提供了各個服務(wù)點執(zhí)行情況的可視化快速分析定位能力。在定時任務(wù)場景下,業(yè)務(wù)執(zhí)行鏈路可能比常規(guī)實時業(yè)務(wù)的執(zhí)行鏈路更長,接入全鏈路追蹤有助于查詢?nèi)蝿?wù)執(zhí)行耗時、分析執(zhí)行異常等問題。本文介紹如何將定時任務(wù)接入全鏈路追蹤。
前提條件
- 客戶端為1.7.0及以上版本。
- 客戶端依賴Trace插件。具體操作,請參見接入配置。
- 應(yīng)用升級為專業(yè)版。具體操作,請參見如何升級為專業(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>
<!-- 補充依賴鏈路追蹤擴展插件 -->
<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)用部署可直接跳過。
- 新用戶可以開通EDAS,通過EDAS平臺部署自己應(yīng)用程序即可自動接入全鏈路追蹤能力,無需額外配置。具體操作,請參見開始使用EDAS。
- 方案二:接入ARMS獨立部署
參考ARMS應(yīng)用接入流程。按提示下載相關(guān)JAR包,并配置對應(yīng)應(yīng)用信息,在啟動腳本中添加arms javaagent配置即可啟動完成接入。具體操作,請參見為Java應(yīng)用手動安裝Agent。
- 方案三:自建平臺集成
如果您采用了自建的全鏈路追蹤平臺,依然可以進行相應(yīng)集成。以常見的skywalking為例,接入步驟如下所示。
- 下載skywalking agent安裝包并完成配置。
- 在Java應(yī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>
說明 全鏈路數(shù)據(jù)采集設(shè)置了默認采樣率,并非每條執(zhí)行鏈路都會被采集到。您可以根據(jù)業(yè)務(wù)場景設(shè)置相應(yīng)采樣率。
鏈路追蹤查看
在完成上述配置和應(yīng)用部署后,定時任務(wù)執(zhí)行即可實現(xiàn)可視化全鏈路追蹤能力。目前支持單機(含HTTP任務(wù))、廣播、可視化Map任務(wù)。