Envoy 統計情報
Envoy プロキシは、ネットワークトラフィックに関する詳細な統計情報を保持します。
Envoy の統計情報は、特定の Envoy インスタンスのトラフィックのみを対象としています。永続的なサービスごとの Istio テレメトリについては、可観測性を参照してください。Envoy プロキシが記録する統計情報は、特定の Pod インスタンスに関する詳細な情報を提供できます。
Pod の統計情報を表示するには
$ kubectl exec "$POD" -c istio-proxy -- pilot-agent request GET stats
Envoy は、その動作に関する統計情報を生成し、プロキシ機能ごとに統計情報をスコープします。例としては、次のものがあります。
デフォルトでは、Istio は、インストールされたプロキシの全体的な CPU およびメモリフットプリントを削減するために、最小限の統計情報セットを記録するように Envoy を設定します。デフォルトの収集キーは次のとおりです。
cluster_manager
listener_manager
server
cluster.xds-grpc
統計データ収集の Envoy 設定を確認するには、istioctl proxy-config bootstrap
を使用し、Envoy 設定の詳細に従ってください。Envoy は、stats_matcher
JSON 要素内の inclusion_list
に一致する項目の統計データのみを収集します。
Istio プロキシが追加の統計情報を記録するように設定するには、メッシュ設定に ProxyConfig.ProxyStatsMatcher
を追加できます。たとえば、サーキットブレーカー、リクエストリトライ、アップストリーム接続、およびリクエストタイムアウトの統計情報をグローバルに有効にするには、次のように統計マッチャーを指定できます。
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
meshConfig:
defaultConfig:
proxyStatsMatcher:
inclusionRegexps:
- ".*outlier_detection.*"
- ".*upstream_rq_retry.*"
- ".*upstream_cx_.*"
inclusionSuffixes:
- "upstream_rq_timeout"
proxy.istio.io/config
アノテーションを使用することで、プロキシごとにグローバルな統計情報マッチング設定をオーバーライドすることもできます。たとえば、上記と同じ統計情報生成インクルージョンを設定するには、ゲートウェイプロキシまたはワークロードに次のようにアノテーションを追加します。
metadata:
annotations:
proxy.istio.io/config: |-
proxyStatsMatcher:
inclusionRegexps:
- ".*outlier_detection.*"
- ".*upstream_rq_retry.*"
- ".*upstream_cx_.*"
inclusionSuffixes:
- "upstream_rq_timeout"