第16章 分散トレースの設定
分散トレースを使用すると、分散システムのアプリケーション間におけるトランザクションの進捗を追跡できます。マイクロサービスのアーキテクチャーでは、トレースがサービス間のトランザクションの進捗を追跡します。トレースデータは、アプリケーションのパフォーマンスを監視し、ターゲットシステムおよびエンドユーザーアプリケーションの問題を調べるのに有用です。
Streams for Apache Kafka では、トレースによってメッセージのエンドツーエンドの追跡が容易になります。これは、ソースシステムから Kafka、さらに Kafka からターゲットシステムおよびアプリケーションへのメッセージの追跡です。これは、JMX メトリクス で表示できるメトリクスやコンポーネントロガーを補います。
トレースのサポートは、以下の Kafka コンポーネントに組み込まれています。
- Kafka Connect
- MirrorMaker
- MirrorMaker 2
- Streams for Apache Kafka Bridge
トレースは Kafka ブローカーではサポートされません。
コンポーネントのプロパティーファイルにトレース設定を追加します。
トレースを有効にするには、環境変数を設定し、トレースシステムのライブラリーを Kafka クラスパスに追加します。Jaeger トレースの場合、Jaeger Exporter を使用して OpenTelemetry のトレースアーティファクトを追加できます。
Streams for Apache Kafka は OpenTracing をサポートしなくなりました。これまでに、Jaeger で OpenTracing を使用していた場合は、代わりに OpenTelemetry の使用に移行することを推奨します。
Kafka プロデューサー、コンシューマー、および Kafka Streams API アプリケーションでトレースを有効にするには、アプリケーションコードを インストルメント化 します。インストルメント化されると、クライアントはメッセージのトレースデータを生成します (メッセージの作成時やログへのオフセットの書き込み時など)。
Streams for Apache Kafka 以外のアプリケーションおよびシステムのトレース設定は、このコンテンツの範囲外です。
16.1. 手順の概要
Streams for Apache Kafka のトレースを設定するには、次の手順に従います。
Kafka Connect、MirrorMaker 2、および MirrorMaker のトレースを設定します。
クライアントのトレースを設定します。
トレーサーでクライアントをインストルメント化します。
Kafka Bridge のトレースを有効にする方法については、Streams for Apache Kafka Bridge の使用 を参照してください。