Jaeger

このタスクを完了すると、アプリケーションの構築に使用する言語、フレームワーク、プラットフォームに関係なく、Jaegerを使用してアプリケーションをトレースに参加させる方法を理解できます。

このタスクでは、サンプルアプリケーションとしてBookinfoサンプルを使用します。

Istioがトレーシングをどのように処理するかを学ぶには、このタスクの概要をご覧ください。

開始する前に

  1. クラスタにJaegerをデプロイするには、Jaegerインストールドキュメントに従ってください。

  2. トレーシングを有効にすると、Istioがトレーシングに使用するサンプリングレートを設定できます。インストール時にmeshConfig.defaultConfig.tracing.samplingオプションを使用して、サンプリングレートを設定します。デフォルトのサンプリングレートは1%です。

  3. Bookinfoサンプルアプリケーションをデプロイします。

ダッシュボードへのアクセス

テレメトリアドオンへのリモートアクセスは、ゲートウェイを介してIstioアドオンへのアクセスを構成する方法を詳述しています。

テスト(および一時的なアクセス)には、ポート転送を使用することもできます。Jaegerをistio-system名前空間にデプロイしたと仮定して、以下を使用してください。

$ istioctl dashboard jaeger

Bookinfoサンプルを使用したトレースの生成

  1. Bookinfoアプリケーションが稼働したら、トレース情報を生成するために、http://$GATEWAY_URL/productpageに1回以上アクセスします。

    トレースデータを表示するには、サービスにリクエストを送信する必要があります。リクエストの数は Istio のサンプリングレートに依存し、Telemetry APIを使用して構成できます。デフォルトの 1% のサンプリングレートでは、最初のトレースが表示されるまでに少なくとも 100 件のリクエストを送信する必要があります。productpage サービスに 100 件のリクエストを送信するには、次のコマンドを使用します。

    $ for i in $(seq 1 100); do curl -s -o /dev/null "http://$GATEWAY_URL/productpage"; done
        
  2. ダッシュボードの左側のペインから、Service ドロップダウンリストで productpage.default を選択し、Find Traces をクリックします。

    Tracing Dashboard
    トレースダッシュボード
  3. 一番上の最新のトレースをクリックして、/productpageへの最新のリクエストに対応する詳細を表示します。

    Detailed Trace View
    詳細トレースビュー
  4. トレースは一連のスパンで構成されており、各スパンは /productpage リクエストの実行中に呼び出された Bookinfo サービス、または内部 Istio コンポーネント(例: istio-ingressgateway)に対応します。

クリーンアップ

  1. まだ実行中の istioctl プロセスがある場合は、Control-C または を使用して削除します。

    $ killall istioctl
    
  2. 後続のタスクを調査する予定がない場合は、アプリケーションをシャットダウンするために、Bookinfo クリーンアップ の手順を参照してください。

この情報は役に立ちましたか?
改善のためのご提案はありますか?

フィードバックありがとうございます!