Envoy 统计
Envoy 代理会详细记录网络流量的统计数据。
Envoy 的统计数据仅涵盖特定 Envoy 实例的流量。有关持续的每服务 Istio 遥测,请参阅 可观察性。Envoy 代理记录的统计数据可以提供有关特定 Pod 实例的更多信息。
要查看 Pod 的统计数据
$ kubectl exec "$POD" -c istio-proxy -- pilot-agent request GET stats
Envoy 会生成有关其行为的统计数据,并根据代理功能对统计数据进行范围划分。示例包括
默认情况下,Istio 会配置 Envoy 以记录最少的统计数据集,以减少已安装代理的整体 CPU 和内存占用。默认收集键是
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"