Zipkin
このタスクを完了すると、アプリケーションを構築するために使用する言語、フレームワーク、プラットフォームに関係なく、Zipkinを使用してアプリケーションをトレーシングに参加させる方法を理解できます。
このタスクでは、Bookinfoサンプルをサンプルアプリケーションとして使用します。
Istioがトレーシングをどのように処理するかについては、このタスクの概要を参照してください。
始める前に
クラスタにZipkinをデプロイするには、Zipkinのインストールドキュメントに従ってください。
トレーシングを有効にすると、Istioがトレーシングに使用するサンプリングレートを設定できます。インストール中に`meshConfig.defaultConfig.tracing.sampling`オプションを使用してサンプリングレートを設定できます。デフォルトのサンプリングレートは1%です。
Bookinfoサンプルアプリケーションをデプロイします。
ダッシュボードへのアクセス
テレメトリアドオンへのリモートアクセスでは、ゲートウェイを介してIstioアドオンへのアクセスを設定する方法について説明しています。
テスト(および一時的なアクセス)のために、ポートフォワーディングを使用することもできます。Zipkinを`istio-system`名前空間にデプロイした場合、次のコマンドを使用します。
$ istioctl dashboard zipkin
Bookinfoサンプルを使用したトレースの生成
Bookinfoアプリケーションが稼働したら、`http://$GATEWAY_URL/productpage`に1回以上アクセスして、トレース情報を生成します。
トレースデータを表示するには、サービスにリクエストを送信する必要があります。リクエストの数はIstioのサンプリングレートに依存し、テレメトリAPIを使用して設定できます。デフォルトのサンプリングレート1%では、最初のトレースが表示される前に少なくとも100個のリクエストを送信する必要があります。`productpage`サービスに100個のリクエストを送信するには、次のコマンドを使用します。
$ for i in $(seq 1 100); do curl -s -o /dev/null "http://$GATEWAY_URL/productpage"; done
検索パネルでプラス記号をクリックします。最初のドロップダウンリストから
serviceName
、2番目のドロップダウンリストからproductpage.default
を選択し、検索アイコンをクリックします。トレースダッシュボード ISTIO-INGRESSGATEWAY
の検索結果をクリックして、/productpage
への最新の要求に対応する詳細を表示します。詳細トレースビュー トレースは一連のspanで構成されており、各spanは
/productpage
要求の実行中に呼び出されたBookinfoサービス、または内部Istioコンポーネント(例:istio-ingressgateway
)に対応しています。
クリーンアップ
control-Cまたは、実行中の
istioctl
プロセスがあればすべて削除してください。$ killall istioctl
以降のタスクを検討しない場合は、Bookinfoクリーンアップの手順を参照してアプリケーションをシャットダウンしてください。