14.1 トレース
分散トレースを使用して、MicroTxとマイクロサービスの間でのリクエストのフローを理解します。KialiやJaegerなどのツールを使用して、MicroTxの分散トランザクションを追跡およびトレースします。
Istioは、サービス間通信を処理するために個別のインフラストラクチャ・レイヤーを提供するサービス・メッシュです。ネットワーク通信がサービスそのものから取り出されて、プロキシによって処理されます。Istioではサイドカー設計が使用されています。つまり、通信プロキシは各サービス・コンテナ外部の独自のコンテナ内で実行されます。Envoyは、マイクロサービス・コンテナ内にサイドカーとしてデプロイされるプロキシです。サービス・メッシュ内のすべての通信は、Envoyプロキシを介して行われます。Envoyプロキシでは、プロキシ対象のマイクロサービスにかわってトレース・スパンが自動的に生成され、サービスは適切なリクエスト・コンテキストを転送することだけが求められます。https://istio.io/latest/docs/concepts/observability/を参照してください。Istioでは、Zipkin、Jaeger、Lightstep、Datadogなど、多くのトレース・バックエンドがサポートされます。
ノート:
この項で説明するステップは、MicroTxおよびIstioがKubernetesクラスタにデプロイされた環境に固有です。この項で説明する手順は、テスト環境や開発環境のみで使用してください。これらの手順は本番環境向けではありません。詳細は、KialiとJaegerのドキュメントを参照してください。
- Jaegerのインストール
 ダウンロードしたIstioインストール・バンドルには、Jaegerをすぐに起動して実行するために基本のサンプル・インストールとしてjaeger.yamlが含まれています。jaeger.yamlファイルは、Istioインストール・ファイルをダウンロードした場所のsamples/addonsフォルダにあります。
- Jaegerを使用した分散トレースの実行
- Kialiのインストール
 ダウンロードしたIstioインストール・バンドルには、Kialiをすぐに起動して実行するために基本のサンプル・インストールとしてkiali.yamlが含まれています。kiali.yamlファイルは、Istioインストール・ファイルをダウンロードした場所のsamples/addonフォルダにあります。
- トレース・ヘッダーのリスト
 トランザクションを全面的にトレースする場合は、oracle.tmm.PropagateTraceHeadersをtrueに設定します。これにより、すべての受信リクエストおよび送信リクエストのトレース・ヘッダーが伝播されます。
親トピック: トランザクションのモニターおよびトレース