[17.0.0.4 and later]

分散トレースの有効化

環境を構成して、JAX-RS アプリケーションでの自動分散トレースを使用可能にします。opentracing-1.0 フィーチャーをユーザー提供の opentracing.io.Tracer 実装と共に使用可能にして、JAX-RS アプリケーションが、分散トレース情報の作成、伝搬、および配信を自動的に行えるようにできます。

このタスクについて

分散トレース
分散トレースを使用して、サービス境界を越えて要求の流れをトレースします。これは、要求が複数のサービスを通って流れていくのが一般的であるマイクロサービス環境では重要なことです。分散トレースがアクティブな場合、各サービスは相関 ID を使用してトレース・レコードを作成します。使用される相関 IDは、アップストリーム・サービスから伝搬されている可能性があります。で示されているように、分散トレース・ロギングは分散トレース・レコード用のストレージ・サービスを伴うのが一般的です。ストレージ・サービスを使用して、複数のサービスにまたがって流れる特定の要求フローと関連付けられたトレース・レコードを表示します。
opentracing.io
opentracing.io プロジェクトは、分散トレース用にサービスを計測するための標準 API を提供します。opentracing.io API を使用して分散トレース用にすべてのサービスを計測する場合、デプロイメント時にサービスを構成できます。サービスの言語用の実装ライブラリーが存在する場合、サービスが共通システム実装を使用して、ログ・レコードをフォーマットし、サービスにまたがる相関 ID を伝搬するようにします。共通実装は、すべてのサービスで理解できるように相関 ID を伝搬します。また、この実装は、サーバーが分散トレース・レコード・ストレージ用にログ・レコードを理解できるようにログ・レコードをフォーマットします。

手順

  1. ユーザー・フィーチャーを提供します。${wlp.user.dir}/extension ディレクトリー内に、io.opentracing.Tracer 実装を含むユーザー・フィーチャーを作成してインストールします。
    1. Zipkin Opentracing tracer implementation for use with Liberty で、Zipkin 固有の opentracing.io API 実装を提供するフィーチャーのソース・コード例にアクセスします。Maven リポジトリー内で、Zipkin 固有の opentracing.io API 実装を提供するユーザー・フィーチャーのビルド済みバージョンにアクセスします。
    2. このユーザー・フィーチャーで、com.ibm.ws.opentracing.tracer.OpentracingTracerFactory インターフェースを実装する OSGI サービスが提供されるようにします。
      package com.ibm.ws.opentracing.tracer;
      
      import io.opentracing.Tracer;
      
      public interface OpentracingTracerFactory {
      
          Tracer newInstance(String serviceName);
      
      }
    1. OpentracingTracerFactory 実装の newInstance メソッドを、io.opentracing.Tracer オブジェクトを返すように設定します。プログラムが返す Tracer オブジェクトが、サービスが実行される環境にとって正しい実装であることを確認してください。 Zipkin Opentracing tracer implementation for use with Liberty の例では、Tracer は、使用可能な Zipkin サーバーのある環境で通信するインスタンスです。
    2. Zipkin サーバーが使用されない環境の場合、環境にある分散トレース・サーバーと通信する Tracer オブジェクトを提供するように実装を変更します。 ユーザー・フィーチャーを作成すると、次の 2 つの成果物が生成されます。
      • OpentracingTracerFactory 実装および Tracer 実装が含まれた .jar ファイル
      • ユーザー・フィーチャーの記述が含まれた mf ファイル

      Zipkin Opentracing tracer implementation for use with Liberty にある例では、2 つのファイルが次の場所に作成されます。

      target/extension/lib/com.ibm.ws.opentracing.zipkintracer-0.30.jar
      target/extension/lib/features/opentracingZipkin-0.30.mf
    3. 実装が含まれた .jar ファイルを、環境にあるすべての Liberty サーバーの ${wlp.user.dir}/extension/lib ディレクトリーにコピーします。
    4. フィーチャー説明が含まれた .mf ファイルを、環境にあるすべての Liberty サーバーの ${wlp.user.dir}/extension/lib/features ディレクトリーにコピーします。
  2. サーバーを構成します。そのユーザー・フィーチャーをサーバー環境の server.xml ファイル内で有効にします。
    1. 環境内の各 Liberty サーバーでフィーチャーを有効にします。 作成した .mf ファイルには、 IBM-ShortName という名前のプロパティーが含まれています。IBM-ShortName プロパティーの値は、各 Liberty サーバーの server.xml ファイル内で有効にされたフィーチャー名です。Zipkin Opentracing tracer implementation for use with Liberty の例では、 IBM-ShortName プロパティーの値は opentracingZipkin-0.30 です。このフィーチャーを有効にするため、以下のコードを各 server.xml ファイルに追加します。
      <featureManager>
      	<feature>usr:opentracingZipkin-0.30</feature>
      </featureManager>
      Zipkin Opentracing tracer implementation for use with Liberty の例は、server.xml ファイルから構成パラメーターを受け入れます。デフォルト・サービス名 zipkin とデフォルト・ポート 9411 を使用して環境内の Zipkin サーバーに到達できない場合は、以下のように opentracingZipkin 構成エレメントを各サーバーに追加してホストとポートを構成します。
      <opentracingZipkin host=”Zipkin Host Name” port=”Zipkin Port Number”/>

トピックのタイプを示すアイコン タスク・トピック

ファイル名: twlp_dist_tracing.html