Zipkin

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

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

Istioがトレーシングをどのように処理するかについては、このタスクの概要を参照してください。

始める前に

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

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

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

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

テレメトリアドオンへのリモートアクセスでは、ゲートウェイを介してIstioアドオンへのアクセスを設定する方法について説明しています。

テスト(および一時的なアクセス)のために、ポートフォワーディングを使用することもできます。Zipkinを`istio-system`名前空間にデプロイした場合、次のコマンドを使用します。

$ istioctl dashboard zipkin

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

  1. 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
        
  2. 検索パネルでプラス記号をクリックします。最初のドロップダウンリストからserviceName、2番目のドロップダウンリストからproductpage.defaultを選択し、検索アイコンをクリックします。

    Tracing Dashboard
    トレースダッシュボード
  3. ISTIO-INGRESSGATEWAYの検索結果をクリックして、/productpageへの最新の要求に対応する詳細を表示します。

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

クリーンアップ

  1. control-Cまたは、実行中のistioctlプロセスがあればすべて削除してください。

    $ killall istioctl
    
  2. 以降のタスクを検討しない場合は、Bookinfoクリーンアップの手順を参照してアプリケーションをシャットダウンしてください。

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

ご意見ありがとうございました!