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 のサンプルアプリケーションがインストールされている。
手順
Bookinfo サンプルアプリケーションのインストール後に、トラフィックをメッシュに送信します。以下のコマンドを数回入力します。
$ curl "http://$GATEWAY_URL/productpage"
このコマンドはアプリケーションの
productpage
マイクロサービスにアクセスするユーザーをシミュレートします。OpenShift Container Platform コンソールで、Networking
Routes に移動し、Jaeger ルートを検索します。これは Location に一覧される URL です。 または CLI を使用してルートの詳細のクエリーを実行します。この例では、
istio-system
が Service Mesh コントロールプレーンの namespace です。$ export JAEGER_URL=$(oc get route -n istio-system jaeger -o jsonpath='{.spec.host}')
以下のコマンドを実行して Jaeger コンソールの URL を表示します。結果をブラウザーに貼り付け、その URL に移動します。
echo $JAEGER_URL
- OpenShift Container Platform コンソールへアクセスするときに使用するものと同じユーザー名とパスワードを使用してログインします。
- Jaeger ダッシュボードの左側のペインで、サービス メニューから productpage.bookinfo を選択し、ペイン下部の Find Traces をクリックします。トレースの一覧が表示されます。
-
一覧のトレースのいずれかをクリックし、そのトレースの詳細ビューを開きます。一覧で最初の項目をクリックすると、
'/productpage
の最終更新に対応する詳細が表示されます。