Istio標準メトリクス
以下は、Istioによってエクスポートされる標準のサービスレベルメトリクスです。
テレメトリーコンポーネントは、プロキシ拡張機能として実装されています。COUNTER
は、厳密に増加する整数です。DISTRIBUTION
は、値の範囲を頻度にマップします。COUNTER
とDISTRIBUTION
は、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メトリクスにのみ存在します。