すべてのプロダクト
Search
ドキュメントセンター

Microservices Engine:トレース分析の統合

最終更新日:Jan 13, 2025

分散マイクロサービスの場合、エンドツーエンドのトレース分析機能を使用すると、各サービスでのリクエストの実行を視覚的に分析できます。スケジュールされたジョブの場合、実行パスは一般的なリアルタイムサービスの実行パスよりも長くなる可能性があります。エンドツーエンドのトレース分析機能は、ジョブの実行時間をクエリし、実行例外を分析するのに役立ちます。このトピックでは、トレース分析をスケジュールされたジョブと統合する方法について説明します。

前提条件

  • エージェントのバージョンは 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>
<!-- トレース分析用の拡張プラグインへの依存関係を追加します。 -->
<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>-->

アプリケーションデプロイ設定

  • 方法 1: EDAS にアプリケーションをデプロイする (推奨)
    • EDAS にアプリケーションをすでにデプロイしている場合、アプリケーションはトレース分析をサポートしており、このセクションのアプリケーションデプロイをスキップできます。
    • 新規ユーザーの場合は、EDAS をアクティブ化し、EDAS コンソールでアプリケーションをデプロイできます。その後、アプリケーションはエンドツーエンドのトレース分析をサポートするため、追加の設定を行う必要はありません。詳細については、EDAS の使用開始をご参照ください。
  • 方法 2: Application Real-Time Monitoring Service (ARMS) を統合し、アプリケーションを手動でデプロイする

    指示に従って関連する JAR パッケージをダウンロードし、対応するアプリケーション情報を設定してから、起動スクリプトに [arms Javaagent] 設定を追加することで、ARMS を統合します。操作の詳細については、ARMS エージェントの手動インストールをご参照ください。

  • 方法 3: セルフビルドプラットフォームを統合する

    セルフビルドのエンドツーエンドトレース分析プラットフォームを使用している場合も、それを統合できます。次の例は、SkyWalking を統合する方法を示しています。

    1. SkyWalking エージェントのインストールパッケージをダウンロードし、設定を完了します。
    2. Java アプリケーション起動スクリプトに次の Java 仮想マシン ( JVM ) パラメータを追加します: -javaagent:{agent.path}/skywalking-agent.jar
    3. Java アプリケーションが依存する SchedulerX トレースプラグインを SkyWalking タイプに切り替えます。次のコードは例を示しています。
      <dependency>
          <groupId>com.aliyun.schedulerx</groupId>
          <artifactId>schedulerx-plugin-trace-skywalking</artifactId>
          <version>{Latest version}</version>
      </dependency>
説明 エンドツーエンドのトレース分析でのデータ収集には、デフォルトのサンプリングレートが設定されています。すべての実行パスに対してデータが収集されるわけではありません。ビジネスシナリオに基づいてサンプリングレートを指定できます。

トレース分析結果の表示

上記の構成とアプリケーションのデプロイが完了すると、スケジュールされたジョブの実行がエンドツーエンドで視覚的にトレースされます。スタンドアロンジョブ ( HTTP ジョブを含む )、ブロードキャストジョブ、およびビジュアル MapReduce ジョブがサポートされています。

  1. 分散タスクスケジューリングプラットフォーム にログインします。
  2. にログインします。

  3. 左側のナビゲーションペインで、[タスクスケジューリング ( Schedulerx )] をクリックします。
  4. 上部のナビゲーションバーで、リージョンを選択します。

  5. 左側のナビゲーションペインで、[実行リスト] をクリックします。[タスクインスタンスリスト] タブで、必要に応じて [操作] 列で次の操作を実行します。
    • スタンドアロンジョブ

      [トレース] をクリックします。または、[詳細] をクリックし、[traceid] の右側の ID をクリックします。その後、[トレース] ページが表示されます。スタンドアロンジョブが属するアプリケーションはエンドツーエンドのトレース分析 ( OpenTelemetry ) をサポートしているため、この機能はスタンドアロン HTTP ジョブにも適用できます。

    • ブロードキャストジョブ

      [詳細] をクリックします。[タスクインスタンスの詳細] ページで、[現在の実行の詳細] タブをクリックします。[TraceId] 列のワーカーの ID をクリックして、[トレース] ページを表示できます。

    • ビジュアル MapReduce ジョブ

      [詳細] をクリックします。[タスクインスタンスの詳細] ページで、[サブタスクリスト] タブをクリックします。このタブでは、実行レコード内のすべてのサブタスクの実行パスのステータスを仮想的にクエリできます。この実行レコードの詳細のサブタスクリストでは、[TraceId] 列のサブタスクの ID をクリックして、[トレース] ページを表示することもできます。