分散型スケジュールジョブは、複数のサービスにまたがり、一般的なリアルタイムリクエストよりも長く実行されることがよくあります。SchedulerX のトレース分析は、ジョブ実行パスにエンドツーエンドの可視性を提供し、実行時間を測定し、サービス間の障害を特定するのに役立ちます。
前提条件
開始する前に、以下を確認してください。
エージェントバージョン 1.7.0 以降
Professional Edition にスペックアップされたアプリケーション
トレースプラグインの依存関係を追加する
Spring Boot アプリケーションの pom.xml ファイルに次の依存関係を追加します。
<dependency>
<groupId>com.aliyun.schedulerx</groupId>
<artifactId>schedulerx2-spring-boot-starter</artifactId>
<version>{Latest 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>
<!-- OpenTelemetry トレースプラグイン -->
<dependency>
<groupId>com.aliyun.schedulerx</groupId>
<artifactId>schedulerx-plugin-trace-opentelemetry</artifactId>
<version>{Latest version}</version>
</dependency>
<!-- 代替: SkyWalking トレースプラグイン -->
<!--
<dependency>
<groupId>com.aliyun.schedulerx</groupId>
<artifactId>schedulerx-plugin-trace-skywalking</artifactId>
<version>{Latest version}</version>
</dependency>
-->アプリケーションのデプロイ
次のいずれかのデプロイ方法を選択します。
Enterprise Distributed Application Service (EDAS) へのデプロイ (推奨)
アプリケーションがすでに EDAS にデプロイされている場合、トレース分析は自動的に機能します。追加の構成は不要です。
EDAS を初めて利用する場合は、サービスをアクティブ化し、EDAS コンソールからアプリケーションをデプロイします。トレース分析はデフォルトで有効になります。詳細については、「EDAS の開始」をご参照ください。
Application Real-Time Monitoring Service (ARMS) の統合
ARMS エージェント JAR パッケージをダウンロードします。
アプリケーション情報を構成します。
ARMS javaagent を起動スクリプトに追加します。
詳細な手順については、「Java アプリケーションに ARMS エージェントを手動でインストールする」をご参照ください。
セルフマネージドトレースプラットフォームの統合
Apache SkyWalking のようなセルフマネージドトレースプラットフォームを使用する場合は、次の手順に従います。
SkyWalking エージェントパッケージをダウンロードし、エージェント構成を完了します。
次の JVM パラメーターを Java アプリケーション起動スクリプトに追加します。
-javaagent:{agent.path}/skywalking-agent.jarSchedulerX トレースプラグインの依存関係を SkyWalking タイプに切り替えます。
<dependency> <groupId>com.aliyun.schedulerx</groupId> <artifactId>schedulerx-plugin-trace-skywalking</artifactId> <version>{Latest version}</version> </dependency>
トレース分析結果の表示
統合とデプロイが完了した後、SchedulerX はスケジュールされたジョブの実行をエンドツーエンドでトレースします。次の表は、サポートされているジョブタイプと、各タイプでトレースデータにアクセスする方法を示しています。
ジョブタイプ | サポート | トレースへのアクセス方法 |
スタンドアロン (HTTP を含む) | はい | [操作] 列の [トレース] をクリックします。 または、[詳細] をクリックし、[TraceId] の横にある ID をクリックして [トレース] ページを開きます。 |
ブロードキャスト | はい | [詳細] をクリック > [現在の実行詳細] タブ > [TraceId] 列のワーカー ID をクリックします。 |
ビジュアル MapReduce | はい | 「[詳細]」をクリックし、「[サブタスク一覧]」タブをクリックして、[TraceId] 列のサブタスク ID をクリックします。 |
トレース結果を表示するには:
分散型タスクスケジューリングプラットフォームにログインします。
上部のナビゲーションバーでリージョンを選択します。
左側のナビゲーションウィンドウで、[実行リスト] をクリックします。[タスクインスタンスリスト] タブで、目的の ジョブインスタンス を探します。
[操作] 列で、前述の表に記載されているジョブの種類に基づいてトレースデータにアクセスします。
デフォルトのサンプリングレートによって、収集されるトレースデータの量が制御されます。すべての実行パスがサンプリングされるわけではありません。ワークロード要件に基づいてサンプリングレートを調整します。