分散トレース

最終公開日 : Oct 02, 2026
サービスグラフでは、分散トレースビューを使用して次のことができます。
  • サービス全体のパフォーマンスを分析する。
  • 選択したサービスとその相互依存サービス間の通信フローを視覚化する。
  • どのサービスがエラーを示しているかを特定し、エラーのあるサービスをトラブルシューティングする。
  • 選択したサービスとその各相互依存サービス間のトランザクションの詳細を表示する。

前提条件

サービスに関するトレース情報を表示するには、次のことを行う必要があります。
  • 東西トラフィックを送信する際に、アプリケーションが次のトレースヘッダーを維持していることを確認してください。
    ヘッダー
  • 1.7.23より前のCICビルドの場合、CPX YAMLファイルをNS_DISTRIBUTED_TRACINGとして、値をyesとして更新します。
    CPX YAML
  • 1.7.23より後のCICビルドの場合、ConfigMapを使用する必要があります。
    ConfigMapを使用すると、構成をポッドから分離し、ワークロードをポータブルにできます。ConfigMapを使用すると、ワークロードの構成を簡単に変更および管理でき、ポッド仕様に構成データをハードコードする必要性を減らすことができます。
    ConfigMapのサポートにより、NetScaler Ingress Controllerポッドを実行したまま、構成を自動的に更新できます。更新後にポッドを再起動する必要はありません。詳細については、イングレスコントローラーのConfigMapサポートを参照してください。
    ConfigMap を使用して、分散トレース、イベント、監査ログなどを有効または無効にできます。ConfigMap を使用するには:
    1. 必要なパラメータを使用して YAML ファイルを作成します。
      次の YAML ファイルの例では、分散トレースが有効になっており、監査ログ、イベント、トランザクションなどの他の変数は無効になっています。
      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: cic-configmap
        namespace: default
      data:
        LOGLEVEL: 'debug'
        NS_PROTOCOL: 'http'
        NS_PORT: '80'
        NS_HTTP2_SERVER_SIDE: 'ON'
        NS_ANALYTICS_CONFIG: |
          distributed_tracing:
            enable: 'true'
            samplingrate: 100
          endpoint:
            server: <AgentIP> / <AppserverIP>
          timeseries:
            port: 5563
            metrics:
              enable: 'true'
              mode: 'avro'
            auditlogs:
              enable: 'false'
            events:
              enable: 'false'
          transactions:
            enable: 'false'
            port: 5557
      注
      Samplingrate の値は 0 から 100 の間で指定できます。NetScaler Console は、指定された数のトレーストランザクションを表示します。
    2. ConfigMap をデプロイするには、以下を使用します。
      kubectl create -f <configmap-yaml>.yaml
    3. CPX YAML ファイルを編集し、envFrom または args のいずれかを使用して、次の引数を指定します。
      envFrom:
       - configMapRef:
           name: cic-configmap
      または
      YAML
      ConfigMap YAML 設定は CIC にデプロイされます。
    4. いずれかの変数の値を変更する場合は、ConfigMap の値を編集します。この例では、他のすべての変数が false から true に変更されています。
      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: cic-configmap
        namespace: default
      data:
        LOGLEVEL: 'debug'
        NS_PROTOCOL: 'http'
        NS_PORT: '80'
        NS_HTTP2_SERVER_SIDE: 'ON'
        NS_ANALYTICS_CONFIG: |
          distributed_tracing:
            enable: 'true'
            samplingrate: 100
          endpoint:
            server: <AgentIP> / <AppserverIP>
          timeseries:
            port: 5563
            metrics:
              enable: 'true'
              mode: 'avro'
            auditlogs:
              enable: 'true'
            events:
              enable: 'true'
          transactions:
            enable: 'true'
            port: 5557
    5. 次のコマンドを使用して ConfigMap を再適用します。
      kubectl apply -f <yaml-file>.yaml

サービストレースの詳細を表示

サービスグラフでサービスをクリックし、トレース情報を選択します。
トレース情報(/en-us/netscaler-console-service/media/trace-info.png)
選択したサービスのトレース概要ページが表示されます。
トレース概要(/en-us/netscaler-console-service/media/trace-summary.png)
トレース概要には以下が表示されます。
  • サジェストと演算子を使用してトランザクションを検索できる高度な検索 (1)。詳細については、高度な検索を参照してください。
  • 1時間、12時間、1日、1週間、1ヶ月、カスタム時間などの期間を選択できる期間リスト (2)。
  • 特定の期間の結果を表示するためにドラッグして選択できるタイムライン詳細グラフ (3)。
  • 各メトリックからオプションを選択できるフィルターパネル (4)。
  • 選択したサービスのトランザクション詳細 (5)。

トランザクションの詳細を表示

トランザクションをクリックして詳細情報をドリルダウンします。選択したサービスのトランザクション詳細を次のように表示できます。
  • 開始時刻
  • 終了時刻
  • SSLメトリック
  • 相互依存サービスとの通信(各サービスのエラーおよび応答時間を含む)。
以下の例は、catalogue-store-service からのエラーを示しています。詳細については、トレースの詳細を表示 をクリックしてください。
トレースの詳細(/en-us/netscaler-console-service/media/trace-details.png)
トレースの詳細ページが表示されます。
トレーストランザクション(/en-us/netscaler-console-service/media/trace-transactions.png)
1 – トランザクションの開始時刻、応答時間、合計サービス数、および合計スパンを表示します。
2 – 相互依存サービスと通信した選択されたサービスの詳細を表示します。各トランザクションをクリックして詳細を表示できます。
3 – 各サービスのトランザクション詳細を表示します。
例の画像によると、catalogue-store-service はエラーを示しています。catalogue-store-service で利用可能なトランザクションをクリックしてください。
トランザクションをクリック(/en-us/netscaler-console-service/media/trace-click-transaction.png)
product-catalogue-service と catalogue-store-service 間のトランザクション詳細では、HTTP応答が500であることが示されています。これらの詳細により、管理者として、エラーのあるサービスを分析し、解決策として product-catalogue-service をトラブルシューティングできます。
パネルの各メトリックからオプションを選択して、結果をフィルタリングすることもできます。たとえば、すべての5xxトランザクションを表示したい場合は、 をクリックして を選択します。
フィルターパネル(/en-us/netscaler-console-service/media/filters-panel.png)
  • クライアントRTT: パケットがクライアントから移動する時間。
  • サーバーRTT: パケットがサーバーから移動する時間。
  • アプリケーション応答時間:アプリケーションの平均応答時間
  • データ転送時間:サービスとの間で転送が発生する可能性のあるデータ転送サイズとレート。
  • ロケーション:クライアントのロケーション
  • ブラウザ:クライアントが使用するブラウザの種類。例:Chrome、Firefox。
  • クライアントOS:ブラウザのユーザーエージェントの詳細に基づくクライアントOS。
  • デバイス:ブラウザのユーザーエージェントの詳細に基づくデバイス。例:タブレット、モバイル。
  • リクエストタイプ:トランザクションのリクエストタイプ。例:GET。
  • 応答コード:サーバーから受信した応答コード。例:501、404、200。
  • 応答コンテンツタイプ:トランザクションのコンテンツタイプ。クライアントのリクエストがtext/htmlの場合、サーバーからの応答もtext/htmlである必要があります。
  • SSLプロトコル:クライアントが使用するSSLプロトコルバージョン。例:SSLv3。
  • SSL暗号強度:高、中、低などのSSL証明書キーサイズに基づく暗号強度。
  • SSLキー強度:SSL暗号強度は、SSL証明書のキーサイズから計算されます。キー長はSSLアルゴリズムのセキュリティを定義します。例:2048
  • SSLフロントエンド障害理由:フロントエンドのSSLハンドシェイクエラーメッセージ。例:SSL CLIENTAUTH FAILURE