2.8.7. サンプルトレースの生成とトレースデータの分析

Jaeger はオープンソースの分散トレースシステムです。Jaeger を使用すると、トレースを実行でき、アプリケーションを設定するさまざまなマイクロサービスで要求のパスを追跡します。Jaeger はデフォルトで Service Mesh の一部としてインストールされます。

このチュートリアルでは、Service Mesh と Bookinfo サンプルアプリケーションを使用して、Jaeger で分散トレースを実行する方法を示します。

前提条件:

  • OpenShift Container Platform 4.1 以降がインストールされている。
  • Red Hat OpenShift Service Mesh 2.2.3 がインストールされている。
  • インストール時に Jaeger が有効にされている。
  • Bookinfo のサンプルアプリケーションがインストールされている。

手順

  1. Bookinfo サンプルアプリケーションのインストール後に、トラフィックをメッシュに送信します。以下のコマンドを数回入力します。

    $ curl "http://$GATEWAY_URL/productpage"

    このコマンドはアプリケーションの productpage マイクロサービスにアクセスするユーザーをシミュレートします。

  2. OpenShift Container Platform コンソールで、NetworkingRoutes に移動し、Jaeger ルートを検索します。これは Location に一覧される URL です。

    • または CLI を使用してルートの詳細のクエリーを実行します。この例では、istio-system が Service Mesh コントロールプレーンの namespace です。

      $ export JAEGER_URL=$(oc get route -n istio-system jaeger -o jsonpath='{.spec.host}')
      1. 以下のコマンドを実行して Jaeger コンソールの URL を表示します。結果をブラウザーに貼り付け、その URL に移動します。

        echo $JAEGER_URL
  3. OpenShift Container Platform コンソールへアクセスするときに使用するものと同じユーザー名とパスワードを使用してログインします。
  4. Jaeger ダッシュボードの左側のペインで、サービス メニューから productpage.bookinfo を選択し、ペイン下部の Find Traces をクリックします。トレースの一覧が表示されます。
  5. 一覧のトレースのいずれかをクリックし、そのトレースの詳細ビューを開きます。一覧で最初の項目をクリックすると、'/productpage の最終更新に対応する詳細が表示されます。