Istio標準メトリクス

以下は、Istioによってエクスポートされる標準のサービスレベルメトリクスです。

テレメトリーコンポーネントは、プロキシ拡張機能として実装されています。COUNTERは、厳密に増加する整数です。DISTRIBUTIONは、値の範囲を頻度にマップします。COUNTERDISTRIBUTIONは、Envoyドキュメントのメトリクスカウンターとヒストグラムに対応しています。

メトリクス

HTTP、HTTP/2、およびGRPCトラフィックの場合、Istioは次のメトリクスを生成します

  • リクエスト数 (istio_requests_total): これは、Istioプロキシによって処理されたリクエストごとにインクリメントされるCOUNTERです。

  • リクエスト時間 (istio_request_duration_milliseconds): これは、リクエストの時間を測定するDISTRIBUTIONです。

  • リクエストサイズ (istio_request_bytes): これは、HTTPリクエストボディサイズを測定するDISTRIBUTIONです。

  • レスポンスサイズ (istio_response_bytes): これは、HTTPレスポンスボディサイズを測定するDISTRIBUTIONです。

  • gRPCリクエストメッセージ数 (istio_request_messages_total): これは、クライアントから送信されたすべてのgRPCメッセージに対してインクリメントされるCOUNTERです。

  • gRPCレスポンスメッセージ数 (istio_response_messages_total): これは、サーバーから送信されるすべてのgRPCメッセージに対してインクリメントされるCOUNTERです。

TCPトラフィックの場合、Istioは以下のメトリクスを生成します。

  • TCP送信バイト数 (istio_tcp_sent_bytes_total): これは、TCP接続の場合、レスポンス中に送信された合計バイト数を測定するCOUNTERです。

  • TCP受信バイト数 (istio_tcp_received_bytes_total): これは、TCP接続の場合、リクエスト中に受信された合計バイト数を測定するCOUNTERです。

  • TCP接続オープン数 (istio_tcp_connections_opened_total): これは、オープンされたすべての接続に対してインクリメントされるCOUNTERです。

  • TCP接続クローズ数 (istio_tcp_connections_closed_total): これは、クローズされたすべての接続に対してインクリメントされるCOUNTERです。

ラベル

  • レポーター: これは、リクエストのレポーターを識別します。サーバーのIstioプロキシからのレポートの場合はdestinationに、クライアントのIstioプロキシまたはゲートウェイからのレポートの場合はsourceに設定されます。

  • ソースワークロード: これは、ソースを制御するソースワークロードの名前を識別します。ソース情報がない場合はunknownになります。

  • ソースワークロード名前空間: これは、ソースワークロードの名前空間を識別します。ソース情報がない場合はunknownになります。

  • ソースプリンシパル: これは、トラフィックソースのピアプリンシパルを識別します。ピア認証が使用されている場合に設定されます。

  • ソースアプリ: これは、ソースワークロードのappラベルに基づいてソースアプリケーションを識別します。ソース情報がない場合はunknownになります。

  • ソースバージョン: これは、ソースワークロードのバージョンを識別します。ソース情報がない場合はunknownになります。

  • 宛先ワークロード: これは、宛先ワークロードの名前を識別します。宛先情報がない場合はunknownになります。

  • 宛先ワークロード名前空間: これは、宛先ワークロードの名前空間を識別します。宛先情報がない場合はunknownになります。

  • 宛先プリンシパル: これは、トラフィック宛先のピアプリンシパルを識別します。ピア認証が使用されている場合に設定されます。

  • 宛先アプリ: これは、宛先ワークロードのappラベルに基づいて宛先アプリケーションを識別します。宛先情報がない場合はunknownになります。

  • 宛先バージョン: これは、宛先ワークロードのバージョンを識別します。宛先情報がない場合はunknownになります。

  • 宛先サービス: これは、受信リクエストを担当する宛先サービスホストを識別します。例: details.default.svc.cluster.local

  • 宛先サービス名: これは、宛先サービス名を識別します。例: details

  • 宛先サービス名前空間: これは、宛先サービスの名前空間を識別します。

  • リクエストプロトコル: これは、リクエストのプロトコルを識別します。リクエストまたは接続プロトコルに設定されます。

  • レスポンスコード: これは、リクエストのレスポンスコードを識別します。このラベルは、HTTPメトリクスにのみ存在します。

  • 接続セキュリティポリシー: これは、リクエストのサービス認証ポリシーを識別します。Istioが通信を安全にするために使用され、レポートが宛先からの場合はmutual_tlsに設定されます。セキュリティポリシーを適切に設定できないため、レポートがソースからの場合はunknownに設定されます。

  • レスポンスフラグ: プロキシからのレスポンスまたは接続に関する追加の詳細。Envoyの場合、詳細についてはEnvoyアクセスログ%RESPONSE_FLAGS%を参照してください。

  • 正規サービス: ワークロードは正確に1つの正規サービスに属しますが、複数のサービスに属することができます。正規サービスには名前とリビジョンがあるため、次のラベルになります。

    source_canonical_service
    source_canonical_revision
    destination_canonical_service
    destination_canonical_revision
    
  • 宛先クラスター: これは、宛先ワークロードのクラスターを識別します。これは、クラスターのインストール時にglobal.multiCluster.clusterNameによって設定されます。

  • ソースクラスター: これは、ソースワークロードのクラスターを識別します。これは、クラスターのインストール時にglobal.multiCluster.clusterNameによって設定されます。

  • gRPCレスポンスステータス: これは、gRPCのレスポンスステータスを識別します。このラベルは、gRPCメトリクスにのみ存在します。

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

フィードバックありがとうございます!