Envoy 統計資訊

Envoy Proxy 會保存關於網路流量的詳細統計資訊。

Envoy 的統計資訊僅涵蓋特定 Envoy 實例的流量。有關每個服務 Istio 遙測的持久資訊,請參閱可觀測性。Envoy Proxy 記錄的統計資訊可以提供關於特定 Pod 實例的更多資訊。

若要查看 Pod 的統計資訊

$ kubectl exec "$POD" -c istio-proxy -- pilot-agent request GET stats

Envoy 會產生關於其行為的統計資訊,並根據 Proxy 功能來設定統計資訊的範圍。範例包括

依預設,Istio 會將 Envoy 組態為記錄最少的統計資訊,以減少已安裝 Proxy 的整體 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"
此資訊是否有用?
您有任何改進建議嗎?

感謝您的回饋!