Статистика 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"