Статистика Envoy

Proxy Envoy зберігає детальну статистику про мережевий трафік.

Статистика Envoy охоплює лише трафік для конкретного екземпляра Envoy. Див. Спостережуваність для постійної телеметрії Istio на рівні сервісу. Статистика, яку записують проксі Envoy, може надати більше інформації про конкретні екземпляри podʼів.

Щоб переглянути статистику для podʼа:

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

Envoy генерує статистику про свою поведінку, визначаючи статистику за функцією проксі. Приклади включають:

Стандартно, Istio конфігурує Envoy для запису мінімального набору статистики, щоб зменшити загальне навантаження на ЦП і памʼять встановлених проксі. Стандартні ключі для збору:

  • cluster_manager
  • listener_manager
  • server
  • cluster.xds-grpc

Щоб переглянути налаштування Envoy для збору статистичних даних, використовуйте istioctl proxy-config bootstrap і дотримуйтесь детального огляду конфігурації Envoy. Envoy збирає статистичні дані лише за елементами, що відповідають inclusion_list в JSON-елементі stats_matcher.

Щоб налаштувати проксі Istio для запису додаткової статистики, ви можете додати ProxyConfig.ProxyStatsMatcher до конфігурації вашої mesh. Наприклад, щоб увімкнути статистику для запобіжників, повторних запитів, upstream-зʼєднань і тайм-аутів запитів глобально, ви можете вказати matcher статистики наступним чином:

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"
Чи була ця інформація корисною?
Чи є у вас пропозиції щодо покращення?

Дякуємо за ваш відгук!