Cloud Native Stack
Cloud Native Stack
Capa主要解决应用的混合云问题,涉及到对接适配多种云的底层实现。
Capa本身不提供功能,而是由底层的各种云原生的能力来提供。
所以了解云原生中常用中间件的设计是很有必要的。
本目录主要为对云原生生态中中间件的学习和实践。
AppMesh Stack
AppMesh Landscape
二、AppMesh 运维
故障排除
跟踪控制器日志:
export APPMESH_SYSTEM_NAMESPACE=appmesh-system
kubectl logs -n "${APPMESH_SYSTEM_NAMESPACE}" -f --since 10s \
$(kubectl get pods -n "${APPMESH_SYSTEM_NAMESPACE}" -o name | grep controller)
尾特使日志:
export APPLICATION_NAMESPACE=<your namespace>
export APPLICATION=<your pod or deployment> # i.e. deploy/my-app
kubectl logs -n "${APPLICATION_NAMESPACE} "${APPLICATION_POD}" envoy -f --since 10s
查看特使配置:
export APPLICATION_NAMESPACE=<your namespace>
export APPLICATION=<your pod>
kubectl port-forward -n "${APPLICATION_NAMESPACE}" \
$(kubectl get pod -n "${APPLICATION_NAMESPACE}" | grep "${APPLICATION}" |awk '{print $1}') \
9901
然后导航到localhost:9901/索引或localhost:9901/config_dump特使配置。
Envoy Stack
Envoy Gateway
重要参考资料:https://mp.weixin.qq.com/s/t1ppAQfm0cPmqhxEARB03Q
一、Envoy Gateway
二、Envoy Gateway 运维
管理界面
/cluster
cds_egress_app-mesh_app-1-canary_prod_http_8080::observability_name::cds_egress_app-mesh_app-1-canary_prod_http_8080
cds_egress_app-mesh_app-1-canary_prod_http_8080::default_priority::max_connections::2147483647
cds_egress_app-mesh_app-1-canary_prod_http_8080::default_priority::max_pending_requests::2147483647
cds_egress_app-mesh_app-1-canary_prod_http_8080::default_priority::max_requests::2147483647
cds_egress_app-mesh_app-1-canary_prod_http_8080::default_priority::max_retries::2147483647
cds_egress_app-mesh_app-1-canary_prod_http_8080::high_priority::max_connections::1024
cds_egress_app-mesh_app-1-canary_prod_http_8080::high_priority::max_pending_requests::1024
cds_egress_app-mesh_app-1-canary_prod_http_8080::high_priority::max_requests::1024
cds_egress_app-mesh_app-1-canary_prod_http_8080::high_priority::max_retries::3
cds_egress_app-mesh_app-1-canary_prod_http_8080::added_via_api::true
cds_egress_app-mesh_app-1-canary_prod_http_8080::172.20.215.183:8080::cx_active::0
cds_egress_app-mesh_app-1-canary_prod_http_8080::172.20.215.183:8080::cx_connect_fail::0
cds_egress_app-mesh_app-1-canary_prod_http_8080::172.20.215.183:8080::cx_total::0
cds_egress_app-mesh_app-1-canary_prod_http_8080::172.20.215.183:8080::rq_active::0
cds_egress_app-mesh_app-1-canary_prod_http_8080::172.20.215.183:8080::rq_error::0
cds_egress_app-mesh_app-1-canary_prod_http_8080::172.20.215.183:8080::rq_success::0
cds_egress_app-mesh_app-1-canary_prod_http_8080::172.20.215.183:8080::rq_timeout::0
cds_egress_app-mesh_app-1-canary_prod_http_8080::172.20.215.183:8080::rq_total::0
cds_egress_app-mesh_app-1-canary_prod_http_8080::172.20.215.183:8080::hostname::app-1-canary.prod.svc.cluster.local.
cds_egress_app-mesh_app-1-canary_prod_http_8080::172.20.215.183:8080::health_flags::healthy
cds_egress_app-mesh_app-1-canary_prod_http_8080::172.20.215.183:8080::weight::1
cds_egress_app-mesh_app-1-canary_prod_http_8080::172.20.215.183:8080::region::
cds_egress_app-mesh_app-1-canary_prod_http_8080::172.20.215.183:8080::zone::
cds_egress_app-mesh_app-1-canary_prod_http_8080::172.20.215.183:8080::sub_zone::
cds_egress_app-mesh_app-1-canary_prod_http_8080::172.20.215.183:8080::canary::false
cds_egress_app-mesh_app-1-canary_prod_http_8080::172.20.215.183:8080::priority::0
cds_egress_app-mesh_app-1-canary_prod_http_8080::172.20.215.183:8080::success_rate::-1.0
cds_egress_app-mesh_app-1-canary_prod_http_8080::172.20.215.183:8080::local_origin_success_rate::-1.0
cds_egress_app-mesh_app-2-primary_prod_http_8080::observability_name::cds_egress_app-mesh_app-2-primary_prod_http_8080
cds_egress_app-mesh_app-2-primary_prod_http_8080::default_priority::max_connections::2147483647
cds_egress_app-mesh_app-2-primary_prod_http_8080::default_priority::max_pending_requests::2147483647
cds_egress_app-mesh_app-2-primary_prod_http_8080::default_priority::max_requests::2147483647
cds_egress_app-mesh_app-2-primary_prod_http_8080::default_priority::max_retries::2147483647
cds_egress_app-mesh_app-2-primary_prod_http_8080::high_priority::max_connections::1024
cds_egress_app-mesh_app-2-primary_prod_http_8080::high_priority::max_pending_requests::1024
cds_egress_app-mesh_app-2-primary_prod_http_8080::high_priority::max_requests::1024
cds_egress_app-mesh_app-2-primary_prod_http_8080::high_priority::max_retries::3
cds_egress_app-mesh_app-2-primary_prod_http_8080::added_via_api::true
cds_egress_app-mesh_app-2-primary_prod_http_8080::172.20.123.200:8080::cx_active::15
cds_egress_app-mesh_app-2-primary_prod_http_8080::172.20.123.200:8080::cx_connect_fail::0
cds_egress_app-mesh_app-2-primary_prod_http_8080::172.20.123.200:8080::cx_total::37
cds_egress_app-mesh_app-2-primary_prod_http_8080::172.20.123.200:8080::rq_active::0
cds_egress_app-mesh_app-2-primary_prod_http_8080::172.20.123.200:8080::rq_error::43
cds_egress_app-mesh_app-2-primary_prod_http_8080::172.20.123.200:8080::rq_success::781048
cds_egress_app-mesh_app-2-primary_prod_http_8080::172.20.123.200:8080::rq_timeout::0
cds_egress_app-mesh_app-2-primary_prod_http_8080::172.20.123.200:8080::rq_total::781091
cds_egress_app-mesh_app-2-primary_prod_http_8080::172.20.123.200:8080::hostname::app-2-primary.prod.svc.cluster.local.
cds_egress_app-mesh_app-2-primary_prod_http_8080::172.20.123.200:8080::health_flags::healthy
cds_egress_app-mesh_app-2-primary_prod_http_8080::172.20.123.200:8080::weight::1
cds_egress_app-mesh_app-2-primary_prod_http_8080::172.20.123.200:8080::region::
cds_egress_app-mesh_app-2-primary_prod_http_8080::172.20.123.200:8080::zone::
cds_egress_app-mesh_app-2-primary_prod_http_8080::172.20.123.200:8080::sub_zone::
cds_egress_app-mesh_app-2-primary_prod_http_8080::172.20.123.200:8080::canary::false
cds_egress_app-mesh_app-2-primary_prod_http_8080::172.20.123.200:8080::priority::0
cds_egress_app-mesh_app-2-primary_prod_http_8080::172.20.123.200:8080::success_rate::-1.0
cds_egress_app-mesh_app-2-primary_prod_http_8080::172.20.123.200:8080::local_origin_success_rate::-1.0
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::observability_name::cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::default_priority::max_connections::2147483647
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::default_priority::max_pending_requests::2147483647
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::default_priority::max_requests::2147483647
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::default_priority::max_retries::2147483647
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::high_priority::max_connections::1024
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::high_priority::max_pending_requests::1024
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::high_priority::max_requests::1024
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::high_priority::max_retries::3
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::added_via_api::true
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::127.0.0.1:15001::cx_active::66
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::127.0.0.1:15001::cx_connect_fail::0
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::127.0.0.1:15001::cx_total::514
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::127.0.0.1:15001::rq_active::0
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::127.0.0.1:15001::rq_error::3301
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::127.0.0.1:15001::rq_success::4266126
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::127.0.0.1:15001::rq_timeout::0
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::127.0.0.1:15001::rq_total::4269427
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::127.0.0.1:15001::hostname::
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::127.0.0.1:15001::health_flags::healthy
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::127.0.0.1:15001::weight::1
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::127.0.0.1:15001::region::
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::127.0.0.1:15001::zone::
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::127.0.0.1:15001::sub_zone::
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::127.0.0.1:15001::canary::false
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::127.0.0.1:15001::priority::0
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::127.0.0.1:15001::success_rate::-1.0
cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001::127.0.0.1:15001::local_origin_success_rate::-1.0
cds_egress_app-mesh_app-3-primary_prod_http_8080::observability_name::cds_egress_app-mesh_app-3-primary_prod_http_8080
cds_egress_app-mesh_app-3-primary_prod_http_8080::default_priority::max_connections::2147483647
cds_egress_app-mesh_app-3-primary_prod_http_8080::default_priority::max_pending_requests::2147483647
cds_egress_app-mesh_app-3-primary_prod_http_8080::default_priority::max_requests::2147483647
cds_egress_app-mesh_app-3-primary_prod_http_8080::default_priority::max_retries::2147483647
cds_egress_app-mesh_app-3-primary_prod_http_8080::high_priority::max_connections::1024
cds_egress_app-mesh_app-3-primary_prod_http_8080::high_priority::max_pending_requests::1024
cds_egress_app-mesh_app-3-primary_prod_http_8080::high_priority::max_requests::1024
cds_egress_app-mesh_app-3-primary_prod_http_8080::high_priority::max_retries::3
cds_egress_app-mesh_app-3-primary_prod_http_8080::added_via_api::true
cds_egress_app-mesh_app-3-primary_prod_http_8080::172.20.135.124:8080::cx_active::4
cds_egress_app-mesh_app-3-primary_prod_http_8080::172.20.135.124:8080::cx_connect_fail::0
cds_egress_app-mesh_app-3-primary_prod_http_8080::172.20.135.124:8080::cx_total::428
cds_egress_app-mesh_app-3-primary_prod_http_8080::172.20.135.124:8080::rq_active::0
cds_egress_app-mesh_app-3-primary_prod_http_8080::172.20.135.124:8080::rq_error::419
cds_egress_app-mesh_app-3-primary_prod_http_8080::172.20.135.124:8080::rq_success::33582
cds_egress_app-mesh_app-3-primary_prod_http_8080::172.20.135.124:8080::rq_timeout::0
cds_egress_app-mesh_app-3-primary_prod_http_8080::172.20.135.124:8080::rq_total::34001
cds_egress_app-mesh_app-3-primary_prod_http_8080::172.20.135.124:8080::hostname::app-3-primary.prod.svc.cluster.local.
cds_egress_app-mesh_app-3-primary_prod_http_8080::172.20.135.124:8080::health_flags::healthy
cds_egress_app-mesh_app-3-primary_prod_http_8080::172.20.135.124:8080::weight::1
cds_egress_app-mesh_app-3-primary_prod_http_8080::172.20.135.124:8080::region::
cds_egress_app-mesh_app-3-primary_prod_http_8080::172.20.135.124:8080::zone::
cds_egress_app-mesh_app-3-primary_prod_http_8080::172.20.135.124:8080::sub_zone::
cds_egress_app-mesh_app-3-primary_prod_http_8080::172.20.135.124:8080::canary::false
cds_egress_app-mesh_app-3-primary_prod_http_8080::172.20.135.124:8080::priority::0
cds_egress_app-mesh_app-3-primary_prod_http_8080::172.20.135.124:8080::success_rate::-1.0
cds_egress_app-mesh_app-3-primary_prod_http_8080::172.20.135.124:8080::local_origin_success_rate::-1.0
cds_egress_app-mesh_app-3-canary_prod_http_8080::observability_name::cds_egress_app-mesh_app-3-canary_prod_http_8080
cds_egress_app-mesh_app-3-canary_prod_http_8080::default_priority::max_connections::2147483647
cds_egress_app-mesh_app-3-canary_prod_http_8080::default_priority::max_pending_requests::2147483647
cds_egress_app-mesh_app-3-canary_prod_http_8080::default_priority::max_requests::2147483647
cds_egress_app-mesh_app-3-canary_prod_http_8080::default_priority::max_retries::2147483647
cds_egress_app-mesh_app-3-canary_prod_http_8080::high_priority::max_connections::1024
cds_egress_app-mesh_app-3-canary_prod_http_8080::high_priority::max_pending_requests::1024
cds_egress_app-mesh_app-3-canary_prod_http_8080::high_priority::max_requests::1024
cds_egress_app-mesh_app-3-canary_prod_http_8080::high_priority::max_retries::3
cds_egress_app-mesh_app-3-canary_prod_http_8080::added_via_api::true
cds_egress_app-mesh_app-3-canary_prod_http_8080::172.20.46.186:8080::cx_active::0
cds_egress_app-mesh_app-3-canary_prod_http_8080::172.20.46.186:8080::cx_connect_fail::0
cds_egress_app-mesh_app-3-canary_prod_http_8080::172.20.46.186:8080::cx_total::0
cds_egress_app-mesh_app-3-canary_prod_http_8080::172.20.46.186:8080::rq_active::0
cds_egress_app-mesh_app-3-canary_prod_http_8080::172.20.46.186:8080::rq_error::0
cds_egress_app-mesh_app-3-canary_prod_http_8080::172.20.46.186:8080::rq_success::0
cds_egress_app-mesh_app-3-canary_prod_http_8080::172.20.46.186:8080::rq_timeout::0
cds_egress_app-mesh_app-3-canary_prod_http_8080::172.20.46.186:8080::rq_total::0
cds_egress_app-mesh_app-3-canary_prod_http_8080::172.20.46.186:8080::hostname::app-3-canary.prod.svc.cluster.local.
cds_egress_app-mesh_app-3-canary_prod_http_8080::172.20.46.186:8080::health_flags::healthy
cds_egress_app-mesh_app-3-canary_prod_http_8080::172.20.46.186:8080::weight::1
cds_egress_app-mesh_app-3-canary_prod_http_8080::172.20.46.186:8080::region::
cds_egress_app-mesh_app-3-canary_prod_http_8080::172.20.46.186:8080::zone::
cds_egress_app-mesh_app-3-canary_prod_http_8080::172.20.46.186:8080::sub_zone::
cds_egress_app-mesh_app-3-canary_prod_http_8080::172.20.46.186:8080::canary::false
cds_egress_app-mesh_app-3-canary_prod_http_8080::172.20.46.186:8080::priority::0
cds_egress_app-mesh_app-3-canary_prod_http_8080::172.20.46.186:8080::success_rate::-1.0
cds_egress_app-mesh_app-3-canary_prod_http_8080::172.20.46.186:8080::local_origin_success_rate::-1.0
cds_egress_app-mesh_app-1-primary_prod_http_8080::observability_name::cds_egress_app-mesh_app-1-primary_prod_http_8080
cds_egress_app-mesh_app-1-primary_prod_http_8080::default_priority::max_connections::2147483647
cds_egress_app-mesh_app-1-primary_prod_http_8080::default_priority::max_pending_requests::2147483647
cds_egress_app-mesh_app-1-primary_prod_http_8080::default_priority::max_requests::2147483647
cds_egress_app-mesh_app-1-primary_prod_http_8080::default_priority::max_retries::2147483647
cds_egress_app-mesh_app-1-primary_prod_http_8080::high_priority::max_connections::1024
cds_egress_app-mesh_app-1-primary_prod_http_8080::high_priority::max_pending_requests::1024
cds_egress_app-mesh_app-1-primary_prod_http_8080::high_priority::max_requests::1024
cds_egress_app-mesh_app-1-primary_prod_http_8080::high_priority::max_retries::3
cds_egress_app-mesh_app-1-primary_prod_http_8080::added_via_api::true
cds_egress_app-mesh_app-1-primary_prod_http_8080::172.20.121.13:8080::cx_active::0
cds_egress_app-mesh_app-1-primary_prod_http_8080::172.20.121.13:8080::cx_connect_fail::0
cds_egress_app-mesh_app-1-primary_prod_http_8080::172.20.121.13:8080::cx_total::0
cds_egress_app-mesh_app-1-primary_prod_http_8080::172.20.121.13:8080::rq_active::0
cds_egress_app-mesh_app-1-primary_prod_http_8080::172.20.121.13:8080::rq_error::0
cds_egress_app-mesh_app-1-primary_prod_http_8080::172.20.121.13:8080::rq_success::0
cds_egress_app-mesh_app-1-primary_prod_http_8080::172.20.121.13:8080::rq_timeout::0
cds_egress_app-mesh_app-1-primary_prod_http_8080::172.20.121.13:8080::rq_total::0
cds_egress_app-mesh_app-1-primary_prod_http_8080::172.20.121.13:8080::hostname::app-1-primary.prod.svc.cluster.local.
cds_egress_app-mesh_app-1-primary_prod_http_8080::172.20.121.13:8080::health_flags::healthy
cds_egress_app-mesh_app-1-primary_prod_http_8080::172.20.121.13:8080::weight::1
cds_egress_app-mesh_app-1-primary_prod_http_8080::172.20.121.13:8080::region::
cds_egress_app-mesh_app-1-primary_prod_http_8080::172.20.121.13:8080::zone::
cds_egress_app-mesh_app-1-primary_prod_http_8080::172.20.121.13:8080::sub_zone::
cds_egress_app-mesh_app-1-primary_prod_http_8080::172.20.121.13:8080::canary::false
cds_egress_app-mesh_app-1-primary_prod_http_8080::172.20.121.13:8080::priority::0
cds_egress_app-mesh_app-1-primary_prod_http_8080::172.20.121.13:8080::success_rate::-1.0
cds_egress_app-mesh_app-1-primary_prod_http_8080::172.20.121.13:8080::local_origin_success_rate::-1.0
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::observability_name::cds_egress_app-mesh_app-100035323-canary_prod_http_8080
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::default_priority::max_connections::2147483647
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::default_priority::max_pending_requests::2147483647
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::default_priority::max_requests::2147483647
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::default_priority::max_retries::2147483647
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::high_priority::max_connections::1024
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::high_priority::max_pending_requests::1024
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::high_priority::max_requests::1024
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::high_priority::max_retries::3
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::added_via_api::true
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::172.20.20.112:8080::cx_active::0
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::172.20.20.112:8080::cx_connect_fail::0
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::172.20.20.112:8080::cx_total::0
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::172.20.20.112:8080::rq_active::0
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::172.20.20.112:8080::rq_error::0
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::172.20.20.112:8080::rq_success::0
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::172.20.20.112:8080::rq_timeout::0
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::172.20.20.112:8080::rq_total::0
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::172.20.20.112:8080::hostname::app-100035323-canary.prod.svc.cluster.local.
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::172.20.20.112:8080::health_flags::healthy
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::172.20.20.112:8080::weight::1
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::172.20.20.112:8080::region::
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::172.20.20.112:8080::zone::
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::172.20.20.112:8080::sub_zone::
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::172.20.20.112:8080::canary::false
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::172.20.20.112:8080::priority::0
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::172.20.20.112:8080::success_rate::-1.0
cds_egress_app-mesh_app-100035323-canary_prod_http_8080::172.20.20.112:8080::local_origin_success_rate::-1.0
cds_egress_app-mesh_app-4-canary_prod_http_8080::observability_name::cds_egress_app-mesh_app-4-canary_prod_http_8080
cds_egress_app-mesh_app-4-canary_prod_http_8080::default_priority::max_connections::2147483647
cds_egress_app-mesh_app-4-canary_prod_http_8080::default_priority::max_pending_requests::2147483647
cds_egress_app-mesh_app-4-canary_prod_http_8080::default_priority::max_requests::2147483647
cds_egress_app-mesh_app-4-canary_prod_http_8080::default_priority::max_retries::2147483647
cds_egress_app-mesh_app-4-canary_prod_http_8080::high_priority::max_connections::1024
cds_egress_app-mesh_app-4-canary_prod_http_8080::high_priority::max_pending_requests::1024
cds_egress_app-mesh_app-4-canary_prod_http_8080::high_priority::max_requests::1024
cds_egress_app-mesh_app-4-canary_prod_http_8080::high_priority::max_retries::3
cds_egress_app-mesh_app-4-canary_prod_http_8080::added_via_api::true
cds_egress_app-mesh_app-4-canary_prod_http_8080::172.20.115.83:8080::cx_active::0
cds_egress_app-mesh_app-4-canary_prod_http_8080::172.20.115.83:8080::cx_connect_fail::0
cds_egress_app-mesh_app-4-canary_prod_http_8080::172.20.115.83:8080::cx_total::0
cds_egress_app-mesh_app-4-canary_prod_http_8080::172.20.115.83:8080::rq_active::0
cds_egress_app-mesh_app-4-canary_prod_http_8080::172.20.115.83:8080::rq_error::0
cds_egress_app-mesh_app-4-canary_prod_http_8080::172.20.115.83:8080::rq_success::0
cds_egress_app-mesh_app-4-canary_prod_http_8080::172.20.115.83:8080::rq_timeout::0
cds_egress_app-mesh_app-4-canary_prod_http_8080::172.20.115.83:8080::rq_total::0
cds_egress_app-mesh_app-4-canary_prod_http_8080::172.20.115.83:8080::hostname::app-4-canary.prod.svc.cluster.local.
cds_egress_app-mesh_app-4-canary_prod_http_8080::172.20.115.83:8080::health_flags::healthy
cds_egress_app-mesh_app-4-canary_prod_http_8080::172.20.115.83:8080::weight::1
cds_egress_app-mesh_app-4-canary_prod_http_8080::172.20.115.83:8080::region::
cds_egress_app-mesh_app-4-canary_prod_http_8080::172.20.115.83:8080::zone::
cds_egress_app-mesh_app-4-canary_prod_http_8080::172.20.115.83:8080::sub_zone::
cds_egress_app-mesh_app-4-canary_prod_http_8080::172.20.115.83:8080::canary::false
cds_egress_app-mesh_app-4-canary_prod_http_8080::172.20.115.83:8080::priority::0
cds_egress_app-mesh_app-4-canary_prod_http_8080::172.20.115.83:8080::success_rate::-1.0
cds_egress_app-mesh_app-4-canary_prod_http_8080::172.20.115.83:8080::local_origin_success_rate::-1.0
cds_egress_app-mesh_app-4-primary_prod_http_8080::observability_name::cds_egress_app-mesh_app-4-primary_prod_http_8080
cds_egress_app-mesh_app-4-primary_prod_http_8080::default_priority::max_connections::2147483647
cds_egress_app-mesh_app-4-primary_prod_http_8080::default_priority::max_pending_requests::2147483647
cds_egress_app-mesh_app-4-primary_prod_http_8080::default_priority::max_requests::2147483647
cds_egress_app-mesh_app-4-primary_prod_http_8080::default_priority::max_retries::2147483647
cds_egress_app-mesh_app-4-primary_prod_http_8080::high_priority::max_connections::1024
cds_egress_app-mesh_app-4-primary_prod_http_8080::high_priority::max_pending_requests::1024
cds_egress_app-mesh_app-4-primary_prod_http_8080::high_priority::max_requests::1024
cds_egress_app-mesh_app-4-primary_prod_http_8080::high_priority::max_retries::3
cds_egress_app-mesh_app-4-primary_prod_http_8080::added_via_api::true
cds_egress_app-mesh_app-4-primary_prod_http_8080::172.20.60.241:8080::cx_active::0
cds_egress_app-mesh_app-4-primary_prod_http_8080::172.20.60.241:8080::cx_connect_fail::0
cds_egress_app-mesh_app-4-primary_prod_http_8080::172.20.60.241:8080::cx_total::0
cds_egress_app-mesh_app-4-primary_prod_http_8080::172.20.60.241:8080::rq_active::0
cds_egress_app-mesh_app-4-primary_prod_http_8080::172.20.60.241:8080::rq_error::0
cds_egress_app-mesh_app-4-primary_prod_http_8080::172.20.60.241:8080::rq_success::0
cds_egress_app-mesh_app-4-primary_prod_http_8080::172.20.60.241:8080::rq_timeout::0
cds_egress_app-mesh_app-4-primary_prod_http_8080::172.20.60.241:8080::rq_total::0
cds_egress_app-mesh_app-4-primary_prod_http_8080::172.20.60.241:8080::hostname::app-4-primary.prod.svc.cluster.local.
cds_egress_app-mesh_app-4-primary_prod_http_8080::172.20.60.241:8080::health_flags::healthy
cds_egress_app-mesh_app-4-primary_prod_http_8080::172.20.60.241:8080::weight::1
cds_egress_app-mesh_app-4-primary_prod_http_8080::172.20.60.241:8080::region::
cds_egress_app-mesh_app-4-primary_prod_http_8080::172.20.60.241:8080::zone::
cds_egress_app-mesh_app-4-primary_prod_http_8080::172.20.60.241:8080::sub_zone::
cds_egress_app-mesh_app-4-primary_prod_http_8080::172.20.60.241:8080::canary::false
cds_egress_app-mesh_app-4-primary_prod_http_8080::172.20.60.241:8080::priority::0
cds_egress_app-mesh_app-4-primary_prod_http_8080::172.20.60.241:8080::success_rate::-1.0
cds_egress_app-mesh_app-4-primary_prod_http_8080::172.20.60.241:8080::local_origin_success_rate::-1.0
cds_egress_app-mesh_app-5-canary_prod_http_8080::observability_name::cds_egress_app-mesh_app-5-canary_prod_http_8080
cds_egress_app-mesh_app-5-canary_prod_http_8080::default_priority::max_connections::2147483647
cds_egress_app-mesh_app-5-canary_prod_http_8080::default_priority::max_pending_requests::2147483647
cds_egress_app-mesh_app-5-canary_prod_http_8080::default_priority::max_requests::2147483647
cds_egress_app-mesh_app-5-canary_prod_http_8080::default_priority::max_retries::2147483647
cds_egress_app-mesh_app-5-canary_prod_http_8080::high_priority::max_connections::1024
cds_egress_app-mesh_app-5-canary_prod_http_8080::high_priority::max_pending_requests::1024
cds_egress_app-mesh_app-5-canary_prod_http_8080::high_priority::max_requests::1024
cds_egress_app-mesh_app-5-canary_prod_http_8080::high_priority::max_retries::3
cds_egress_app-mesh_app-5-canary_prod_http_8080::added_via_api::true
cds_egress_app-mesh_app-5-canary_prod_http_8080::172.20.49.28:8080::cx_active::0
cds_egress_app-mesh_app-5-canary_prod_http_8080::172.20.49.28:8080::cx_connect_fail::0
cds_egress_app-mesh_app-5-canary_prod_http_8080::172.20.49.28:8080::cx_total::23
cds_egress_app-mesh_app-5-canary_prod_http_8080::172.20.49.28:8080::rq_active::0
cds_egress_app-mesh_app-5-canary_prod_http_8080::172.20.49.28:8080::rq_error::0
cds_egress_app-mesh_app-5-canary_prod_http_8080::172.20.49.28:8080::rq_success::5364
cds_egress_app-mesh_app-5-canary_prod_http_8080::172.20.49.28:8080::rq_timeout::0
cds_egress_app-mesh_app-5-canary_prod_http_8080::172.20.49.28:8080::rq_total::5364
cds_egress_app-mesh_app-5-canary_prod_http_8080::172.20.49.28:8080::hostname::app-5-canary.prod.svc.cluster.local.
cds_egress_app-mesh_app-5-canary_prod_http_8080::172.20.49.28:8080::health_flags::healthy
cds_egress_app-mesh_app-5-canary_prod_http_8080::172.20.49.28:8080::weight::1
cds_egress_app-mesh_app-5-canary_prod_http_8080::172.20.49.28:8080::region::
cds_egress_app-mesh_app-5-canary_prod_http_8080::172.20.49.28:8080::zone::
cds_egress_app-mesh_app-5-canary_prod_http_8080::172.20.49.28:8080::sub_zone::
cds_egress_app-mesh_app-5-canary_prod_http_8080::172.20.49.28:8080::canary::false
cds_egress_app-mesh_app-5-canary_prod_http_8080::172.20.49.28:8080::priority::0
cds_egress_app-mesh_app-5-canary_prod_http_8080::172.20.49.28:8080::success_rate::-1.0
cds_egress_app-mesh_app-5-canary_prod_http_8080::172.20.49.28:8080::local_origin_success_rate::-1.0
cds_egress_app-mesh_app-5-primary_prod_http_8080::observability_name::cds_egress_app-mesh_app-5-primary_prod_http_8080
cds_egress_app-mesh_app-5-primary_prod_http_8080::default_priority::max_connections::2147483647
cds_egress_app-mesh_app-5-primary_prod_http_8080::default_priority::max_pending_requests::2147483647
cds_egress_app-mesh_app-5-primary_prod_http_8080::default_priority::max_requests::2147483647
cds_egress_app-mesh_app-5-primary_prod_http_8080::default_priority::max_retries::2147483647
cds_egress_app-mesh_app-5-primary_prod_http_8080::high_priority::max_connections::1024
cds_egress_app-mesh_app-5-primary_prod_http_8080::high_priority::max_pending_requests::1024
cds_egress_app-mesh_app-5-primary_prod_http_8080::high_priority::max_requests::1024
cds_egress_app-mesh_app-5-primary_prod_http_8080::high_priority::max_retries::3
cds_egress_app-mesh_app-5-primary_prod_http_8080::added_via_api::true
cds_egress_app-mesh_app-5-primary_prod_http_8080::172.20.95.84:8080::cx_active::44
cds_egress_app-mesh_app-5-primary_prod_http_8080::172.20.95.84:8080::cx_connect_fail::1482
cds_egress_app-mesh_app-5-primary_prod_http_8080::172.20.95.84:8080::cx_total::2312
cds_egress_app-mesh_app-5-primary_prod_http_8080::172.20.95.84:8080::rq_active::0
cds_egress_app-mesh_app-5-primary_prod_http_8080::172.20.95.84:8080::rq_error::6657
cds_egress_app-mesh_app-5-primary_prod_http_8080::172.20.95.84:8080::rq_success::3446132
cds_egress_app-mesh_app-5-primary_prod_http_8080::172.20.95.84:8080::rq_timeout::425
cds_egress_app-mesh_app-5-primary_prod_http_8080::172.20.95.84:8080::rq_total::3446714
cds_egress_app-mesh_app-5-primary_prod_http_8080::172.20.95.84:8080::hostname::app-5-primary.prod.svc.cluster.local.
cds_egress_app-mesh_app-5-primary_prod_http_8080::172.20.95.84:8080::health_flags::healthy
cds_egress_app-mesh_app-5-primary_prod_http_8080::172.20.95.84:8080::weight::1
cds_egress_app-mesh_app-5-primary_prod_http_8080::172.20.95.84:8080::region::
cds_egress_app-mesh_app-5-primary_prod_http_8080::172.20.95.84:8080::zone::
cds_egress_app-mesh_app-5-primary_prod_http_8080::172.20.95.84:8080::sub_zone::
cds_egress_app-mesh_app-5-primary_prod_http_8080::172.20.95.84:8080::canary::false
cds_egress_app-mesh_app-5-primary_prod_http_8080::172.20.95.84:8080::priority::0
cds_egress_app-mesh_app-5-primary_prod_http_8080::172.20.95.84:8080::success_rate::-1.0
cds_egress_app-mesh_app-5-primary_prod_http_8080::172.20.95.84:8080::local_origin_success_rate::-1.0
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::observability_name::cds_egress_app-mesh_app-100035323-primary_prod_http_8080
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::default_priority::max_connections::2147483647
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::default_priority::max_pending_requests::2147483647
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::default_priority::max_requests::2147483647
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::default_priority::max_retries::2147483647
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::high_priority::max_connections::1024
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::high_priority::max_pending_requests::1024
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::high_priority::max_requests::1024
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::high_priority::max_retries::3
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::added_via_api::true
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::172.20.218.166:8080::cx_active::0
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::172.20.218.166:8080::cx_connect_fail::0
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::172.20.218.166:8080::cx_total::0
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::172.20.218.166:8080::rq_active::0
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::172.20.218.166:8080::rq_error::0
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::172.20.218.166:8080::rq_success::0
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::172.20.218.166:8080::rq_timeout::0
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::172.20.218.166:8080::rq_total::0
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::172.20.218.166:8080::hostname::app-100035323-primary.prod.svc.cluster.local.
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::172.20.218.166:8080::health_flags::healthy
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::172.20.218.166:8080::weight::1
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::172.20.218.166:8080::region::
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::172.20.218.166:8080::zone::
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::172.20.218.166:8080::sub_zone::
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::172.20.218.166:8080::canary::false
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::172.20.218.166:8080::priority::0
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::172.20.218.166:8080::success_rate::-1.0
cds_egress_app-mesh_app-100035323-primary_prod_http_8080::172.20.218.166:8080::local_origin_success_rate::-1.0
cds_egress_app-mesh_app-2-canary_prod_http_8080::observability_name::cds_egress_app-mesh_app-2-canary_prod_http_8080
cds_egress_app-mesh_app-2-canary_prod_http_8080::default_priority::max_connections::2147483647
cds_egress_app-mesh_app-2-canary_prod_http_8080::default_priority::max_pending_requests::2147483647
cds_egress_app-mesh_app-2-canary_prod_http_8080::default_priority::max_requests::2147483647
cds_egress_app-mesh_app-2-canary_prod_http_8080::default_priority::max_retries::2147483647
cds_egress_app-mesh_app-2-canary_prod_http_8080::high_priority::max_connections::1024
cds_egress_app-mesh_app-2-canary_prod_http_8080::high_priority::max_pending_requests::1024
cds_egress_app-mesh_app-2-canary_prod_http_8080::high_priority::max_requests::1024
cds_egress_app-mesh_app-2-canary_prod_http_8080::high_priority::max_retries::3
cds_egress_app-mesh_app-2-canary_prod_http_8080::added_via_api::true
cds_egress_app-mesh_app-2-canary_prod_http_8080::172.20.160.19:8080::cx_active::0
cds_egress_app-mesh_app-2-canary_prod_http_8080::172.20.160.19:8080::cx_connect_fail::0
cds_egress_app-mesh_app-2-canary_prod_http_8080::172.20.160.19:8080::cx_total::0
cds_egress_app-mesh_app-2-canary_prod_http_8080::172.20.160.19:8080::rq_active::0
cds_egress_app-mesh_app-2-canary_prod_http_8080::172.20.160.19:8080::rq_error::0
cds_egress_app-mesh_app-2-canary_prod_http_8080::172.20.160.19:8080::rq_success::0
cds_egress_app-mesh_app-2-canary_prod_http_8080::172.20.160.19:8080::rq_timeout::0
cds_egress_app-mesh_app-2-canary_prod_http_8080::172.20.160.19:8080::rq_total::0
cds_egress_app-mesh_app-2-canary_prod_http_8080::172.20.160.19:8080::hostname::app-2-canary.prod.svc.cluster.local.
cds_egress_app-mesh_app-2-canary_prod_http_8080::172.20.160.19:8080::health_flags::healthy
cds_egress_app-mesh_app-2-canary_prod_http_8080::172.20.160.19:8080::weight::1
cds_egress_app-mesh_app-2-canary_prod_http_8080::172.20.160.19:8080::region::
cds_egress_app-mesh_app-2-canary_prod_http_8080::172.20.160.19:8080::zone::
cds_egress_app-mesh_app-2-canary_prod_http_8080::172.20.160.19:8080::sub_zone::
cds_egress_app-mesh_app-2-canary_prod_http_8080::172.20.160.19:8080::canary::false
cds_egress_app-mesh_app-2-canary_prod_http_8080::172.20.160.19:8080::priority::0
cds_egress_app-mesh_app-2-canary_prod_http_8080::172.20.160.19:8080::success_rate::-1.0
cds_egress_app-mesh_app-2-canary_prod_http_8080::172.20.160.19:8080::local_origin_success_rate::-1.0
/config_dumps
{
"configs": [
{
"@type": "type.googleapis.com/envoy.admin.v3.BootstrapConfigDump",
"bootstrap": {
"node": {
"id": "mesh/app-mesh/virtualGateway/appmesh-gateway_prod",
"cluster": "mesh/app-mesh/virtualGateway/appmesh-gateway_prod",
"metadata": {
"aws.appmesh.task.interfaces": {
"ipv4": {
"eth0": [
"10.11.71.67/32"
],
"lo": [
"127.0.0.1/8"
]
}
}
},
"user_agent_name": "envoy",
"user_agent_build_version": {
"version": {
"major_number": 1,
"minor_number": 20
},
"metadata": {
"build.type": "RELEASE",
"revision.status": "Modified",
"ssl.version": "BoringSSL",
"build.label": "appmesh.1",
"revision.sha": "3093e5567822eedaa55a7b5da9c35ee6da6b2d1f"
}
},
"extensions": [
{
"name": "envoy.http.original_ip_detection.custom_header",
"category": "envoy.http.original_ip_detection"
},
{
"name": "envoy.http.original_ip_detection.xff",
"category": "envoy.http.original_ip_detection"
},
{
"name": "envoy.watchdog.abort_action",
"category": "envoy.guarddog_actions"
},
{
"name": "envoy.watchdog.profile_action",
"category": "envoy.guarddog_actions"
},
{
"name": "envoy.formatter.metadata",
"category": "envoy.formatter"
},
{
"name": "envoy.formatter.req_without_query",
"category": "envoy.formatter"
},
{
"name": "envoy.dynamic.ot",
"category": "envoy.tracers"
},
{
"name": "envoy.lightstep",
"category": "envoy.tracers"
},
{
"name": "envoy.tracers.datadog",
"category": "envoy.tracers"
},
{
"name": "envoy.tracers.dynamic_ot",
"category": "envoy.tracers"
},
{
"name": "envoy.tracers.lightstep",
"category": "envoy.tracers"
},
{
"name": "envoy.tracers.opencensus",
"category": "envoy.tracers"
},
{
"name": "envoy.tracers.skywalking",
"category": "envoy.tracers"
},
{
"name": "envoy.tracers.xray",
"category": "envoy.tracers"
},
{
"name": "envoy.tracers.zipkin",
"category": "envoy.tracers"
},
{
"name": "envoy.zipkin",
"category": "envoy.tracers"
},
{
"name": "envoy.rbac.matchers.upstream.upstream_ip_port",
"category": "envoy.rbac.matchers"
},
{
"name": "envoy.transport_sockets.alts",
"category": "envoy.transport_sockets.upstream"
},
{
"name": "envoy.transport_sockets.quic",
"category": "envoy.transport_sockets.upstream"
},
{
"name": "envoy.transport_sockets.raw_buffer",
"category": "envoy.transport_sockets.upstream"
},
{
"name": "envoy.transport_sockets.starttls",
"category": "envoy.transport_sockets.upstream"
},
{
"name": "envoy.transport_sockets.tap",
"category": "envoy.transport_sockets.upstream"
},
{
"name": "envoy.transport_sockets.tls",
"category": "envoy.transport_sockets.upstream"
},
{
"name": "envoy.transport_sockets.upstream_proxy_protocol",
"category": "envoy.transport_sockets.upstream"
},
{
"name": "raw_buffer",
"category": "envoy.transport_sockets.upstream"
},
{
"name": "starttls",
"category": "envoy.transport_sockets.upstream"
},
{
"name": "tls",
"category": "envoy.transport_sockets.upstream"
},
{
"name": "envoy.matching.matchers.consistent_hashing",
"category": "envoy.matching.input_matchers"
},
{
"name": "envoy.matching.matchers.ip",
"category": "envoy.matching.input_matchers"
},
{
"name": "envoy.health_checkers.redis",
"category": "envoy.health_checkers"
},
{
"name": "envoy.bandwidth_limit",
"category": "envoy.filters.http"
},
{
"name": "envoy.buffer",
"category": "envoy.filters.http"
},
{
"name": "envoy.cors",
"category": "envoy.filters.http"
},
{
"name": "envoy.csrf",
"category": "envoy.filters.http"
},
{
"name": "envoy.ext_authz",
"category": "envoy.filters.http"
},
{
"name": "envoy.ext_proc",
"category": "envoy.filters.http"
},
{
"name": "envoy.fault",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.adaptive_concurrency",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.admission_control",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.alternate_protocols_cache",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.aws_lambda",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.aws_request_signing",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.bandwidth_limit",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.buffer",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.cache",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.cdn_loop",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.composite",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.compressor",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.cors",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.csrf",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.decompressor",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.dynamic_forward_proxy",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.dynamo",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.ext_authz",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.ext_proc",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.fault",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.grpc_http1_bridge",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.grpc_http1_reverse_bridge",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.grpc_json_transcoder",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.grpc_stats",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.grpc_web",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.header_to_metadata",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.health_check",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.ip_tagging",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.jwt_authn",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.local_ratelimit",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.lua",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.oauth2",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.on_demand",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.original_src",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.ratelimit",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.rbac",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.router",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.set_metadata",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.tap",
"category": "envoy.filters.http"
},
{
"name": "envoy.filters.http.wasm",
"category": "envoy.filters.http"
},
{
"name": "envoy.grpc_http1_bridge",
"category": "envoy.filters.http"
},
{
"name": "envoy.grpc_json_transcoder",
"category": "envoy.filters.http"
},
{
"name": "envoy.grpc_web",
"category": "envoy.filters.http"
},
{
"name": "envoy.health_check",
"category": "envoy.filters.http"
},
{
"name": "envoy.http_dynamo_filter",
"category": "envoy.filters.http"
},
{
"name": "envoy.ip_tagging",
"category": "envoy.filters.http"
},
{
"name": "envoy.local_rate_limit",
"category": "envoy.filters.http"
},
{
"name": "envoy.lua",
"category": "envoy.filters.http"
},
{
"name": "envoy.rate_limit",
"category": "envoy.filters.http"
},
{
"name": "envoy.router",
"category": "envoy.filters.http"
},
{
"name": "match-wrapper",
"category": "envoy.filters.http"
},
{
"name": "envoy.transport_sockets.alts",
"category": "envoy.transport_sockets.downstream"
},
{
"name": "envoy.transport_sockets.quic",
"category": "envoy.transport_sockets.downstream"
},
{
"name": "envoy.transport_sockets.raw_buffer",
"category": "envoy.transport_sockets.downstream"
},
{
"name": "envoy.transport_sockets.starttls",
"category": "envoy.transport_sockets.downstream"
},
{
"name": "envoy.transport_sockets.tap",
"category": "envoy.transport_sockets.downstream"
},
{
"name": "envoy.transport_sockets.tls",
"category": "envoy.transport_sockets.downstream"
},
{
"name": "raw_buffer",
"category": "envoy.transport_sockets.downstream"
},
{
"name": "starttls",
"category": "envoy.transport_sockets.downstream"
},
{
"name": "tls",
"category": "envoy.transport_sockets.downstream"
},
{
"name": "envoy.bootstrap.wasm",
"category": "envoy.bootstrap"
},
{
"name": "envoy.extensions.network.socket_interface.default_socket_interface",
"category": "envoy.bootstrap"
},
{
"name": "envoy.matching.common_inputs.environment_variable",
"category": "envoy.matching.common_inputs"
},
{
"name": "request-headers",
"category": "envoy.matching.http.input"
},
{
"name": "request-trailers",
"category": "envoy.matching.http.input"
},
{
"name": "response-headers",
"category": "envoy.matching.http.input"
},
{
"name": "response-trailers",
"category": "envoy.matching.http.input"
},
{
"name": "envoy.quic.proof_source.filter_chain",
"category": "envoy.quic.proof_source"
},
{
"name": "envoy.access_loggers.file",
"category": "envoy.access_loggers"
},
{
"name": "envoy.access_loggers.http_grpc",
"category": "envoy.access_loggers"
},
{
"name": "envoy.access_loggers.open_telemetry",
"category": "envoy.access_loggers"
},
{
"name": "envoy.access_loggers.stderr",
"category": "envoy.access_loggers"
},
{
"name": "envoy.access_loggers.stdout",
"category": "envoy.access_loggers"
},
{
"name": "envoy.access_loggers.tcp_grpc",
"category": "envoy.access_loggers"
},
{
"name": "envoy.access_loggers.wasm",
"category": "envoy.access_loggers"
},
{
"name": "envoy.file_access_log",
"category": "envoy.access_loggers"
},
{
"name": "envoy.http_grpc_access_log",
"category": "envoy.access_loggers"
},
{
"name": "envoy.open_telemetry_access_log",
"category": "envoy.access_loggers"
},
{
"name": "envoy.stderr_access_log",
"category": "envoy.access_loggers"
},
{
"name": "envoy.stdout_access_log",
"category": "envoy.access_loggers"
},
{
"name": "envoy.tcp_grpc_access_log",
"category": "envoy.access_loggers"
},
{
"name": "envoy.wasm_access_log",
"category": "envoy.access_loggers"
},
{
"name": "envoy.cluster.eds",
"category": "envoy.clusters"
},
{
"name": "envoy.cluster.logical_dns",
"category": "envoy.clusters"
},
{
"name": "envoy.cluster.original_dst",
"category": "envoy.clusters"
},
{
"name": "envoy.cluster.static",
"category": "envoy.clusters"
},
{
"name": "envoy.cluster.strict_dns",
"category": "envoy.clusters"
},
{
"name": "envoy.clusters.aggregate",
"category": "envoy.clusters"
},
{
"name": "envoy.clusters.dynamic_forward_proxy",
"category": "envoy.clusters"
},
{
"name": "envoy.clusters.redis",
"category": "envoy.clusters"
},
{
"name": "envoy.tls.cert_validator.default",
"category": "envoy.tls.cert_validator"
},
{
"name": "envoy.tls.cert_validator.spiffe",
"category": "envoy.tls.cert_validator"
},
{
"name": "envoy.filters.thrift.rate_limit",
"category": "envoy.thrift_proxy.filters"
},
{
"name": "envoy.filters.thrift.router",
"category": "envoy.thrift_proxy.filters"
},
{
"name": "envoy.filters.listener.http_inspector",
"category": "envoy.filters.listener"
},
{
"name": "envoy.filters.listener.original_dst",
"category": "envoy.filters.listener"
},
{
"name": "envoy.filters.listener.original_src",
"category": "envoy.filters.listener"
},
{
"name": "envoy.filters.listener.proxy_protocol",
"category": "envoy.filters.listener"
},
{
"name": "envoy.filters.listener.tls_inspector",
"category": "envoy.filters.listener"
},
{
"name": "envoy.listener.http_inspector",
"category": "envoy.filters.listener"
},
{
"name": "envoy.listener.original_dst",
"category": "envoy.filters.listener"
},
{
"name": "envoy.listener.original_src",
"category": "envoy.filters.listener"
},
{
"name": "envoy.listener.proxy_protocol",
"category": "envoy.filters.listener"
},
{
"name": "envoy.listener.tls_inspector",
"category": "envoy.filters.listener"
},
{
"name": "dubbo.hessian2",
"category": "envoy.dubbo_proxy.serializers"
},
{
"name": "envoy.retry_priorities.previous_priorities",
"category": "envoy.retry_priorities"
},
{
"name": "envoy.rate_limit_descriptors.expr",
"category": "envoy.rate_limit_descriptors"
},
{
"name": "envoy.key_value.file_based",
"category": "envoy.common.key_value"
},
{
"name": "envoy.retry_host_predicates.omit_canary_hosts",
"category": "envoy.retry_host_predicates"
},
{
"name": "envoy.retry_host_predicates.omit_host_metadata",
"category": "envoy.retry_host_predicates"
},
{
"name": "envoy.retry_host_predicates.previous_hosts",
"category": "envoy.retry_host_predicates"
},
{
"name": "envoy.filters.udp.dns_filter",
"category": "envoy.filters.udp_listener"
},
{
"name": "envoy.filters.udp_listener.udp_proxy",
"category": "envoy.filters.udp_listener"
},
{
"name": "preserve_case",
"category": "envoy.http.stateful_header_formatters"
},
{
"name": "envoy.wasm.runtime.null",
"category": "envoy.wasm.runtime"
},
{
"name": "envoy.wasm.runtime.v8",
"category": "envoy.wasm.runtime"
},
{
"name": "envoy.request_id.uuid",
"category": "envoy.request_id"
},
{
"name": "envoy.filters.dubbo.router",
"category": "envoy.dubbo_proxy.filters"
},
{
"name": "envoy.extensions.upstreams.http.v3.HttpProtocolOptions",
"category": "envoy.upstream_options"
},
{
"name": "envoy.upstreams.http.http_protocol_options",
"category": "envoy.upstream_options"
},
{
"name": "composite-action",
"category": "envoy.matching.action"
},
{
"name": "skip",
"category": "envoy.matching.action"
},
{
"name": "default",
"category": "envoy.dubbo_proxy.route_matchers"
},
{
"name": "dubbo",
"category": "envoy.dubbo_proxy.protocols"
},
{
"name": "envoy.compression.brotli.decompressor",
"category": "envoy.compression.decompressor"
},
{
"name": "envoy.compression.gzip.decompressor",
"category": "envoy.compression.decompressor"
},
{
"name": "auto",
"category": "envoy.thrift_proxy.protocols"
},
{
"name": "binary",
"category": "envoy.thrift_proxy.protocols"
},
{
"name": "binary/non-strict",
"category": "envoy.thrift_proxy.protocols"
},
{
"name": "compact",
"category": "envoy.thrift_proxy.protocols"
},
{
"name": "twitter",
"category": "envoy.thrift_proxy.protocols"
},
{
"name": "envoy.grpc_credentials.aws_iam",
"category": "envoy.grpc_credentials"
},
{
"name": "envoy.grpc_credentials.default",
"category": "envoy.grpc_credentials"
},
{
"name": "envoy.grpc_credentials.file_based_metadata",
"category": "envoy.grpc_credentials"
},
{
"name": "envoy.extensions.http.cache.simple",
"category": "envoy.http.cache"
},
{
"name": "envoy.internal_redirect_predicates.allow_listed_routes",
"category": "envoy.internal_redirect_predicates"
},
{
"name": "envoy.internal_redirect_predicates.previous_routes",
"category": "envoy.internal_redirect_predicates"
},
{
"name": "envoy.internal_redirect_predicates.safe_cross_scheme",
"category": "envoy.internal_redirect_predicates"
},
{
"name": "envoy.compression.brotli.compressor",
"category": "envoy.compression.compressor"
},
{
"name": "envoy.compression.gzip.compressor",
"category": "envoy.compression.compressor"
},
{
"name": "auto",
"category": "envoy.thrift_proxy.transports"
},
{
"name": "framed",
"category": "envoy.thrift_proxy.transports"
},
{
"name": "header",
"category": "envoy.thrift_proxy.transports"
},
{
"name": "unframed",
"category": "envoy.thrift_proxy.transports"
},
{
"name": "envoy.ip",
"category": "envoy.resolvers"
},
{
"name": "envoy.dog_statsd",
"category": "envoy.stats_sinks"
},
{
"name": "envoy.graphite_statsd",
"category": "envoy.stats_sinks"
},
{
"name": "envoy.metrics_service",
"category": "envoy.stats_sinks"
},
{
"name": "envoy.stat_sinks.dog_statsd",
"category": "envoy.stats_sinks"
},
{
"name": "envoy.stat_sinks.graphite_statsd",
"category": "envoy.stats_sinks"
},
{
"name": "envoy.stat_sinks.hystrix",
"category": "envoy.stats_sinks"
},
{
"name": "envoy.stat_sinks.metrics_service",
"category": "envoy.stats_sinks"
},
{
"name": "envoy.stat_sinks.statsd",
"category": "envoy.stats_sinks"
},
{
"name": "envoy.stat_sinks.wasm",
"category": "envoy.stats_sinks"
},
{
"name": "envoy.statsd",
"category": "envoy.stats_sinks"
},
{
"name": "envoy.resource_monitors.fixed_heap",
"category": "envoy.resource_monitors"
},
{
"name": "envoy.resource_monitors.injected_resource",
"category": "envoy.resource_monitors"
},
{
"name": "envoy.quic.crypto_stream.server.quiche",
"category": "envoy.quic.server.crypto_stream"
},
{
"name": "envoy.filters.connection_pools.tcp.generic",
"category": "envoy.upstreams"
},
{
"name": "envoy.client_ssl_auth",
"category": "envoy.filters.network"
},
{
"name": "envoy.echo",
"category": "envoy.filters.network"
},
{
"name": "envoy.ext_authz",
"category": "envoy.filters.network"
},
{
"name": "envoy.filters.network.client_ssl_auth",
"category": "envoy.filters.network"
},
{
"name": "envoy.filters.network.connection_limit",
"category": "envoy.filters.network"
},
{
"name": "envoy.filters.network.direct_response",
"category": "envoy.filters.network"
},
{
"name": "envoy.filters.network.dubbo_proxy",
"category": "envoy.filters.network"
},
{
"name": "envoy.filters.network.echo",
"category": "envoy.filters.network"
},
{
"name": "envoy.filters.network.ext_authz",
"category": "envoy.filters.network"
},
{
"name": "envoy.filters.network.http_connection_manager",
"category": "envoy.filters.network"
},
{
"name": "envoy.filters.network.local_ratelimit",
"category": "envoy.filters.network"
},
{
"name": "envoy.filters.network.mongo_proxy",
"category": "envoy.filters.network"
},
{
"name": "envoy.filters.network.ratelimit",
"category": "envoy.filters.network"
},
{
"name": "envoy.filters.network.rbac",
"category": "envoy.filters.network"
},
{
"name": "envoy.filters.network.redis_proxy",
"category": "envoy.filters.network"
},
{
"name": "envoy.filters.network.sni_cluster",
"category": "envoy.filters.network"
},
{
"name": "envoy.filters.network.sni_dynamic_forward_proxy",
"category": "envoy.filters.network"
},
{
"name": "envoy.filters.network.tcp_proxy",
"category": "envoy.filters.network"
},
{
"name": "envoy.filters.network.thrift_proxy",
"category": "envoy.filters.network"
},
{
"name": "envoy.filters.network.wasm",
"category": "envoy.filters.network"
},
{
"name": "envoy.filters.network.zookeeper_proxy",
"category": "envoy.filters.network"
},
{
"name": "envoy.http_connection_manager",
"category": "envoy.filters.network"
},
{
"name": "envoy.mongo_proxy",
"category": "envoy.filters.network"
},
{
"name": "envoy.ratelimit",
"category": "envoy.filters.network"
},
{
"name": "envoy.redis_proxy",
"category": "envoy.filters.network"
},
{
"name": "envoy.tcp_proxy",
"category": "envoy.filters.network"
}
]
},
"dynamic_resources": {
"lds_config": {
"ads": {},
"initial_fetch_timeout": "0s",
"resource_api_version": "V3"
},
"cds_config": {
"ads": {},
"initial_fetch_timeout": "0s",
"resource_api_version": "V3"
},
"ads_config": {
"api_type": "GRPC",
"grpc_services": [
{
"google_grpc": {
"target_uri": "appmesh-envoy-management.ap-southeast-1.amazonaws.com:443",
"channel_credentials": {
"ssl_credentials": {
"root_certs": {
"filename": "/etc/pki/tls/cert.pem"
}
}
},
"call_credentials": [
{
"from_plugin": {
"name": "envoy.grpc_credentials.aws_iam",
"typed_config": {
"@type": "type.googleapis.com/envoy.config.grpc_credential.v3.AwsIamConfig",
"service_name": "appmesh",
"region": "ap-southeast-1"
}
}
}
],
"stat_prefix": "ads",
"credentials_factory_name": "envoy.grpc_credentials.aws_iam",
"channel_args": {
"args": {
"grpc.keepalive_time_ms": {
"int_value": "10000"
},
"grpc.http2.max_pings_without_data": {
"int_value": "0"
},
"grpc.keepalive_timeout_ms": {
"int_value": "20000"
}
}
}
}
}
],
"transport_api_version": "V3"
}
},
"cluster_manager": {
"outlier_detection": {
"event_log_path": "/s/stdout"
}
},
"admin": {
"access_log_path": "/tmp/envoy_admin_access.log",
"address": {
"socket_address": {
"address": "0.0.0.0",
"port_value": 9901
}
}
},
"layered_runtime": {
"layers": [
{
"name": "static_layer_0",
"static_layer": {
"envoy.reloadable_features.enable_deprecated_v2_api": true,
"envoy.features.enable_all_deprecated_features": true,
"re2.max_program_size.error_level": 1000,
"envoy.reloadable_features.http_set_tracing_decision_in_request_id": true
}
}
]
}
},
"last_updated": "2022-05-21T12:08:39.717Z"
},
{
"@type": "type.googleapis.com/envoy.admin.v3.ClustersConfigDump",
"version_info": "822736081:-2086145894:cec42df27b90fab256794a8a8c943552bb7bd440",
"dynamic_active_clusters": [
{
"version_info": "822736081:-2086145894:cec42df27b90fab256794a8a8c943552bb7bd440",
"cluster": {
"@type": "type.googleapis.com/envoy.config.cluster.v3.Cluster",
"name": "cds_egress_app-mesh_app-4-canary_prod_http_8080",
"type": "LOGICAL_DNS",
"connect_timeout": "1s",
"circuit_breakers": {
"thresholds": [
{
"max_connections": 2147483647,
"max_pending_requests": 2147483647,
"max_requests": 2147483647,
"max_retries": 2147483647
}
]
},
"metadata": {
"filter_metadata": {
"aws.appmesh.aggregate_stats": {
"config": "{\"tags\":[{\"key\":\"TargetVirtualNode\",\"value\":\"app-4-canary_prod\"}]}"
}
}
},
"load_assignment": {
"cluster_name": "cds_egress_app-mesh_app-4-canary_prod_http_8080",
"endpoints": [
{
"lb_endpoints": [
{
"endpoint": {
"address": {
"socket_address": {
"address": "app-4-canary.prod.svc.cluster.local.",
"port_value": 8080
}
}
}
}
]
}
]
}
},
"last_updated": "2022-05-21T12:08:39.918Z"
},
{
"version_info": "822736081:-2086145894:cec42df27b90fab256794a8a8c943552bb7bd440",
"cluster": {
"@type": "type.googleapis.com/envoy.config.cluster.v3.Cluster",
"name": "cds_egress_app-mesh_app-4-primary_prod_http_8080",
"type": "LOGICAL_DNS",
"connect_timeout": "1s",
"circuit_breakers": {
"thresholds": [
{
"max_connections": 2147483647,
"max_pending_requests": 2147483647,
"max_requests": 2147483647,
"max_retries": 2147483647
}
]
},
"metadata": {
"filter_metadata": {
"aws.appmesh.aggregate_stats": {
"config": "{\"tags\":[{\"key\":\"TargetVirtualNode\",\"value\":\"app-4-primary_prod\"}]}"
}
}
},
"load_assignment": {
"cluster_name": "cds_egress_app-mesh_app-4-primary_prod_http_8080",
"endpoints": [
{
"lb_endpoints": [
{
"endpoint": {
"address": {
"socket_address": {
"address": "app-4-primary.prod.svc.cluster.local.",
"port_value": 8080
}
}
}
}
]
}
]
}
},
"last_updated": "2022-05-21T12:08:39.917Z"
},
{
"version_info": "822736081:-2086145894:cec42df27b90fab256794a8a8c943552bb7bd440",
"cluster": {
"@type": "type.googleapis.com/envoy.config.cluster.v3.Cluster",
"name": "cds_egress_app-mesh_app-3-canary_prod_http_8080",
"type": "LOGICAL_DNS",
"connect_timeout": "1s",
"circuit_breakers": {
"thresholds": [
{
"max_connections": 2147483647,
"max_pending_requests": 2147483647,
"max_requests": 2147483647,
"max_retries": 2147483647
}
]
},
"metadata": {
"filter_metadata": {
"aws.appmesh.aggregate_stats": {
"config": "{\"tags\":[{\"key\":\"TargetVirtualNode\",\"value\":\"app-3-canary_prod\"}]}"
}
}
},
"load_assignment": {
"cluster_name": "cds_egress_app-mesh_app-3-canary_prod_http_8080",
"endpoints": [
{
"lb_endpoints": [
{
"endpoint": {
"address": {
"socket_address": {
"address": "app-3-canary.prod.svc.cluster.local.",
"port_value": 8080
}
}
}
}
]
}
]
}
},
"last_updated": "2022-05-21T12:08:39.913Z"
},
{
"version_info": "822736081:-2086145894:cec42df27b90fab256794a8a8c943552bb7bd440",
"cluster": {
"@type": "type.googleapis.com/envoy.config.cluster.v3.Cluster",
"name": "cds_egress_app-mesh_app-3-primary_prod_http_8080",
"type": "LOGICAL_DNS",
"connect_timeout": "1s",
"circuit_breakers": {
"thresholds": [
{
"max_connections": 2147483647,
"max_pending_requests": 2147483647,
"max_requests": 2147483647,
"max_retries": 2147483647
}
]
},
"metadata": {
"filter_metadata": {
"aws.appmesh.aggregate_stats": {
"config": "{\"tags\":[{\"key\":\"TargetVirtualNode\",\"value\":\"app-3-primary_prod\"}]}"
}
}
},
"load_assignment": {
"cluster_name": "cds_egress_app-mesh_app-3-primary_prod_http_8080",
"endpoints": [
{
"lb_endpoints": [
{
"endpoint": {
"address": {
"socket_address": {
"address": "app-3-primary.prod.svc.cluster.local.",
"port_value": 8080
}
}
}
}
]
}
]
}
},
"last_updated": "2022-05-21T12:08:39.912Z"
},
{
"version_info": "822736081:-2086145894:cec42df27b90fab256794a8a8c943552bb7bd440",
"cluster": {
"@type": "type.googleapis.com/envoy.config.cluster.v3.Cluster",
"name": "cds_egress_app-mesh_app-100035323-canary_prod_http_8080",
"type": "LOGICAL_DNS",
"connect_timeout": "1s",
"circuit_breakers": {
"thresholds": [
{
"max_connections": 2147483647,
"max_pending_requests": 2147483647,
"max_requests": 2147483647,
"max_retries": 2147483647
}
]
},
"metadata": {
"filter_metadata": {
"aws.appmesh.aggregate_stats": {
"config": "{\"tags\":[{\"key\":\"TargetVirtualNode\",\"value\":\"app-100035323-canary_prod\"}]}"
}
}
},
"load_assignment": {
"cluster_name": "cds_egress_app-mesh_app-100035323-canary_prod_http_8080",
"endpoints": [
{
"lb_endpoints": [
{
"endpoint": {
"address": {
"socket_address": {
"address": "app-100035323-canary.prod.svc.cluster.local.",
"port_value": 8080
}
}
}
}
]
}
]
}
},
"last_updated": "2022-05-21T12:08:39.915Z"
},
{
"version_info": "822736081:-2086145894:cec42df27b90fab256794a8a8c943552bb7bd440",
"cluster": {
"@type": "type.googleapis.com/envoy.config.cluster.v3.Cluster",
"name": "cds_egress_app-mesh_app-100035323-primary_prod_http_8080",
"type": "LOGICAL_DNS",
"connect_timeout": "1s",
"circuit_breakers": {
"thresholds": [
{
"max_connections": 2147483647,
"max_pending_requests": 2147483647,
"max_requests": 2147483647,
"max_retries": 2147483647
}
]
},
"metadata": {
"filter_metadata": {
"aws.appmesh.aggregate_stats": {
"config": "{\"tags\":[{\"key\":\"TargetVirtualNode\",\"value\":\"app-100035323-primary_prod\"}]}"
}
}
},
"load_assignment": {
"cluster_name": "cds_egress_app-mesh_app-100035323-primary_prod_http_8080",
"endpoints": [
{
"lb_endpoints": [
{
"endpoint": {
"address": {
"socket_address": {
"address": "app-100035323-primary.prod.svc.cluster.local.",
"port_value": 8080
}
}
}
}
]
}
]
}
},
"last_updated": "2022-05-21T12:08:39.914Z"
},
{
"version_info": "822736081:-2086145894:cec42df27b90fab256794a8a8c943552bb7bd440",
"cluster": {
"@type": "type.googleapis.com/envoy.config.cluster.v3.Cluster",
"name": "cds_egress_app-mesh_app-1-canary_prod_http_8080",
"type": "LOGICAL_DNS",
"connect_timeout": "1s",
"circuit_breakers": {
"thresholds": [
{
"max_connections": 2147483647,
"max_pending_requests": 2147483647,
"max_requests": 2147483647,
"max_retries": 2147483647
}
]
},
"metadata": {
"filter_metadata": {
"aws.appmesh.aggregate_stats": {
"config": "{\"tags\":[{\"key\":\"TargetVirtualNode\",\"value\":\"app-1-canary_prod\"}]}"
}
}
},
"load_assignment": {
"cluster_name": "cds_egress_app-mesh_app-1-canary_prod_http_8080",
"endpoints": [
{
"lb_endpoints": [
{
"endpoint": {
"address": {
"socket_address": {
"address": "app-1-canary.prod.svc.cluster.local.",
"port_value": 8080
}
}
}
}
]
}
]
}
},
"last_updated": "2022-05-21T12:08:39.910Z"
},
{
"version_info": "822736081:-2086145894:cec42df27b90fab256794a8a8c943552bb7bd440",
"cluster": {
"@type": "type.googleapis.com/envoy.config.cluster.v3.Cluster",
"name": "cds_egress_app-mesh_app-1-primary_prod_http_8080",
"type": "LOGICAL_DNS",
"connect_timeout": "1s",
"circuit_breakers": {
"thresholds": [
{
"max_connections": 2147483647,
"max_pending_requests": 2147483647,
"max_requests": 2147483647,
"max_retries": 2147483647
}
]
},
"metadata": {
"filter_metadata": {
"aws.appmesh.aggregate_stats": {
"config": "{\"tags\":[{\"key\":\"TargetVirtualNode\",\"value\":\"app-1-primary_prod\"}]}"
}
}
},
"load_assignment": {
"cluster_name": "cds_egress_app-mesh_app-1-primary_prod_http_8080",
"endpoints": [
{
"lb_endpoints": [
{
"endpoint": {
"address": {
"socket_address": {
"address": "app-1-primary.prod.svc.cluster.local.",
"port_value": 8080
}
}
}
}
]
}
]
}
},
"last_updated": "2022-05-21T12:08:39.911Z"
},
{
"version_info": "822736081:-2086145894:cec42df27b90fab256794a8a8c943552bb7bd440",
"cluster": {
"@type": "type.googleapis.com/envoy.config.cluster.v3.Cluster",
"name": "cds_egress_app-mesh_app-5-canary_prod_http_8080",
"type": "LOGICAL_DNS",
"connect_timeout": "1s",
"circuit_breakers": {
"thresholds": [
{
"max_connections": 2147483647,
"max_pending_requests": 2147483647,
"max_requests": 2147483647,
"max_retries": 2147483647
}
]
},
"metadata": {
"filter_metadata": {
"aws.appmesh.aggregate_stats": {
"config": "{\"tags\":[{\"key\":\"TargetVirtualNode\",\"value\":\"app-5-canary_prod\"}]}"
}
}
},
"load_assignment": {
"cluster_name": "cds_egress_app-mesh_app-5-canary_prod_http_8080",
"endpoints": [
{
"lb_endpoints": [
{
"endpoint": {
"address": {
"socket_address": {
"address": "app-5-canary.prod.svc.cluster.local.",
"port_value": 8080
}
}
}
}
]
}
]
}
},
"last_updated": "2022-05-21T12:08:39.909Z"
},
{
"version_info": "822736081:-2086145894:cec42df27b90fab256794a8a8c943552bb7bd440",
"cluster": {
"@type": "type.googleapis.com/envoy.config.cluster.v3.Cluster",
"name": "cds_egress_app-mesh_app-5-primary_prod_http_8080",
"type": "LOGICAL_DNS",
"connect_timeout": "1s",
"circuit_breakers": {
"thresholds": [
{
"max_connections": 2147483647,
"max_pending_requests": 2147483647,
"max_requests": 2147483647,
"max_retries": 2147483647
}
]
},
"metadata": {
"filter_metadata": {
"aws.appmesh.aggregate_stats": {
"config": "{\"tags\":[{\"key\":\"TargetVirtualNode\",\"value\":\"app-5-primary_prod\"}]}"
}
}
},
"load_assignment": {
"cluster_name": "cds_egress_app-mesh_app-5-primary_prod_http_8080",
"endpoints": [
{
"lb_endpoints": [
{
"endpoint": {
"address": {
"socket_address": {
"address": "app-5-primary.prod.svc.cluster.local.",
"port_value": 8080
}
}
}
}
]
}
]
}
},
"last_updated": "2022-05-21T12:08:39.908Z"
},
{
"version_info": "822736081:-2086145894:cec42df27b90fab256794a8a8c943552bb7bd440",
"cluster": {
"@type": "type.googleapis.com/envoy.config.cluster.v3.Cluster",
"name": "cds_egress_app-mesh_app-2-canary_prod_http_8080",
"type": "LOGICAL_DNS",
"connect_timeout": "1s",
"circuit_breakers": {
"thresholds": [
{
"max_connections": 2147483647,
"max_pending_requests": 2147483647,
"max_requests": 2147483647,
"max_retries": 2147483647
}
]
},
"metadata": {
"filter_metadata": {
"aws.appmesh.aggregate_stats": {
"config": "{\"tags\":[{\"key\":\"TargetVirtualNode\",\"value\":\"app-2-canary_prod\"}]}"
}
}
},
"load_assignment": {
"cluster_name": "cds_egress_app-mesh_app-2-canary_prod_http_8080",
"endpoints": [
{
"lb_endpoints": [
{
"endpoint": {
"address": {
"socket_address": {
"address": "app-2-canary.prod.svc.cluster.local.",
"port_value": 8080
}
}
}
}
]
}
]
}
},
"last_updated": "2022-05-21T12:08:39.917Z"
},
{
"version_info": "822736081:-2086145894:cec42df27b90fab256794a8a8c943552bb7bd440",
"cluster": {
"@type": "type.googleapis.com/envoy.config.cluster.v3.Cluster",
"name": "cds_egress_app-mesh_app-2-primary_prod_http_8080",
"type": "LOGICAL_DNS",
"connect_timeout": "1s",
"circuit_breakers": {
"thresholds": [
{
"max_connections": 2147483647,
"max_pending_requests": 2147483647,
"max_requests": 2147483647,
"max_retries": 2147483647
}
]
},
"metadata": {
"filter_metadata": {
"aws.appmesh.aggregate_stats": {
"config": "{\"tags\":[{\"key\":\"TargetVirtualNode\",\"value\":\"app-2-primary_prod\"}]}"
}
}
},
"load_assignment": {
"cluster_name": "cds_egress_app-mesh_app-2-primary_prod_http_8080",
"endpoints": [
{
"lb_endpoints": [
{
"endpoint": {
"address": {
"socket_address": {
"address": "app-2-primary.prod.svc.cluster.local.",
"port_value": 8080
}
}
}
}
]
}
]
}
},
"last_updated": "2022-05-21T12:08:39.916Z"
},
{
"version_info": "822736081:-2086145894:cec42df27b90fab256794a8a8c943552bb7bd440",
"cluster": {
"@type": "type.googleapis.com/envoy.config.cluster.v3.Cluster",
"name": "cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001",
"type": "STATIC",
"connect_timeout": "0.250s",
"circuit_breakers": {
"thresholds": [
{
"max_connections": 2147483647,
"max_pending_requests": 2147483647,
"max_requests": 2147483647,
"max_retries": 2147483647
}
]
},
"load_assignment": {
"cluster_name": "cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001",
"endpoints": [
{
"lb_endpoints": [
{
"endpoint": {
"address": {
"socket_address": {
"address": "127.0.0.1",
"port_value": 15001
}
}
}
}
]
}
]
}
},
"last_updated": "2022-05-21T12:08:39.920Z"
}
]
},
{
"@type": "type.googleapis.com/envoy.admin.v3.ListenersConfigDump",
"version_info": "822736081:-2086145894:cec42df27b90fab256794a8a8c943552bb7bd440",
"dynamic_listeners": [
{
"name": "lds_ingress_0.0.0.0_8088",
"active_state": {
"version_info": "822736081:-2086145894:cec42df27b90fab256794a8a8c943552bb7bd440",
"listener": {
"@type": "type.googleapis.com/envoy.config.listener.v3.Listener",
"name": "lds_ingress_0.0.0.0_8088",
"address": {
"socket_address": {
"address": "0.0.0.0",
"port_value": 8088
}
},
"filter_chains": [
{
"filter_chain_match": {
"destination_port": 8088
},
"filters": [
{
"name": "envoy.filters.network.http_connection_manager",
"typed_config": {
"@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
"stat_prefix": "ingress",
"rds": {
"config_source": {
"ads": {},
"resource_api_version": "V3"
},
"route_config_name": "rds_ingress_http_8088"
},
"http_filters": [
{
"name": "envoy.filters.http.router"
}
],
"tracing": {},
"access_log": [
{
"name": "envoy.access_loggers.file",
"typed_config": {
"@type": "type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog",
"path": "/dev/stdout"
}
}
],
"upgrade_configs": [
{
"upgrade_type": "websocket",
"enabled": true
}
],
"normalize_path": true,
"merge_slashes": true,
"path_with_escaped_slashes_action": "KEEP_UNCHANGED"
}
}
]
}
],
"metadata": {
"filter_metadata": {
"aws.appmesh.aggregate_stats": {
"config": "{\"tags\":[]}"
}
}
},
"listener_filters": [
{
"name": "envoy.filters.listener.tls_inspector"
}
],
"traffic_direction": "INBOUND"
},
"last_updated": "2022-05-21T12:08:39.935Z"
}
},
{
"name": "lds_egress_0.0.0.0_15001",
"active_state": {
"version_info": "822736081:-2086145894:cec42df27b90fab256794a8a8c943552bb7bd440",
"listener": {
"@type": "type.googleapis.com/envoy.config.listener.v3.Listener",
"name": "lds_egress_0.0.0.0_15001",
"address": {
"socket_address": {
"address": "0.0.0.0",
"port_value": 15001
}
},
"filter_chains": [
{
"filter_chain_match": {
"destination_port": 15001
},
"filters": [
{
"name": "envoy.filters.network.http_connection_manager",
"typed_config": {
"@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
"stat_prefix": "egress",
"rds": {
"config_source": {
"ads": {},
"resource_api_version": "V3"
},
"route_config_name": "rds_egress_http_15001"
},
"http_filters": [
{
"name": "envoy.filters.http.router"
}
],
"tracing": {},
"access_log": [
{
"name": "envoy.access_loggers.file",
"typed_config": {
"@type": "type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog",
"path": "/dev/stdout"
}
}
],
"upgrade_configs": [
{
"upgrade_type": "websocket",
"enabled": true
}
],
"normalize_path": true,
"merge_slashes": true,
"path_with_escaped_slashes_action": "KEEP_UNCHANGED"
}
}
]
}
],
"metadata": {
"filter_metadata": {
"aws.appmesh.aggregate_stats": {
"config": "{\"tags\":[]}"
}
}
},
"listener_filters": [
{
"name": "envoy.filters.listener.tls_inspector"
}
],
"traffic_direction": "OUTBOUND"
},
"last_updated": "2022-05-21T12:08:39.937Z"
}
}
]
},
{
"@type": "type.googleapis.com/envoy.admin.v3.ScopedRoutesConfigDump"
},
{
"@type": "type.googleapis.com/envoy.admin.v3.RoutesConfigDump",
"dynamic_route_configs": [
{
"version_info": "822736081:-2086145894:cec42df27b90fab256794a8a8c943552bb7bd440",
"route_config": {
"@type": "type.googleapis.com/envoy.config.route.v3.RouteConfiguration",
"name": "rds_ingress_http_8088",
"virtual_hosts": [
{
"name": "self_redirect",
"domains": [
"*"
],
"routes": [
{
"match": {
"prefix": "/flutter-server/"
},
"route": {
"cluster": "cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001",
"prefix_rewrite": "/",
"host_rewrite_literal": "app-100035407.prod"
}
},
{
"match": {
"prefix": "/foxpage-server/"
},
"route": {
"cluster": "cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001",
"prefix_rewrite": "/",
"host_rewrite_literal": "app-100035323.prod",
"timeout": "15s"
}
},
{
"match": {
"prefix": "/flutter-server"
},
"route": {
"cluster": "cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001",
"prefix_rewrite": "/",
"host_rewrite_literal": "app-100035407.prod"
}
},
{
"match": {
"prefix": "/foxpage-admin/"
},
"route": {
"cluster": "cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001",
"prefix_rewrite": "/",
"host_rewrite_literal": "app-1.prod",
"timeout": "15s"
}
},
{
"match": {
"prefix": "/foxpage-server"
},
"route": {
"cluster": "cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001",
"prefix_rewrite": "/",
"host_rewrite_literal": "app-100035323.prod",
"timeout": "15s"
}
},
{
"match": {
"prefix": "/foxpage-admin"
},
"route": {
"cluster": "cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001",
"prefix_rewrite": "/",
"host_rewrite_literal": "app-1.prod",
"timeout": "15s"
}
},
{
"match": {
"prefix": "/14524/"
},
"route": {
"cluster": "cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001",
"prefix_rewrite": "/",
"host_rewrite_literal": "app-2.prod",
"timeout": "15s"
}
},
{
"match": {
"prefix": "/19816/"
},
"route": {
"cluster": "cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001",
"prefix_rewrite": "/",
"host_rewrite_literal": "app-5.prod",
"timeout": "15s"
}
},
{
"match": {
"prefix": "/14524"
},
"route": {
"cluster": "cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001",
"prefix_rewrite": "/",
"host_rewrite_literal": "app-2.prod",
"timeout": "15s"
}
},
{
"match": {
"prefix": "/19816"
},
"route": {
"cluster": "cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001",
"prefix_rewrite": "/",
"host_rewrite_literal": "app-5.prod",
"timeout": "15s"
}
},
{
"match": {
"prefix": "/hot/"
},
"route": {
"cluster": "cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001",
"prefix_rewrite": "/hot/",
"timeout": "15s"
},
"request_headers_to_add": [
{
"header": {
"key": "x-app-mesh-virtual-service",
"value": "app-4.prod"
}
}
]
},
{
"match": {
"prefix": "/healthcheck/"
},
"route": {
"cluster": "cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001",
"prefix_rewrite": "/",
"host_rewrite_literal": "app-3.prod",
"timeout": "15s"
}
},
{
"match": {
"prefix": "/healthcheck"
},
"route": {
"cluster": "cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001",
"prefix_rewrite": "/",
"host_rewrite_literal": "app-3.prod",
"timeout": "15s"
}
},
{
"match": {
"prefix": "/"
},
"route": {
"cluster": "cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001",
"prefix_rewrite": "/",
"host_rewrite_literal": "app-3.prod",
"timeout": "15s"
}
}
]
}
]
},
"last_updated": "2022-05-21T12:08:39.943Z"
},
{
"version_info": "-1338743948:-2086145894:cec42df27b90fab256794a8a8c943552bb7bd440",
"route_config": {
"@type": "type.googleapis.com/envoy.config.route.v3.RouteConfiguration",
"name": "rds_egress_http_15001",
"virtual_hosts": [
{
"name": "app-3.prod",
"domains": [
"app-3.prod",
"app-3.prod:15001"
],
"routes": [
{
"match": {
"prefix": "/"
},
"route": {
"weighted_clusters": {
"clusters": [
{
"name": "cds_egress_app-mesh_app-3-canary_prod_http_8080",
"weight": 0
},
{
"name": "cds_egress_app-mesh_app-3-primary_prod_http_8080",
"weight": 100
}
],
"total_weight": 100
},
"timeout": "15s",
"retry_policy": {
"retry_on": "reset,refused-stream,retriable-status-codes",
"num_retries": 1,
"per_try_timeout": "5s",
"retry_host_predicate": [
{
"name": "envoy.retry_host_predicates.previous_hosts"
}
],
"host_selection_retry_max_attempts": "5",
"retriable_status_codes": [
502,
503,
504,
409
]
}
},
"metadata": {
"filter_metadata": {
"aws.appmesh.aggregate_stats": {
"config": "{\"tags\":[{\"key\":\"TargetVirtualService\",\"value\":\"app-3.prod\"}]}"
}
}
}
}
]
},
{
"name": "app-100035323.prod",
"domains": [
"app-100035323.prod",
"app-100035323.prod:15001"
],
"routes": [
{
"match": {
"prefix": "/"
},
"route": {
"weighted_clusters": {
"clusters": [
{
"name": "cds_egress_app-mesh_app-100035323-canary_prod_http_8080",
"weight": 0
},
{
"name": "cds_egress_app-mesh_app-100035323-primary_prod_http_8080",
"weight": 100
}
],
"total_weight": 100
},
"timeout": "15s",
"retry_policy": {
"retry_on": "reset,refused-stream,retriable-status-codes",
"num_retries": 1,
"per_try_timeout": "5s",
"retry_host_predicate": [
{
"name": "envoy.retry_host_predicates.previous_hosts"
}
],
"host_selection_retry_max_attempts": "5",
"retriable_status_codes": [
502,
503,
504,
409
]
}
},
"metadata": {
"filter_metadata": {
"aws.appmesh.aggregate_stats": {
"config": "{\"tags\":[{\"key\":\"TargetVirtualService\",\"value\":\"app-100035323.prod\"}]}"
}
}
}
}
]
},
{
"name": "app-1.prod",
"domains": [
"app-1.prod",
"app-1.prod:15001"
],
"routes": [
{
"match": {
"prefix": "/"
},
"route": {
"weighted_clusters": {
"clusters": [
{
"name": "cds_egress_app-mesh_app-1-canary_prod_http_8080",
"weight": 0
},
{
"name": "cds_egress_app-mesh_app-1-primary_prod_http_8080",
"weight": 100
}
],
"total_weight": 100
},
"timeout": "15s",
"retry_policy": {
"retry_on": "reset,refused-stream,retriable-status-codes",
"num_retries": 1,
"per_try_timeout": "5s",
"retry_host_predicate": [
{
"name": "envoy.retry_host_predicates.previous_hosts"
}
],
"host_selection_retry_max_attempts": "5",
"retriable_status_codes": [
502,
503,
504,
409
]
}
},
"metadata": {
"filter_metadata": {
"aws.appmesh.aggregate_stats": {
"config": "{\"tags\":[{\"key\":\"TargetVirtualService\",\"value\":\"app-1.prod\"}]}"
}
}
}
}
]
},
{
"name": "app-100035407.prod",
"domains": [
"app-100035407.prod",
"app-100035407.prod:15001"
]
},
{
"name": "default_backend",
"domains": [
"*"
],
"routes": [
{
"match": {
"prefix": "/",
"headers": [
{
"name": "x-app-mesh-virtual-service",
"exact_match": "app-4.prod"
}
]
},
"route": {
"weighted_clusters": {
"clusters": [
{
"name": "cds_egress_app-mesh_app-4-canary_prod_http_8080",
"weight": 0
},
{
"name": "cds_egress_app-mesh_app-4-primary_prod_http_8080",
"weight": 100
}
],
"total_weight": 100
},
"timeout": "15s",
"retry_policy": {
"retry_on": "reset,refused-stream,retriable-status-codes",
"num_retries": 1,
"per_try_timeout": "5s",
"retry_host_predicate": [
{
"name": "envoy.retry_host_predicates.previous_hosts"
}
],
"host_selection_retry_max_attempts": "5",
"retriable_status_codes": [
502,
503,
504,
409
]
}
},
"metadata": {
"filter_metadata": {
"aws.appmesh.aggregate_stats": {
"config": "{\"tags\":[{\"key\":\"TargetVirtualService\",\"value\":\"app-4.prod\"}]}"
}
}
},
"response_headers_to_remove": [
"x-app-mesh-virtual-service"
]
}
]
},
{
"name": "app-5.prod",
"domains": [
"app-5.prod",
"app-5.prod:15001"
],
"routes": [
{
"match": {
"prefix": "/"
},
"route": {
"weighted_clusters": {
"clusters": [
{
"name": "cds_egress_app-mesh_app-5-canary_prod_http_8080",
"weight": 0
},
{
"name": "cds_egress_app-mesh_app-5-primary_prod_http_8080",
"weight": 100
}
],
"total_weight": 100
},
"timeout": "15s",
"retry_policy": {
"retry_on": "reset,refused-stream,retriable-status-codes",
"num_retries": 1,
"per_try_timeout": "5s",
"retry_host_predicate": [
{
"name": "envoy.retry_host_predicates.previous_hosts"
}
],
"host_selection_retry_max_attempts": "5",
"retriable_status_codes": [
502,
503,
504,
409
]
}
},
"metadata": {
"filter_metadata": {
"aws.appmesh.aggregate_stats": {
"config": "{\"tags\":[{\"key\":\"TargetVirtualService\",\"value\":\"app-5.prod\"}]}"
}
}
}
}
]
},
{
"name": "app-2.prod",
"domains": [
"app-2.prod",
"app-2.prod:15001"
],
"routes": [
{
"match": {
"prefix": "/"
},
"route": {
"weighted_clusters": {
"clusters": [
{
"name": "cds_egress_app-mesh_app-2-canary_prod_http_8080",
"weight": 0
},
{
"name": "cds_egress_app-mesh_app-2-primary_prod_http_8080",
"weight": 100
}
],
"total_weight": 100
},
"timeout": "15s",
"retry_policy": {
"retry_on": "reset,refused-stream,retriable-status-codes",
"num_retries": 1,
"per_try_timeout": "5s",
"retry_host_predicate": [
{
"name": "envoy.retry_host_predicates.previous_hosts"
}
],
"host_selection_retry_max_attempts": "5",
"retriable_status_codes": [
502,
503,
504,
409
]
}
},
"metadata": {
"filter_metadata": {
"aws.appmesh.aggregate_stats": {
"config": "{\"tags\":[{\"key\":\"TargetVirtualService\",\"value\":\"app-2.prod\"}]}"
}
}
}
}
]
}
]
},
"last_updated": "2022-05-23T10:13:07.240Z"
}
]
},
{
"@type": "type.googleapis.com/envoy.admin.v3.SecretsConfigDump"
}
]
}
/stats
cluster_manager.cds.version_text: "-1338743948:-2086145894:cec42df27b90fab256794a8a8c943552bb7bd440"
control_plane.identifier: ""
http.egress.rds.rds_egress_http_15001.version_text: "-1338743948:-2086145894:cec42df27b90fab256794a8a8c943552bb7bd440"
http.ingress.rds.rds_ingress_http_8088.version_text: "-1338743948:-2086145894:cec42df27b90fab256794a8a8c943552bb7bd440"
listener_manager.lds.version_text: "-1338743948:-2086145894:cec42df27b90fab256794a8a8c943552bb7bd440"
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.assignment_stale: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.assignment_timeout_received: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.bind_errors: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.circuit_breakers.default.cx_open: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.circuit_breakers.default.cx_pool_open: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.circuit_breakers.default.rq_open: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.circuit_breakers.default.rq_pending_open: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.circuit_breakers.default.rq_retry_open: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.circuit_breakers.high.cx_open: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.circuit_breakers.high.cx_pool_open: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.circuit_breakers.high.rq_open: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.circuit_breakers.high.rq_pending_open: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.circuit_breakers.high.rq_retry_open: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.default.total_match_count: 1
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.lb_healthy_panic: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.lb_local_cluster_not_ok: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.lb_recalculate_zone_structures: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.lb_subsets_active: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.lb_subsets_created: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.lb_subsets_fallback: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.lb_subsets_fallback_panic: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.lb_subsets_removed: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.lb_subsets_selected: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.lb_zone_cluster_too_small: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.lb_zone_no_capacity_left: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.lb_zone_number_differs: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.lb_zone_routing_all_directly: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.lb_zone_routing_cross_zone: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.lb_zone_routing_sampled: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.max_host_weight: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.membership_change: 1
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.membership_degraded: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.membership_excluded: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.membership_healthy: 1
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.membership_total: 1
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.original_dst_host_invalid: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.retry_or_shadow_abandoned: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.update_attempt: 33917
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.update_empty: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.update_failure: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.update_no_rebuild: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.update_success: 33917
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_active: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_close_notify: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_connect_attempts_exceeded: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_connect_fail: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_connect_timeout: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_destroy: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_destroy_local: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_destroy_local_with_active_rq: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_destroy_remote: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_destroy_remote_with_active_rq: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_destroy_with_active_rq: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_http1_total: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_http2_total: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_http3_total: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_idle_timeout: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_max_requests: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_none_healthy: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_overflow: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_pool_overflow: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_protocol_error: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_rx_bytes_buffered: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_rx_bytes_total: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_total: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_tx_bytes_buffered: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_tx_bytes_total: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_flow_control_backed_up_total: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_flow_control_drained_total: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_flow_control_paused_reading_total: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_flow_control_resumed_reading_total: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_internal_redirect_failed_total: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_internal_redirect_succeeded_total: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_rq_active: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_rq_cancelled: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_rq_completed: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_rq_maintenance_mode: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_rq_max_duration_reached: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_rq_pending_active: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_rq_pending_failure_eject: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_rq_pending_overflow: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_rq_pending_total: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_rq_per_try_idle_timeout: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_rq_per_try_timeout: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_rq_retry: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_rq_retry_backoff_exponential: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_rq_retry_backoff_ratelimited: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_rq_retry_limit_exceeded: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_rq_retry_overflow: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_rq_retry_success: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_rq_rx_reset: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_rq_timeout: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_rq_total: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_rq_tx_reset: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.version: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.assignment_stale: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.assignment_timeout_received: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.bind_errors: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.circuit_breakers.default.cx_open: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.circuit_breakers.default.cx_pool_open: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.circuit_breakers.default.rq_open: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.circuit_breakers.default.rq_pending_open: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.circuit_breakers.default.rq_retry_open: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.circuit_breakers.high.cx_open: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.circuit_breakers.high.cx_pool_open: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.circuit_breakers.high.rq_open: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.circuit_breakers.high.rq_pending_open: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.circuit_breakers.high.rq_retry_open: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.default.total_match_count: 1
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.lb_healthy_panic: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.lb_local_cluster_not_ok: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.lb_recalculate_zone_structures: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.lb_subsets_active: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.lb_subsets_created: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.lb_subsets_fallback: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.lb_subsets_fallback_panic: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.lb_subsets_removed: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.lb_subsets_selected: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.lb_zone_cluster_too_small: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.lb_zone_no_capacity_left: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.lb_zone_number_differs: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.lb_zone_routing_all_directly: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.lb_zone_routing_cross_zone: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.lb_zone_routing_sampled: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.max_host_weight: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.membership_change: 1
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.membership_degraded: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.membership_excluded: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.membership_healthy: 1
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.membership_total: 1
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.original_dst_host_invalid: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.retry_or_shadow_abandoned: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.update_attempt: 33917
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.update_empty: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.update_failure: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.update_no_rebuild: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.update_success: 33917
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_active: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_close_notify: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_connect_attempts_exceeded: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_connect_fail: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_connect_timeout: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_destroy: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_destroy_local: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_destroy_local_with_active_rq: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_destroy_remote: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_destroy_remote_with_active_rq: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_destroy_with_active_rq: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_http1_total: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_http2_total: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_http3_total: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_idle_timeout: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_max_requests: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_none_healthy: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_overflow: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_pool_overflow: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_protocol_error: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_rx_bytes_buffered: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_rx_bytes_total: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_total: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_tx_bytes_buffered: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_tx_bytes_total: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_flow_control_backed_up_total: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_flow_control_drained_total: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_flow_control_paused_reading_total: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_flow_control_resumed_reading_total: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_internal_redirect_failed_total: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_internal_redirect_succeeded_total: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_rq_active: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_rq_cancelled: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_rq_completed: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_rq_maintenance_mode: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_rq_max_duration_reached: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_rq_pending_active: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_rq_pending_failure_eject: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_rq_pending_overflow: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_rq_pending_total: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_rq_per_try_idle_timeout: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_rq_per_try_timeout: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_rq_retry: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_rq_retry_backoff_exponential: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_rq_retry_backoff_ratelimited: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_rq_retry_limit_exceeded: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_rq_retry_overflow: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_rq_retry_success: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_rq_rx_reset: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_rq_timeout: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_rq_total: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_rq_tx_reset: 0
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.version: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.assignment_stale: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.assignment_timeout_received: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.bind_errors: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.circuit_breakers.default.cx_open: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.circuit_breakers.default.cx_pool_open: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.circuit_breakers.default.rq_open: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.circuit_breakers.default.rq_pending_open: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.circuit_breakers.default.rq_retry_open: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.circuit_breakers.high.cx_open: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.circuit_breakers.high.cx_pool_open: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.circuit_breakers.high.rq_open: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.circuit_breakers.high.rq_pending_open: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.circuit_breakers.high.rq_retry_open: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.default.total_match_count: 1
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.lb_healthy_panic: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.lb_local_cluster_not_ok: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.lb_recalculate_zone_structures: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.lb_subsets_active: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.lb_subsets_created: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.lb_subsets_fallback: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.lb_subsets_fallback_panic: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.lb_subsets_removed: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.lb_subsets_selected: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.lb_zone_cluster_too_small: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.lb_zone_no_capacity_left: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.lb_zone_number_differs: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.lb_zone_routing_all_directly: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.lb_zone_routing_cross_zone: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.lb_zone_routing_sampled: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.max_host_weight: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.membership_change: 1
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.membership_degraded: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.membership_excluded: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.membership_healthy: 1
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.membership_total: 1
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.original_dst_host_invalid: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.retry_or_shadow_abandoned: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.update_attempt: 33917
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.update_empty: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.update_failure: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.update_no_rebuild: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.update_success: 33917
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_active: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_close_notify: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_connect_attempts_exceeded: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_connect_fail: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_connect_timeout: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_destroy: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_destroy_local: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_destroy_local_with_active_rq: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_destroy_remote: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_destroy_remote_with_active_rq: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_destroy_with_active_rq: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_http1_total: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_http2_total: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_http3_total: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_idle_timeout: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_max_requests: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_none_healthy: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_overflow: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_pool_overflow: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_protocol_error: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_rx_bytes_buffered: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_rx_bytes_total: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_total: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_tx_bytes_buffered: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_tx_bytes_total: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_flow_control_backed_up_total: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_flow_control_drained_total: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_flow_control_paused_reading_total: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_flow_control_resumed_reading_total: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_internal_redirect_failed_total: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_internal_redirect_succeeded_total: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_rq_active: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_rq_cancelled: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_rq_completed: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_rq_maintenance_mode: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_rq_max_duration_reached: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_rq_pending_active: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_rq_pending_failure_eject: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_rq_pending_overflow: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_rq_pending_total: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_rq_per_try_idle_timeout: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_rq_per_try_timeout: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_rq_retry: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_rq_retry_backoff_exponential: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_rq_retry_backoff_ratelimited: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_rq_retry_limit_exceeded: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_rq_retry_overflow: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_rq_retry_success: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_rq_rx_reset: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_rq_timeout: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_rq_total: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_rq_tx_reset: 0
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.version: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.assignment_stale: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.assignment_timeout_received: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.bind_errors: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.circuit_breakers.default.cx_open: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.circuit_breakers.default.cx_pool_open: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.circuit_breakers.default.rq_open: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.circuit_breakers.default.rq_pending_open: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.circuit_breakers.default.rq_retry_open: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.circuit_breakers.high.cx_open: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.circuit_breakers.high.cx_pool_open: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.circuit_breakers.high.rq_open: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.circuit_breakers.high.rq_pending_open: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.circuit_breakers.high.rq_retry_open: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.default.total_match_count: 1
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.external.upstream_rq_200: 19
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.external.upstream_rq_2xx: 19
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.external.upstream_rq_404: 33957
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.external.upstream_rq_4xx: 33957
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.external.upstream_rq_completed: 33976
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.http1.dropped_headers_with_underscores: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.http1.metadata_not_supported_error: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.http1.requests_rejected_with_underscores_in_headers: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.http1.response_flood: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.lb_healthy_panic: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.lb_local_cluster_not_ok: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.lb_recalculate_zone_structures: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.lb_subsets_active: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.lb_subsets_created: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.lb_subsets_fallback: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.lb_subsets_fallback_panic: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.lb_subsets_removed: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.lb_subsets_selected: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.lb_zone_cluster_too_small: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.lb_zone_no_capacity_left: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.lb_zone_number_differs: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.lb_zone_routing_all_directly: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.lb_zone_routing_cross_zone: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.lb_zone_routing_sampled: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.max_host_weight: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.membership_change: 1
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.membership_degraded: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.membership_excluded: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.membership_healthy: 1
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.membership_total: 1
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.original_dst_host_invalid: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.retry.upstream_rq_503: 427
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.retry.upstream_rq_5xx: 427
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.retry.upstream_rq_completed: 427
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.retry_or_shadow_abandoned: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.update_attempt: 33917
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.update_empty: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.update_failure: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.update_no_rebuild: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.update_success: 33917
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_active: 2
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_close_notify: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_connect_attempts_exceeded: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_connect_fail: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_connect_timeout: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_destroy: 434
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_destroy_local: 434
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_destroy_local_with_active_rq: 427
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_destroy_remote: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_destroy_remote_with_active_rq: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_destroy_with_active_rq: 427
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_http1_total: 436
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_http2_total: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_http3_total: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_idle_timeout: 7
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_max_requests: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_none_healthy: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_overflow: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_pool_overflow: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_protocol_error: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_rx_bytes_buffered: 708
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_rx_bytes_total: 13036491
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_total: 436
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_tx_bytes_buffered: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_tx_bytes_total: 14190765
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_flow_control_backed_up_total: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_flow_control_drained_total: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_flow_control_paused_reading_total: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_flow_control_resumed_reading_total: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_internal_redirect_failed_total: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_internal_redirect_succeeded_total: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_200: 19
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_2xx: 19
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_404: 33957
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_4xx: 33957
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_active: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_cancelled: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_completed: 33976
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_maintenance_mode: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_max_duration_reached: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_pending_active: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_pending_failure_eject: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_pending_overflow: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_pending_total: 436
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_per_try_idle_timeout: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_per_try_timeout: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_retry: 427
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_retry_backoff_exponential: 427
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_retry_backoff_ratelimited: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_retry_limit_exceeded: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_retry_overflow: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_retry_success: 427
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_rx_reset: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_timeout: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_total: 34403
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_tx_reset: 0
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.version: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.assignment_stale: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.assignment_timeout_received: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.bind_errors: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.circuit_breakers.default.cx_open: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.circuit_breakers.default.cx_pool_open: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.circuit_breakers.default.rq_open: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.circuit_breakers.default.rq_pending_open: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.circuit_breakers.default.rq_retry_open: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.circuit_breakers.high.cx_open: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.circuit_breakers.high.cx_pool_open: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.circuit_breakers.high.rq_open: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.circuit_breakers.high.rq_pending_open: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.circuit_breakers.high.rq_retry_open: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.default.total_match_count: 1
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.lb_healthy_panic: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.lb_local_cluster_not_ok: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.lb_recalculate_zone_structures: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.lb_subsets_active: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.lb_subsets_created: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.lb_subsets_fallback: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.lb_subsets_fallback_panic: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.lb_subsets_removed: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.lb_subsets_selected: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.lb_zone_cluster_too_small: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.lb_zone_no_capacity_left: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.lb_zone_number_differs: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.lb_zone_routing_all_directly: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.lb_zone_routing_cross_zone: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.lb_zone_routing_sampled: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.max_host_weight: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.membership_change: 1
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.membership_degraded: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.membership_excluded: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.membership_healthy: 1
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.membership_total: 1
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.original_dst_host_invalid: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.retry_or_shadow_abandoned: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.update_attempt: 33917
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.update_empty: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.update_failure: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.update_no_rebuild: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.update_success: 33917
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_active: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_close_notify: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_connect_attempts_exceeded: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_connect_fail: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_connect_timeout: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_destroy: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_destroy_local: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_destroy_local_with_active_rq: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_destroy_remote: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_destroy_remote_with_active_rq: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_destroy_with_active_rq: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_http1_total: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_http2_total: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_http3_total: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_idle_timeout: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_max_requests: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_none_healthy: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_overflow: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_pool_overflow: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_protocol_error: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_rx_bytes_buffered: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_rx_bytes_total: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_total: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_tx_bytes_buffered: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_tx_bytes_total: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_flow_control_backed_up_total: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_flow_control_drained_total: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_flow_control_paused_reading_total: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_flow_control_resumed_reading_total: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_internal_redirect_failed_total: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_internal_redirect_succeeded_total: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_rq_active: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_rq_cancelled: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_rq_completed: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_rq_maintenance_mode: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_rq_max_duration_reached: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_rq_pending_active: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_rq_pending_failure_eject: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_rq_pending_overflow: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_rq_pending_total: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_rq_per_try_idle_timeout: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_rq_per_try_timeout: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_rq_retry: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_rq_retry_backoff_exponential: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_rq_retry_backoff_ratelimited: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_rq_retry_limit_exceeded: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_rq_retry_overflow: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_rq_retry_success: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_rq_rx_reset: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_rq_timeout: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_rq_total: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_rq_tx_reset: 0
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.version: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.assignment_stale: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.assignment_timeout_received: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.bind_errors: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.circuit_breakers.default.cx_open: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.circuit_breakers.default.cx_pool_open: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.circuit_breakers.default.rq_open: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.circuit_breakers.default.rq_pending_open: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.circuit_breakers.default.rq_retry_open: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.circuit_breakers.high.cx_open: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.circuit_breakers.high.cx_pool_open: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.circuit_breakers.high.rq_open: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.circuit_breakers.high.rq_pending_open: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.circuit_breakers.high.rq_retry_open: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.default.total_match_count: 1
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.lb_healthy_panic: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.lb_local_cluster_not_ok: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.lb_recalculate_zone_structures: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.lb_subsets_active: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.lb_subsets_created: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.lb_subsets_fallback: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.lb_subsets_fallback_panic: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.lb_subsets_removed: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.lb_subsets_selected: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.lb_zone_cluster_too_small: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.lb_zone_no_capacity_left: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.lb_zone_number_differs: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.lb_zone_routing_all_directly: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.lb_zone_routing_cross_zone: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.lb_zone_routing_sampled: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.max_host_weight: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.membership_change: 1
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.membership_degraded: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.membership_excluded: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.membership_healthy: 1
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.membership_total: 1
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.original_dst_host_invalid: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.retry_or_shadow_abandoned: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.update_attempt: 33917
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.update_empty: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.update_failure: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.update_no_rebuild: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.update_success: 33917
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_active: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_close_notify: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_connect_attempts_exceeded: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_connect_fail: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_connect_timeout: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_destroy: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_destroy_local: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_destroy_local_with_active_rq: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_destroy_remote: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_destroy_remote_with_active_rq: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_destroy_with_active_rq: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_http1_total: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_http2_total: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_http3_total: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_idle_timeout: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_max_requests: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_none_healthy: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_overflow: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_pool_overflow: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_protocol_error: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_rx_bytes_buffered: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_rx_bytes_total: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_total: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_tx_bytes_buffered: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_tx_bytes_total: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_flow_control_backed_up_total: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_flow_control_drained_total: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_flow_control_paused_reading_total: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_flow_control_resumed_reading_total: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_internal_redirect_failed_total: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_internal_redirect_succeeded_total: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_rq_active: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_rq_cancelled: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_rq_completed: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_rq_maintenance_mode: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_rq_max_duration_reached: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_rq_pending_active: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_rq_pending_failure_eject: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_rq_pending_overflow: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_rq_pending_total: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_rq_per_try_idle_timeout: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_rq_per_try_timeout: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_rq_retry: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_rq_retry_backoff_exponential: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_rq_retry_backoff_ratelimited: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_rq_retry_limit_exceeded: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_rq_retry_overflow: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_rq_retry_success: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_rq_rx_reset: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_rq_timeout: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_rq_total: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_rq_tx_reset: 0
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.version: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.assignment_stale: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.assignment_timeout_received: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.bind_errors: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.circuit_breakers.default.cx_open: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.circuit_breakers.default.cx_pool_open: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.circuit_breakers.default.rq_open: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.circuit_breakers.default.rq_pending_open: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.circuit_breakers.default.rq_retry_open: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.circuit_breakers.high.cx_open: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.circuit_breakers.high.cx_pool_open: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.circuit_breakers.high.rq_open: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.circuit_breakers.high.rq_pending_open: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.circuit_breakers.high.rq_retry_open: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.default.total_match_count: 1
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.lb_healthy_panic: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.lb_local_cluster_not_ok: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.lb_recalculate_zone_structures: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.lb_subsets_active: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.lb_subsets_created: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.lb_subsets_fallback: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.lb_subsets_fallback_panic: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.lb_subsets_removed: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.lb_subsets_selected: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.lb_zone_cluster_too_small: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.lb_zone_no_capacity_left: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.lb_zone_number_differs: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.lb_zone_routing_all_directly: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.lb_zone_routing_cross_zone: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.lb_zone_routing_sampled: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.max_host_weight: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.membership_change: 1
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.membership_degraded: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.membership_excluded: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.membership_healthy: 1
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.membership_total: 1
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.original_dst_host_invalid: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.retry_or_shadow_abandoned: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.update_attempt: 33917
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.update_empty: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.update_failure: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.update_no_rebuild: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.update_success: 33917
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_active: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_close_notify: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_connect_attempts_exceeded: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_connect_fail: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_connect_timeout: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_destroy: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_destroy_local: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_destroy_local_with_active_rq: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_destroy_remote: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_destroy_remote_with_active_rq: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_destroy_with_active_rq: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_http1_total: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_http2_total: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_http3_total: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_idle_timeout: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_max_requests: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_none_healthy: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_overflow: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_pool_overflow: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_protocol_error: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_rx_bytes_buffered: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_rx_bytes_total: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_total: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_tx_bytes_buffered: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_tx_bytes_total: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_flow_control_backed_up_total: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_flow_control_drained_total: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_flow_control_paused_reading_total: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_flow_control_resumed_reading_total: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_internal_redirect_failed_total: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_internal_redirect_succeeded_total: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_rq_active: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_rq_cancelled: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_rq_completed: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_rq_maintenance_mode: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_rq_max_duration_reached: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_rq_pending_active: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_rq_pending_failure_eject: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_rq_pending_overflow: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_rq_pending_total: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_rq_per_try_idle_timeout: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_rq_per_try_timeout: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_rq_retry: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_rq_retry_backoff_exponential: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_rq_retry_backoff_ratelimited: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_rq_retry_limit_exceeded: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_rq_retry_overflow: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_rq_retry_success: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_rq_rx_reset: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_rq_timeout: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_rq_total: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_rq_tx_reset: 0
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.version: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.assignment_stale: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.assignment_timeout_received: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.bind_errors: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.circuit_breakers.default.cx_open: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.circuit_breakers.default.cx_pool_open: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.circuit_breakers.default.rq_open: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.circuit_breakers.default.rq_pending_open: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.circuit_breakers.default.rq_retry_open: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.circuit_breakers.high.cx_open: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.circuit_breakers.high.cx_pool_open: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.circuit_breakers.high.rq_open: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.circuit_breakers.high.rq_pending_open: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.circuit_breakers.high.rq_retry_open: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.default.total_match_count: 1
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.lb_healthy_panic: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.lb_local_cluster_not_ok: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.lb_recalculate_zone_structures: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.lb_subsets_active: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.lb_subsets_created: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.lb_subsets_fallback: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.lb_subsets_fallback_panic: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.lb_subsets_removed: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.lb_subsets_selected: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.lb_zone_cluster_too_small: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.lb_zone_no_capacity_left: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.lb_zone_number_differs: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.lb_zone_routing_all_directly: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.lb_zone_routing_cross_zone: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.lb_zone_routing_sampled: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.max_host_weight: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.membership_change: 1
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.membership_degraded: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.membership_excluded: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.membership_healthy: 1
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.membership_total: 1
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.original_dst_host_invalid: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.retry_or_shadow_abandoned: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.update_attempt: 33917
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.update_empty: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.update_failure: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.update_no_rebuild: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.update_success: 33917
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_active: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_close_notify: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_connect_attempts_exceeded: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_connect_fail: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_connect_timeout: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_destroy: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_destroy_local: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_destroy_local_with_active_rq: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_destroy_remote: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_destroy_remote_with_active_rq: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_destroy_with_active_rq: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_http1_total: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_http2_total: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_http3_total: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_idle_timeout: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_max_requests: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_none_healthy: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_overflow: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_pool_overflow: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_protocol_error: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_rx_bytes_buffered: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_rx_bytes_total: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_total: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_tx_bytes_buffered: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_tx_bytes_total: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_flow_control_backed_up_total: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_flow_control_drained_total: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_flow_control_paused_reading_total: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_flow_control_resumed_reading_total: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_internal_redirect_failed_total: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_internal_redirect_succeeded_total: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_rq_active: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_rq_cancelled: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_rq_completed: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_rq_maintenance_mode: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_rq_max_duration_reached: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_rq_pending_active: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_rq_pending_failure_eject: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_rq_pending_overflow: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_rq_pending_total: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_rq_per_try_idle_timeout: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_rq_per_try_timeout: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_rq_retry: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_rq_retry_backoff_exponential: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_rq_retry_backoff_ratelimited: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_rq_retry_limit_exceeded: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_rq_retry_overflow: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_rq_retry_success: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_rq_rx_reset: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_rq_timeout: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_rq_total: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_rq_tx_reset: 0
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.version: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.assignment_stale: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.assignment_timeout_received: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.bind_errors: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.circuit_breakers.default.cx_open: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.circuit_breakers.default.cx_pool_open: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.circuit_breakers.default.rq_open: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.circuit_breakers.default.rq_pending_open: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.circuit_breakers.default.rq_retry_open: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.circuit_breakers.high.cx_open: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.circuit_breakers.high.cx_pool_open: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.circuit_breakers.high.rq_open: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.circuit_breakers.high.rq_pending_open: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.circuit_breakers.high.rq_retry_open: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.default.total_match_count: 1
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.external.upstream_rq_200: 4938
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.external.upstream_rq_2xx: 4938
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.external.upstream_rq_completed: 4938
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.http1.dropped_headers_with_underscores: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.http1.metadata_not_supported_error: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.http1.requests_rejected_with_underscores_in_headers: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.http1.response_flood: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.internal.upstream_rq_200: 426
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.internal.upstream_rq_2xx: 426
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.internal.upstream_rq_completed: 426
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.lb_healthy_panic: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.lb_local_cluster_not_ok: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.lb_recalculate_zone_structures: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.lb_subsets_active: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.lb_subsets_created: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.lb_subsets_fallback: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.lb_subsets_fallback_panic: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.lb_subsets_removed: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.lb_subsets_selected: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.lb_zone_cluster_too_small: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.lb_zone_no_capacity_left: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.lb_zone_number_differs: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.lb_zone_routing_all_directly: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.lb_zone_routing_cross_zone: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.lb_zone_routing_sampled: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.max_host_weight: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.membership_change: 1
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.membership_degraded: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.membership_excluded: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.membership_healthy: 1
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.membership_total: 1
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.original_dst_host_invalid: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.retry_or_shadow_abandoned: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.update_attempt: 33917
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.update_empty: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.update_failure: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.update_no_rebuild: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.update_success: 33917
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_active: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_close_notify: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_connect_attempts_exceeded: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_connect_fail: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_connect_timeout: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_destroy: 23
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_destroy_local: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_destroy_local_with_active_rq: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_destroy_remote: 23
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_destroy_remote_with_active_rq: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_destroy_with_active_rq: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_http1_total: 23
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_http2_total: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_http3_total: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_idle_timeout: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_max_requests: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_none_healthy: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_overflow: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_pool_overflow: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_protocol_error: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_rx_bytes_buffered: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_rx_bytes_total: 2817757
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_total: 23
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_tx_bytes_buffered: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_tx_bytes_total: 13417197
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_flow_control_backed_up_total: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_flow_control_drained_total: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_flow_control_paused_reading_total: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_flow_control_resumed_reading_total: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_internal_redirect_failed_total: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_internal_redirect_succeeded_total: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_rq_200: 5364
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_rq_2xx: 5364
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_rq_active: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_rq_cancelled: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_rq_completed: 5364
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_rq_maintenance_mode: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_rq_max_duration_reached: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_rq_pending_active: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_rq_pending_failure_eject: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_rq_pending_overflow: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_rq_pending_total: 23
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_rq_per_try_idle_timeout: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_rq_per_try_timeout: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_rq_retry: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_rq_retry_backoff_exponential: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_rq_retry_backoff_ratelimited: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_rq_retry_limit_exceeded: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_rq_retry_overflow: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_rq_retry_success: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_rq_rx_reset: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_rq_timeout: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_rq_total: 5364
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_rq_tx_reset: 0
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.version: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.assignment_stale: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.assignment_timeout_received: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.bind_errors: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.circuit_breakers.default.cx_open: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.circuit_breakers.default.cx_pool_open: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.circuit_breakers.default.rq_open: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.circuit_breakers.default.rq_pending_open: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.circuit_breakers.default.rq_retry_open: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.circuit_breakers.high.cx_open: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.circuit_breakers.high.cx_pool_open: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.circuit_breakers.high.rq_open: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.circuit_breakers.high.rq_pending_open: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.circuit_breakers.high.rq_retry_open: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.default.total_match_count: 1
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.external.upstream_rq_200: 3229960
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.external.upstream_rq_2xx: 3229960
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.external.upstream_rq_500: 6
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.external.upstream_rq_503: 2922
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.external.upstream_rq_504: 118
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.external.upstream_rq_5xx: 3046
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.external.upstream_rq_completed: 3233006
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.http1.dropped_headers_with_underscores: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.http1.metadata_not_supported_error: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.http1.requests_rejected_with_underscores_in_headers: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.http1.response_flood: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.internal.upstream_rq_200: 276952
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.internal.upstream_rq_2xx: 276952
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.internal.upstream_rq_500: 44
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.internal.upstream_rq_503: 157
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.internal.upstream_rq_504: 11
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.internal.upstream_rq_5xx: 212
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.internal.upstream_rq_completed: 277164
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.lb_healthy_panic: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.lb_local_cluster_not_ok: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.lb_recalculate_zone_structures: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.lb_subsets_active: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.lb_subsets_created: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.lb_subsets_fallback: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.lb_subsets_fallback_panic: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.lb_subsets_removed: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.lb_subsets_selected: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.lb_zone_cluster_too_small: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.lb_zone_no_capacity_left: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.lb_zone_number_differs: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.lb_zone_routing_all_directly: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.lb_zone_routing_cross_zone: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.lb_zone_routing_sampled: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.max_host_weight: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.membership_change: 1
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.membership_degraded: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.membership_excluded: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.membership_healthy: 1
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.membership_total: 1
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.original_dst_host_invalid: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.retry.upstream_rq_503: 62
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.retry.upstream_rq_5xx: 62
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.retry.upstream_rq_completed: 62
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.retry_or_shadow_abandoned: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.update_attempt: 33917
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.update_empty: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.update_failure: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.update_no_rebuild: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.update_success: 33917
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_active: 13
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_close_notify: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_connect_attempts_exceeded: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_connect_fail: 1482
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_connect_timeout: 1482
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_destroy: 2299
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_destroy_local: 2291
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_destroy_local_with_active_rq: 487
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_destroy_remote: 8
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_destroy_remote_with_active_rq: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_destroy_with_active_rq: 487
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_http1_total: 2312
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_http2_total: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_http3_total: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_idle_timeout: 322
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_max_requests: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_none_healthy: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_overflow: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_pool_overflow: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_protocol_error: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_rx_bytes_buffered: 5052
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_rx_bytes_total: 1517682417
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_total: 2312
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_tx_bytes_buffered: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_tx_bytes_total: 8816062321
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_flow_control_backed_up_total: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_flow_control_drained_total: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_flow_control_paused_reading_total: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_flow_control_resumed_reading_total: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_internal_redirect_failed_total: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_internal_redirect_succeeded_total: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_200: 3506912
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_2xx: 3506912
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_500: 50
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_503: 3079
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_504: 129
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_5xx: 3258
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_active: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_cancelled: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_completed: 3510170
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_maintenance_mode: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_max_duration_reached: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_pending_active: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_pending_failure_eject: 6075
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_pending_overflow: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_pending_total: 6908
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_per_try_idle_timeout: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_per_try_timeout: 425
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_retry: 3399
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_retry_backoff_exponential: 3399
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_retry_backoff_ratelimited: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_retry_limit_exceeded: 3208
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_retry_overflow: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_retry_success: 191
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_rx_reset: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_timeout: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_total: 3507494
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_tx_reset: 0
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.version: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.assignment_stale: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.assignment_timeout_received: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.bind_errors: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.circuit_breakers.default.cx_open: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.circuit_breakers.default.cx_pool_open: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.circuit_breakers.default.rq_open: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.circuit_breakers.default.rq_pending_open: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.circuit_breakers.default.rq_retry_open: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.circuit_breakers.high.cx_open: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.circuit_breakers.high.cx_pool_open: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.circuit_breakers.high.rq_open: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.circuit_breakers.high.rq_pending_open: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.circuit_breakers.high.rq_retry_open: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.default.total_match_count: 1
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.lb_healthy_panic: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.lb_local_cluster_not_ok: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.lb_recalculate_zone_structures: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.lb_subsets_active: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.lb_subsets_created: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.lb_subsets_fallback: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.lb_subsets_fallback_panic: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.lb_subsets_removed: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.lb_subsets_selected: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.lb_zone_cluster_too_small: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.lb_zone_no_capacity_left: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.lb_zone_number_differs: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.lb_zone_routing_all_directly: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.lb_zone_routing_cross_zone: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.lb_zone_routing_sampled: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.max_host_weight: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.membership_change: 1
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.membership_degraded: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.membership_excluded: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.membership_healthy: 1
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.membership_total: 1
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.original_dst_host_invalid: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.retry_or_shadow_abandoned: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.update_attempt: 33917
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.update_empty: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.update_failure: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.update_no_rebuild: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.update_success: 33917
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_active: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_close_notify: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_connect_attempts_exceeded: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_connect_fail: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_connect_timeout: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_destroy: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_destroy_local: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_destroy_local_with_active_rq: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_destroy_remote: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_destroy_remote_with_active_rq: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_destroy_with_active_rq: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_http1_total: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_http2_total: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_http3_total: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_idle_timeout: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_max_requests: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_none_healthy: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_overflow: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_pool_overflow: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_protocol_error: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_rx_bytes_buffered: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_rx_bytes_total: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_total: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_tx_bytes_buffered: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_tx_bytes_total: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_flow_control_backed_up_total: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_flow_control_drained_total: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_flow_control_paused_reading_total: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_flow_control_resumed_reading_total: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_internal_redirect_failed_total: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_internal_redirect_succeeded_total: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_rq_active: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_rq_cancelled: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_rq_completed: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_rq_maintenance_mode: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_rq_max_duration_reached: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_rq_pending_active: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_rq_pending_failure_eject: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_rq_pending_overflow: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_rq_pending_total: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_rq_per_try_idle_timeout: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_rq_per_try_timeout: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_rq_retry: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_rq_retry_backoff_exponential: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_rq_retry_backoff_ratelimited: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_rq_retry_limit_exceeded: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_rq_retry_overflow: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_rq_retry_success: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_rq_rx_reset: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_rq_timeout: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_rq_total: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_rq_tx_reset: 0
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.version: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.assignment_stale: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.assignment_timeout_received: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.bind_errors: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.circuit_breakers.default.cx_open: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.circuit_breakers.default.cx_pool_open: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.circuit_breakers.default.rq_open: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.circuit_breakers.default.rq_pending_open: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.circuit_breakers.default.rq_retry_open: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.circuit_breakers.high.cx_open: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.circuit_breakers.high.cx_pool_open: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.circuit_breakers.high.rq_open: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.circuit_breakers.high.rq_pending_open: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.circuit_breakers.high.rq_retry_open: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.default.total_match_count: 1
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.external.upstream_rq_200: 836771
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.external.upstream_rq_2xx: 836771
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.external.upstream_rq_500: 43
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.external.upstream_rq_5xx: 43
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.external.upstream_rq_completed: 836814
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.http1.dropped_headers_with_underscores: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.http1.metadata_not_supported_error: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.http1.requests_rejected_with_underscores_in_headers: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.http1.response_flood: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.internal.upstream_rq_200: 24
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.internal.upstream_rq_2xx: 24
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.internal.upstream_rq_completed: 24
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.lb_healthy_panic: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.lb_local_cluster_not_ok: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.lb_recalculate_zone_structures: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.lb_subsets_active: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.lb_subsets_created: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.lb_subsets_fallback: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.lb_subsets_fallback_panic: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.lb_subsets_removed: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.lb_subsets_selected: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.lb_zone_cluster_too_small: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.lb_zone_no_capacity_left: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.lb_zone_number_differs: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.lb_zone_routing_all_directly: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.lb_zone_routing_cross_zone: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.lb_zone_routing_sampled: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.max_host_weight: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.membership_change: 1
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.membership_degraded: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.membership_excluded: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.membership_healthy: 1
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.membership_total: 1
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.original_dst_host_invalid: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.retry_or_shadow_abandoned: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.update_attempt: 33917
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.update_empty: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.update_failure: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.update_no_rebuild: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.update_success: 33917
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_active: 11
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_close_notify: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_connect_attempts_exceeded: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_connect_fail: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_connect_timeout: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_destroy: 26
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_destroy_local: 23
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_destroy_local_with_active_rq: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_destroy_remote: 3
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_destroy_remote_with_active_rq: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_destroy_with_active_rq: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_http1_total: 37
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_http2_total: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_http3_total: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_idle_timeout: 23
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_max_requests: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_none_healthy: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_overflow: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_pool_overflow: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_protocol_error: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_rx_bytes_buffered: 1965
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_rx_bytes_total: 388923067
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_total: 37
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_tx_bytes_buffered: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_tx_bytes_total: 2692902155
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_flow_control_backed_up_total: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_flow_control_drained_total: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_flow_control_paused_reading_total: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_flow_control_resumed_reading_total: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_internal_redirect_failed_total: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_internal_redirect_succeeded_total: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_200: 836795
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_2xx: 836795
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_500: 43
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_5xx: 43
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_active: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_cancelled: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_completed: 836838
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_maintenance_mode: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_max_duration_reached: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_pending_active: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_pending_failure_eject: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_pending_overflow: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_pending_total: 37
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_per_try_idle_timeout: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_per_try_timeout: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_retry: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_retry_backoff_exponential: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_retry_backoff_ratelimited: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_retry_limit_exceeded: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_retry_overflow: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_retry_success: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_rx_reset: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_timeout: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_total: 836838
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_tx_reset: 0
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.version: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.assignment_stale: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.assignment_timeout_received: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.bind_errors: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.circuit_breakers.default.cx_open: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.circuit_breakers.default.cx_pool_open: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.circuit_breakers.default.rq_open: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.circuit_breakers.default.rq_pending_open: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.circuit_breakers.default.rq_retry_open: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.circuit_breakers.high.cx_open: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.circuit_breakers.high.cx_pool_open: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.circuit_breakers.high.rq_open: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.circuit_breakers.high.rq_pending_open: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.circuit_breakers.high.rq_retry_open: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.default.total_match_count: 1
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.external.upstream_rq_200: 4071688
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.external.upstream_rq_2xx: 4071688
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.external.upstream_rq_404: 33957
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.external.upstream_rq_4xx: 33957
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.external.upstream_rq_500: 49
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.external.upstream_rq_503: 2922
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.external.upstream_rq_504: 118
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.external.upstream_rq_5xx: 3089
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.external.upstream_rq_completed: 4108734
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.http1.dropped_headers_with_underscores: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.http1.metadata_not_supported_error: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.http1.requests_rejected_with_underscores_in_headers: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.http1.response_flood: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.internal.upstream_rq_200: 277402
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.internal.upstream_rq_2xx: 277402
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.internal.upstream_rq_500: 44
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.internal.upstream_rq_503: 157
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.internal.upstream_rq_504: 11
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.internal.upstream_rq_5xx: 212
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.internal.upstream_rq_completed: 277614
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.lb_healthy_panic: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.lb_local_cluster_not_ok: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.lb_recalculate_zone_structures: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.lb_subsets_active: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.lb_subsets_created: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.lb_subsets_fallback: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.lb_subsets_fallback_panic: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.lb_subsets_removed: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.lb_subsets_selected: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.lb_zone_cluster_too_small: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.lb_zone_no_capacity_left: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.lb_zone_number_differs: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.lb_zone_routing_all_directly: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.lb_zone_routing_cross_zone: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.lb_zone_routing_sampled: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.max_host_weight: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.membership_change: 1
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.membership_degraded: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.membership_excluded: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.membership_healthy: 1
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.membership_total: 1
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.original_dst_host_invalid: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.retry_or_shadow_abandoned: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.update_attempt: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.update_empty: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.update_failure: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.update_no_rebuild: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.update_success: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_active: 16
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_close_notify: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_connect_attempts_exceeded: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_connect_fail: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_connect_timeout: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_destroy: 498
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_destroy_local: 492
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_destroy_local_with_active_rq: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_destroy_remote: 6
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_destroy_remote_with_active_rq: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_destroy_with_active_rq: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_http1_total: 514
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_http2_total: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_http3_total: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_idle_timeout: 492
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_max_requests: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_none_healthy: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_overflow: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_pool_overflow: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_protocol_error: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_rx_bytes_buffered: 5664
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_rx_bytes_total: 1923092694
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_total: 514
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_tx_bytes_buffered: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_tx_bytes_total: 11547428789
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_flow_control_backed_up_total: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_flow_control_drained_total: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_flow_control_paused_reading_total: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_flow_control_resumed_reading_total: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_internal_redirect_failed_total: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_internal_redirect_succeeded_total: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_200: 4349090
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_2xx: 4349090
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_404: 33957
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_4xx: 33957
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_500: 93
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_503: 3079
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_504: 129
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_5xx: 3301
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_active: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_cancelled: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_completed: 4386348
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_maintenance_mode: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_max_duration_reached: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_pending_active: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_pending_failure_eject: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_pending_overflow: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_pending_total: 514
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_per_try_idle_timeout: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_per_try_timeout: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_retry: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_retry_backoff_exponential: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_retry_backoff_ratelimited: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_retry_limit_exceeded: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_retry_overflow: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_retry_success: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_rx_reset: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_timeout: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_total: 4386348
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_tx_reset: 0
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.version: 0
cluster_manager.active_clusters: 13
cluster_manager.cds.init_fetch_timeout: 0
cluster_manager.cds.update_attempt: 96
cluster_manager.cds.update_failure: 86
cluster_manager.cds.update_rejected: 0
cluster_manager.cds.update_success: 9
cluster_manager.cds.update_time: 1653300787235
cluster_manager.cds.version: 17800499387772728049
cluster_manager.cluster_added: 13
cluster_manager.cluster_modified: 0
cluster_manager.cluster_removed: 0
cluster_manager.cluster_updated: 0
cluster_manager.cluster_updated_via_merge: 0
cluster_manager.update_merge_cancelled: 0
cluster_manager.update_out_of_merge_window: 0
cluster_manager.warming_clusters: 0
control_plane.connected_state: 1
control_plane.pending_requests: 0
control_plane.rate_limit_enforced: 0
envoy.overload_actions.reset_high_memory_stream.count: 0
filesystem.flushed_by_timer: 33956
filesystem.reopen_failed: 0
filesystem.write_buffered: 8823631
filesystem.write_completed: 1085260
filesystem.write_failed: 0
filesystem.write_total_buffered: 53866
grpc.ads.google_grpc_client_creation: 1
grpc.ads.streams_closed_0: 86
grpc.ads.streams_closed_1: 0
grpc.ads.streams_closed_10: 0
grpc.ads.streams_closed_11: 0
grpc.ads.streams_closed_12: 0
grpc.ads.streams_closed_13: 0
grpc.ads.streams_closed_14: 0
grpc.ads.streams_closed_15: 0
grpc.ads.streams_closed_16: 0
grpc.ads.streams_closed_2: 0
grpc.ads.streams_closed_3: 0
grpc.ads.streams_closed_4: 0
grpc.ads.streams_closed_5: 0
grpc.ads.streams_closed_6: 0
grpc.ads.streams_closed_7: 0
grpc.ads.streams_closed_8: 0
grpc.ads.streams_closed_9: 0
grpc.ads.streams_total: 87
http.admin.downstream_cx_active: 2
http.admin.downstream_cx_delayed_close_timeout: 0
http.admin.downstream_cx_destroy: 33962
http.admin.downstream_cx_destroy_active_rq: 0
http.admin.downstream_cx_destroy_local: 0
http.admin.downstream_cx_destroy_local_active_rq: 0
http.admin.downstream_cx_destroy_remote: 33962
http.admin.downstream_cx_destroy_remote_active_rq: 0
http.admin.downstream_cx_drain_close: 0
http.admin.downstream_cx_http1_active: 2
http.admin.downstream_cx_http1_total: 16985
http.admin.downstream_cx_http2_active: 0
http.admin.downstream_cx_http2_total: 0
http.admin.downstream_cx_http3_active: 0
http.admin.downstream_cx_http3_total: 0
http.admin.downstream_cx_idle_timeout: 0
http.admin.downstream_cx_max_duration_reached: 0
http.admin.downstream_cx_max_requests_reached: 0
http.admin.downstream_cx_overload_disable_keepalive: 0
http.admin.downstream_cx_protocol_error: 0
http.admin.downstream_cx_rx_bytes_buffered: 83
http.admin.downstream_cx_rx_bytes_total: 10101576
http.admin.downstream_cx_ssl_active: 0
http.admin.downstream_cx_ssl_total: 0
http.admin.downstream_cx_total: 33964
http.admin.downstream_cx_tx_bytes_buffered: 0
http.admin.downstream_cx_tx_bytes_total: 13155824700
http.admin.downstream_cx_upgrades_active: 0
http.admin.downstream_cx_upgrades_total: 0
http.admin.downstream_flow_control_paused_reading_total: 0
http.admin.downstream_flow_control_resumed_reading_total: 0
http.admin.downstream_rq_1xx: 0
http.admin.downstream_rq_2xx: 50935
http.admin.downstream_rq_3xx: 0
http.admin.downstream_rq_4xx: 0
http.admin.downstream_rq_5xx: 0
http.admin.downstream_rq_active: 1
http.admin.downstream_rq_completed: 50935
http.admin.downstream_rq_failed_path_normalization: 0
http.admin.downstream_rq_header_timeout: 0
http.admin.downstream_rq_http1_total: 50936
http.admin.downstream_rq_http2_total: 0
http.admin.downstream_rq_http3_total: 0
http.admin.downstream_rq_idle_timeout: 0
http.admin.downstream_rq_max_duration_reached: 0
http.admin.downstream_rq_non_relative_path: 0
http.admin.downstream_rq_overload_close: 0
http.admin.downstream_rq_redirected_with_normalized_path: 0
http.admin.downstream_rq_rejected_via_ip_detection: 0
http.admin.downstream_rq_response_before_rq_complete: 0
http.admin.downstream_rq_rx_reset: 0
http.admin.downstream_rq_timeout: 0
http.admin.downstream_rq_too_large: 0
http.admin.downstream_rq_total: 50936
http.admin.downstream_rq_tx_reset: 0
http.admin.downstream_rq_ws_on_non_ws_route: 0
http.admin.rs_too_large: 0
http.async-client.no_cluster: 0
http.async-client.no_route: 0
http.async-client.passthrough_internal_redirect_bad_location: 0
http.async-client.passthrough_internal_redirect_no_route: 0
http.async-client.passthrough_internal_redirect_predicate: 0
http.async-client.passthrough_internal_redirect_too_many_redirects: 0
http.async-client.passthrough_internal_redirect_unsafe_scheme: 0
http.async-client.rq_direct_response: 0
http.async-client.rq_redirect: 0
http.async-client.rq_reset_after_downstream_response_started: 0
http.async-client.rq_total: 0
http.egress.downstream_cx_active: 16
http.egress.downstream_cx_delayed_close_timeout: 0
http.egress.downstream_cx_destroy: 492
http.egress.downstream_cx_destroy_active_rq: 0
http.egress.downstream_cx_destroy_local: 0
http.egress.downstream_cx_destroy_local_active_rq: 0
http.egress.downstream_cx_destroy_remote: 492
http.egress.downstream_cx_destroy_remote_active_rq: 0
http.egress.downstream_cx_drain_close: 0
http.egress.downstream_cx_http1_active: 16
http.egress.downstream_cx_http1_total: 508
http.egress.downstream_cx_http2_active: 0
http.egress.downstream_cx_http2_total: 0
http.egress.downstream_cx_http3_active: 0
http.egress.downstream_cx_http3_total: 0
http.egress.downstream_cx_idle_timeout: 214
http.egress.downstream_cx_max_duration_reached: 0
http.egress.downstream_cx_max_requests_reached: 0
http.egress.downstream_cx_overload_disable_keepalive: 0
http.egress.downstream_cx_protocol_error: 0
http.egress.downstream_cx_rx_bytes_buffered: 50513
http.egress.downstream_cx_rx_bytes_total: 11547428789
http.egress.downstream_cx_ssl_active: 0
http.egress.downstream_cx_ssl_total: 0
http.egress.downstream_cx_total: 508
http.egress.downstream_cx_tx_bytes_buffered: 0
http.egress.downstream_cx_tx_bytes_total: 1923092694
http.egress.downstream_cx_upgrades_active: 0
http.egress.downstream_cx_upgrades_total: 0
http.egress.downstream_flow_control_paused_reading_total: 0
http.egress.downstream_flow_control_resumed_reading_total: 0
http.egress.downstream_rq_1xx: 0
http.egress.downstream_rq_2xx: 4349090
http.egress.downstream_rq_3xx: 0
http.egress.downstream_rq_4xx: 33957
http.egress.downstream_rq_5xx: 3301
http.egress.downstream_rq_active: 0
http.egress.downstream_rq_completed: 4386348
http.egress.downstream_rq_failed_path_normalization: 0
http.egress.downstream_rq_header_timeout: 0
http.egress.downstream_rq_http1_total: 4386348
http.egress.downstream_rq_http2_total: 0
http.egress.downstream_rq_http3_total: 0
http.egress.downstream_rq_idle_timeout: 0
http.egress.downstream_rq_max_duration_reached: 0
http.egress.downstream_rq_non_relative_path: 0
http.egress.downstream_rq_overload_close: 0
http.egress.downstream_rq_redirected_with_normalized_path: 0
http.egress.downstream_rq_rejected_via_ip_detection: 0
http.egress.downstream_rq_response_before_rq_complete: 0
http.egress.downstream_rq_rx_reset: 0
http.egress.downstream_rq_timeout: 0
http.egress.downstream_rq_too_large: 0
http.egress.downstream_rq_total: 4386348
http.egress.downstream_rq_tx_reset: 0
http.egress.downstream_rq_ws_on_non_ws_route: 0
http.egress.no_cluster: 0
http.egress.no_route: 0
http.egress.passthrough_internal_redirect_bad_location: 0
http.egress.passthrough_internal_redirect_no_route: 0
http.egress.passthrough_internal_redirect_predicate: 0
http.egress.passthrough_internal_redirect_too_many_redirects: 0
http.egress.passthrough_internal_redirect_unsafe_scheme: 0
http.egress.rds.rds_egress_http_15001.config_reload: 9
http.egress.rds.rds_egress_http_15001.config_reload_time_ms: 1653300787240
http.egress.rds.rds_egress_http_15001.init_fetch_timeout: 0
http.egress.rds.rds_egress_http_15001.update_attempt: 96
http.egress.rds.rds_egress_http_15001.update_empty: 0
http.egress.rds.rds_egress_http_15001.update_failure: 86
http.egress.rds.rds_egress_http_15001.update_rejected: 0
http.egress.rds.rds_egress_http_15001.update_success: 9
http.egress.rds.rds_egress_http_15001.update_time: 1653300787240
http.egress.rds.rds_egress_http_15001.version: 17800499387772728049
http.egress.rq_direct_response: 0
http.egress.rq_redirect: 0
http.egress.rq_reset_after_downstream_response_started: 0
http.egress.rq_total: 4386348
http.egress.rs_too_large: 0
http.egress.tracing.client_enabled: 0
http.egress.tracing.health_check: 0
http.egress.tracing.not_traceable: 0
http.egress.tracing.random_sampling: 4386348
http.egress.tracing.service_forced: 0
http.egress.user_agent.ios.downstream_cx_destroy_remote_active_rq: 0
http.egress.user_agent.ios.downstream_cx_total: 136
http.egress.user_agent.ios.downstream_rq_total: 136
http.ingress.downstream_cx_active: 1
http.ingress.downstream_cx_delayed_close_timeout: 7
http.ingress.downstream_cx_destroy: 4352384
http.ingress.downstream_cx_destroy_active_rq: 0
http.ingress.downstream_cx_destroy_local: 7
http.ingress.downstream_cx_destroy_local_active_rq: 0
http.ingress.downstream_cx_destroy_remote: 4352377
http.ingress.downstream_cx_destroy_remote_active_rq: 0
http.ingress.downstream_cx_drain_close: 0
http.ingress.downstream_cx_http1_active: 1
http.ingress.downstream_cx_http1_total: 4352385
http.ingress.downstream_cx_http2_active: 0
http.ingress.downstream_cx_http2_total: 0
http.ingress.downstream_cx_http3_active: 0
http.ingress.downstream_cx_http3_total: 0
http.ingress.downstream_cx_idle_timeout: 0
http.ingress.downstream_cx_max_duration_reached: 0
http.ingress.downstream_cx_max_requests_reached: 0
http.ingress.downstream_cx_overload_disable_keepalive: 0
http.ingress.downstream_cx_protocol_error: 0
http.ingress.downstream_cx_rx_bytes_buffered: 253
http.ingress.downstream_cx_rx_bytes_total: 11011819872
http.ingress.downstream_cx_ssl_active: 0
http.ingress.downstream_cx_ssl_total: 0
http.ingress.downstream_cx_total: 4352385
http.ingress.downstream_cx_tx_bytes_buffered: 0
http.ingress.downstream_cx_tx_bytes_total: 2005905035
http.ingress.downstream_cx_upgrades_active: 0
http.ingress.downstream_cx_upgrades_total: 0
http.ingress.downstream_flow_control_paused_reading_total: 0
http.ingress.downstream_flow_control_resumed_reading_total: 0
http.ingress.downstream_rq_1xx: 0
http.ingress.downstream_rq_2xx: 4349090
http.ingress.downstream_rq_3xx: 0
http.ingress.downstream_rq_4xx: 33957
http.ingress.downstream_rq_5xx: 3301
http.ingress.downstream_rq_active: 0
http.ingress.downstream_rq_completed: 4386348
http.ingress.downstream_rq_failed_path_normalization: 0
http.ingress.downstream_rq_header_timeout: 0
http.ingress.downstream_rq_http1_total: 4386348
http.ingress.downstream_rq_http2_total: 0
http.ingress.downstream_rq_http3_total: 0
http.ingress.downstream_rq_idle_timeout: 0
http.ingress.downstream_rq_max_duration_reached: 0
http.ingress.downstream_rq_non_relative_path: 0
http.ingress.downstream_rq_overload_close: 0
http.ingress.downstream_rq_redirected_with_normalized_path: 0
http.ingress.downstream_rq_rejected_via_ip_detection: 0
http.ingress.downstream_rq_response_before_rq_complete: 0
http.ingress.downstream_rq_rx_reset: 0
http.ingress.downstream_rq_timeout: 0
http.ingress.downstream_rq_too_large: 0
http.ingress.downstream_rq_total: 4386348
http.ingress.downstream_rq_tx_reset: 0
http.ingress.downstream_rq_ws_on_non_ws_route: 0
http.ingress.no_cluster: 0
http.ingress.no_route: 0
http.ingress.passthrough_internal_redirect_bad_location: 0
http.ingress.passthrough_internal_redirect_no_route: 0
http.ingress.passthrough_internal_redirect_predicate: 0
http.ingress.passthrough_internal_redirect_too_many_redirects: 0
http.ingress.passthrough_internal_redirect_unsafe_scheme: 0
http.ingress.rds.rds_ingress_http_8088.config_reload: 1
http.ingress.rds.rds_ingress_http_8088.config_reload_time_ms: 1653134919943
http.ingress.rds.rds_ingress_http_8088.init_fetch_timeout: 0
http.ingress.rds.rds_ingress_http_8088.update_attempt: 96
http.ingress.rds.rds_ingress_http_8088.update_empty: 0
http.ingress.rds.rds_ingress_http_8088.update_failure: 86
http.ingress.rds.rds_ingress_http_8088.update_rejected: 0
http.ingress.rds.rds_ingress_http_8088.update_success: 9
http.ingress.rds.rds_ingress_http_8088.update_time: 1653300787240
http.ingress.rds.rds_ingress_http_8088.version: 17800499387772728049
http.ingress.rq_direct_response: 0
http.ingress.rq_redirect: 0
http.ingress.rq_reset_after_downstream_response_started: 0
http.ingress.rq_total: 4386348
http.ingress.rs_too_large: 0
http.ingress.tracing.client_enabled: 0
http.ingress.tracing.health_check: 0
http.ingress.tracing.not_traceable: 0
http.ingress.tracing.random_sampling: 4386348
http.ingress.tracing.service_forced: 0
http.ingress.user_agent.android.downstream_cx_destroy_remote_active_rq: 0
http.ingress.user_agent.android.downstream_cx_total: 976
http.ingress.user_agent.android.downstream_rq_total: 976
http.ingress.user_agent.ios.downstream_cx_destroy_remote_active_rq: 0
http.ingress.user_agent.ios.downstream_cx_total: 1325725
http.ingress.user_agent.ios.downstream_rq_total: 1325725
http1.dropped_headers_with_underscores: 0
http1.metadata_not_supported_error: 0
http1.requests_rejected_with_underscores_in_headers: 0
http1.response_flood: 0
listener.0.0.0.0_15001.downstream_cx_active: 16
listener.0.0.0.0_15001.downstream_cx_destroy: 492
listener.0.0.0.0_15001.downstream_cx_overflow: 0
listener.0.0.0.0_15001.downstream_cx_overload_reject: 0
listener.0.0.0.0_15001.downstream_cx_total: 508
listener.0.0.0.0_15001.downstream_cx_transport_socket_connect_timeout: 0
listener.0.0.0.0_15001.downstream_global_cx_overflow: 0
listener.0.0.0.0_15001.downstream_pre_cx_active: 0
listener.0.0.0.0_15001.downstream_pre_cx_timeout: 6
listener.0.0.0.0_15001.http.egress.downstream_rq_1xx: 0
listener.0.0.0.0_15001.http.egress.downstream_rq_2xx: 4349090
listener.0.0.0.0_15001.http.egress.downstream_rq_3xx: 0
listener.0.0.0.0_15001.http.egress.downstream_rq_4xx: 33957
listener.0.0.0.0_15001.http.egress.downstream_rq_5xx: 3301
listener.0.0.0.0_15001.http.egress.downstream_rq_completed: 4386348
listener.0.0.0.0_15001.no_filter_chain_match: 0
listener.0.0.0.0_15001.worker_0.downstream_cx_active: 4
listener.0.0.0.0_15001.worker_0.downstream_cx_total: 122
listener.0.0.0.0_15001.worker_1.downstream_cx_active: 3
listener.0.0.0.0_15001.worker_1.downstream_cx_total: 131
listener.0.0.0.0_15001.worker_2.downstream_cx_active: 5
listener.0.0.0.0_15001.worker_2.downstream_cx_total: 131
listener.0.0.0.0_15001.worker_3.downstream_cx_active: 4
listener.0.0.0.0_15001.worker_3.downstream_cx_total: 124
listener.0.0.0.0_8088.downstream_cx_active: 1
listener.0.0.0.0_8088.downstream_cx_destroy: 4352384
listener.0.0.0.0_8088.downstream_cx_overflow: 0
listener.0.0.0.0_8088.downstream_cx_overload_reject: 0
listener.0.0.0.0_8088.downstream_cx_total: 4352385
listener.0.0.0.0_8088.downstream_cx_transport_socket_connect_timeout: 0
listener.0.0.0.0_8088.downstream_global_cx_overflow: 0
listener.0.0.0.0_8088.downstream_pre_cx_active: 0
listener.0.0.0.0_8088.downstream_pre_cx_timeout: 0
listener.0.0.0.0_8088.http.ingress.downstream_rq_1xx: 0
listener.0.0.0.0_8088.http.ingress.downstream_rq_2xx: 4349090
listener.0.0.0.0_8088.http.ingress.downstream_rq_3xx: 0
listener.0.0.0.0_8088.http.ingress.downstream_rq_4xx: 33957
listener.0.0.0.0_8088.http.ingress.downstream_rq_5xx: 3301
listener.0.0.0.0_8088.http.ingress.downstream_rq_completed: 4386348
listener.0.0.0.0_8088.no_filter_chain_match: 0
listener.0.0.0.0_8088.worker_0.downstream_cx_active: 0
listener.0.0.0.0_8088.worker_0.downstream_cx_total: 1089759
listener.0.0.0.0_8088.worker_1.downstream_cx_active: 0
listener.0.0.0.0_8088.worker_1.downstream_cx_total: 1085223
listener.0.0.0.0_8088.worker_2.downstream_cx_active: 0
listener.0.0.0.0_8088.worker_2.downstream_cx_total: 1089488
listener.0.0.0.0_8088.worker_3.downstream_cx_active: 1
listener.0.0.0.0_8088.worker_3.downstream_cx_total: 1087915
listener.admin.downstream_cx_active: 2
listener.admin.downstream_cx_destroy: 33962
listener.admin.downstream_cx_overflow: 0
listener.admin.downstream_cx_overload_reject: 0
listener.admin.downstream_cx_total: 33964
listener.admin.downstream_cx_transport_socket_connect_timeout: 0
listener.admin.downstream_global_cx_overflow: 0
listener.admin.downstream_pre_cx_active: 0
listener.admin.downstream_pre_cx_timeout: 0
listener.admin.http.admin.downstream_rq_1xx: 0
listener.admin.http.admin.downstream_rq_2xx: 50935
listener.admin.http.admin.downstream_rq_3xx: 0
listener.admin.http.admin.downstream_rq_4xx: 0
listener.admin.http.admin.downstream_rq_5xx: 0
listener.admin.http.admin.downstream_rq_completed: 50935
listener.admin.main_thread.downstream_cx_active: 2
listener.admin.main_thread.downstream_cx_total: 33964
listener.admin.no_filter_chain_match: 0
listener_manager.lds.init_fetch_timeout: 0
listener_manager.lds.update_attempt: 96
listener_manager.lds.update_failure: 86
listener_manager.lds.update_rejected: 0
listener_manager.lds.update_success: 9
listener_manager.lds.update_time: 1653300787238
listener_manager.lds.version: 17800499387772728049
listener_manager.listener_added: 2
listener_manager.listener_create_failure: 0
listener_manager.listener_create_success: 8
listener_manager.listener_in_place_updated: 0
listener_manager.listener_modified: 0
listener_manager.listener_removed: 0
listener_manager.listener_stopped: 0
listener_manager.total_filter_chains_draining: 0
listener_manager.total_listeners_active: 2
listener_manager.total_listeners_draining: 0
listener_manager.total_listeners_warming: 0
listener_manager.workers_started: 1
main_thread.watchdog_mega_miss: 0
main_thread.watchdog_miss: 0
runtime.admin_overrides_active: 0
runtime.deprecated_feature_seen_since_process_start: 9
runtime.deprecated_feature_use: 9
runtime.load_error: 0
runtime.load_success: 1
runtime.num_keys: 4
runtime.num_layers: 1
runtime.override_dir_exists: 0
runtime.override_dir_not_exists: 1
server.compilation_settings.fips_mode: 0
server.concurrency: 4
server.days_until_first_cert_expiring: 2147483647
server.debug_assertion_failures: 0
server.dropped_stat_flushes: 0
server.dynamic_unknown_fields: 0
server.envoy_bug_failures: 0
server.hot_restart_epoch: 0
server.hot_restart_generation: 1
server.live: 1
server.main_thread.watchdog_mega_miss: 0
server.main_thread.watchdog_miss: 0
server.memory_allocated: 10664800
server.memory_heap_size: 46137344
server.memory_physical_size: 48080486
server.parent_connections: 0
server.seconds_until_first_ocsp_response_expiring: 0
server.state: 0
server.static_unknown_fields: 0
server.stats_recent_lookups: 9129
server.total_connections: 17
server.uptime: 169791
server.version: 3183589
server.wip_protos: 0
server.worker_0.watchdog_mega_miss: 0
server.worker_0.watchdog_miss: 0
server.worker_1.watchdog_mega_miss: 0
server.worker_1.watchdog_miss: 0
server.worker_2.watchdog_mega_miss: 0
server.worker_2.watchdog_miss: 0
server.worker_3.watchdog_mega_miss: 0
server.worker_3.watchdog_miss: 0
tls_inspector.alpn_found: 0
tls_inspector.alpn_not_found: 0
tls_inspector.client_hello_too_large: 0
tls_inspector.connection_closed: 102101
tls_inspector.read_error: 0
tls_inspector.sni_found: 0
tls_inspector.sni_not_found: 0
tls_inspector.tls_found: 0
tls_inspector.tls_not_found: 4352893
vhost.app-3.prod.vcluster.other.upstream_rq_retry: 0
vhost.app-3.prod.vcluster.other.upstream_rq_retry_limit_exceeded: 0
vhost.app-3.prod.vcluster.other.upstream_rq_retry_overflow: 0
vhost.app-3.prod.vcluster.other.upstream_rq_retry_success: 0
vhost.app-3.prod.vcluster.other.upstream_rq_timeout: 0
vhost.app-3.prod.vcluster.other.upstream_rq_total: 0
vhost.app-100035323.prod.vcluster.other.upstream_rq_retry: 0
vhost.app-100035323.prod.vcluster.other.upstream_rq_retry_limit_exceeded: 0
vhost.app-100035323.prod.vcluster.other.upstream_rq_retry_overflow: 0
vhost.app-100035323.prod.vcluster.other.upstream_rq_retry_success: 0
vhost.app-100035323.prod.vcluster.other.upstream_rq_timeout: 0
vhost.app-100035323.prod.vcluster.other.upstream_rq_total: 0
vhost.app-1.prod.vcluster.other.upstream_rq_retry: 0
vhost.app-1.prod.vcluster.other.upstream_rq_retry_limit_exceeded: 0
vhost.app-1.prod.vcluster.other.upstream_rq_retry_overflow: 0
vhost.app-1.prod.vcluster.other.upstream_rq_retry_success: 0
vhost.app-1.prod.vcluster.other.upstream_rq_timeout: 0
vhost.app-1.prod.vcluster.other.upstream_rq_total: 0
vhost.app-100035407.prod.vcluster.other.upstream_rq_retry: 0
vhost.app-100035407.prod.vcluster.other.upstream_rq_retry_limit_exceeded: 0
vhost.app-100035407.prod.vcluster.other.upstream_rq_retry_overflow: 0
vhost.app-100035407.prod.vcluster.other.upstream_rq_retry_success: 0
vhost.app-100035407.prod.vcluster.other.upstream_rq_timeout: 0
vhost.app-100035407.prod.vcluster.other.upstream_rq_total: 0
vhost.default_backend.vcluster.other.upstream_rq_retry: 0
vhost.default_backend.vcluster.other.upstream_rq_retry_limit_exceeded: 0
vhost.default_backend.vcluster.other.upstream_rq_retry_overflow: 0
vhost.default_backend.vcluster.other.upstream_rq_retry_success: 0
vhost.default_backend.vcluster.other.upstream_rq_timeout: 0
vhost.default_backend.vcluster.other.upstream_rq_total: 0
vhost.app-5.prod.vcluster.other.upstream_rq_retry: 0
vhost.app-5.prod.vcluster.other.upstream_rq_retry_limit_exceeded: 0
vhost.app-5.prod.vcluster.other.upstream_rq_retry_overflow: 0
vhost.app-5.prod.vcluster.other.upstream_rq_retry_success: 0
vhost.app-5.prod.vcluster.other.upstream_rq_timeout: 0
vhost.app-5.prod.vcluster.other.upstream_rq_total: 0
vhost.app-2.prod.vcluster.other.upstream_rq_retry: 0
vhost.app-2.prod.vcluster.other.upstream_rq_retry_limit_exceeded: 0
vhost.app-2.prod.vcluster.other.upstream_rq_retry_overflow: 0
vhost.app-2.prod.vcluster.other.upstream_rq_retry_success: 0
vhost.app-2.prod.vcluster.other.upstream_rq_timeout: 0
vhost.app-2.prod.vcluster.other.upstream_rq_total: 0
vhost.self_redirect.vcluster.other.upstream_rq_retry: 0
vhost.self_redirect.vcluster.other.upstream_rq_retry_limit_exceeded: 0
vhost.self_redirect.vcluster.other.upstream_rq_retry_overflow: 0
vhost.self_redirect.vcluster.other.upstream_rq_retry_success: 0
vhost.self_redirect.vcluster.other.upstream_rq_timeout: 0
vhost.self_redirect.vcluster.other.upstream_rq_total: 0
workers.watchdog_mega_miss: 0
workers.watchdog_miss: 0
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_connect_ms: No recorded values
cluster.cds_egress_app-mesh_app-4-canary_prod_http_8080.upstream_cx_length_ms: No recorded values
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_connect_ms: No recorded values
cluster.cds_egress_app-mesh_app-4-primary_prod_http_8080.upstream_cx_length_ms: No recorded values
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_connect_ms: No recorded values
cluster.cds_egress_app-mesh_app-3-canary_prod_http_8080.upstream_cx_length_ms: No recorded values
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.external.upstream_rq_time: P0(1.0,0.0) P25(1.025,1.0220436352221) P50(1.05,1.0487082090723592) P75(1.075,1.075372782922618) P90(1.09,1.0913715272327735) P95(1.095,1.0967044420028254) P99(1.099,9.018068965517234) P99.5(1.0995,18.77846153846174) P99.9(1.0999,26.27911111111098) P100(1.1,3400.0)
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_connect_ms: P0(nan,0.0) P25(nan,0.0) P50(nan,0.0) P75(nan,0.0) P90(nan,0.0) P95(nan,0.0) P99(nan,0.0) P99.5(nan,0.0) P99.9(nan,0.0) P100(nan,0.0)
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_cx_length_ms: P0(nan,9900.0) P25(nan,94250.0) P50(nan,310000.0) P75(nan,865000.0) P90(nan,2930000.000000001) P95(nan,4629999.999999995) P99(nan,11829999.999999983) P99.5(nan,14829999.999999983) P99.9(nan,25565999.999999974) P100(nan,26000000.0)
cluster.cds_egress_app-mesh_app-3-primary_prod_http_8080.upstream_rq_time: P0(1.0,0.0) P25(1.025,1.0220436352221) P50(1.05,1.0487082090723592) P75(1.075,1.075372782922618) P90(1.09,1.0913715272327735) P95(1.095,1.0967044420028254) P99(1.099,9.018068965517234) P99.5(1.0995,18.77846153846174) P99.9(1.0999,26.27911111111098) P100(1.1,3400.0)
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_connect_ms: No recorded values
cluster.cds_egress_app-mesh_app-100035323-canary_prod_http_8080.upstream_cx_length_ms: No recorded values
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_connect_ms: No recorded values
cluster.cds_egress_app-mesh_app-100035323-primary_prod_http_8080.upstream_cx_length_ms: No recorded values
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_connect_ms: No recorded values
cluster.cds_egress_app-mesh_app-1-canary_prod_http_8080.upstream_cx_length_ms: No recorded values
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_connect_ms: No recorded values
cluster.cds_egress_app-mesh_app-1-primary_prod_http_8080.upstream_cx_length_ms: No recorded values
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.external.upstream_rq_time: P0(nan,2.0) P25(nan,4.062862796833773) P50(nan,6.031196054254007) P75(nan,8.033276450511945) P90(nan,13.557142857142853) P95(nan,22.719047619047593) P99(nan,98.80999999999995) P99.5(nan,283.100000000004) P99.9(nan,1835.3999999999967) P100(nan,2900.0)
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.internal.upstream_rq_time: P0(nan,3.0) P25(nan,4.018992248062015) P50(nan,5.002222222222223) P75(nan,6.040217391304348) P90(nan,11.200000000000017) P95(nan,21.69999999999999) P99(nan,157.4000000000001) P99.5(nan,228.70000000000007) P99.9(nan,1357.4000000000012) P100(nan,1400.0)
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_connect_ms: P0(nan,0.0) P25(nan,0.0) P50(nan,0.0) P75(nan,0.0) P90(nan,0.0) P95(nan,0.0) P99(nan,1.077) P99.5(nan,1.0885000000000002) P99.9(nan,1.0977000000000001) P100(nan,1.1)
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_cx_length_ms: P0(nan,15000.0) P25(nan,352750.0) P50(nan,358500.0) P75(nan,412499.99999999994) P90(nan,495400.00000000006) P95(nan,497700.00000000006) P99(nan,499540.00000000006) P99.5(nan,499770.00000000006) P99.9(nan,499954.00000000006) P100(nan,500000.00000000006)
cluster.cds_egress_app-mesh_app-5-canary_prod_http_8080.upstream_rq_time: P0(nan,2.0) P25(nan,4.056482525366404) P50(nan,6.019253208868145) P75(nan,8.016611295681063) P90(nan,13.436065573770497) P95(nan,22.704761904761913) P99(nan,99.17999999999984) P99.5(nan,281.8000000000029) P99.9(nan,1821.2000000000141) P100(nan,2900.0)
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.external.upstream_rq_time: P0(1.0,1.0) P25(3.043661971830986,3.0173005675888924) P50(3.1,3.0584060169513094) P75(4.093023255813954,3.0995114663137264) P90(7.016666666666667,7.009256257237018) P95(9.1,12.174262542955322) P99(31.200000000000003,24.85297527706738) P99.5(31.599999999999994,29.584275862069003) P99.9(31.92,128.9431828978602) P100(32.0,10000.0)
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.internal.upstream_rq_time: P0(2.0,1.0) P25(3.01875,3.017443884401325) P50(3.0625,3.054934545336423) P75(5.0125,3.0924252062715203) P90(5.065,7.068905908096281) P95(5.0825,12.365060093205782) P99(5.0965,22.19343347639488) P99.5(5.09825,26.729669811320676) P99.9(5.0996500000000005,40.47405263157807) P100(5.1,9800.0)
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_connect_ms: P0(nan,0.0) P25(nan,0.0) P50(nan,0.0) P75(nan,0.0)P90(nan,0.0) P95(nan,1.0549180327868852) P99(nan,2.0712500000000005) P99.5(nan,3.0616666666666674) P99.9(nan,10.169999999999959) P100(nan,11.0)
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_cx_length_ms: P0(nan,990.0) P25(nan,998.7215477996965) P50(nan,1059.599027946537) P75(nan,5044.948630136986) P90(nan,3644745.0980392154) P95(nan,3689823.529411765) P99(nan,25504999.99999988) P99.5(nan,46752500.00000005) P99.9(nan,80701000.00000001) P100(nan,90000000.0)
cluster.cds_egress_app-mesh_app-5-primary_prod_http_8080.upstream_rq_time: P0(1.0,1.0) P25(3.0423333333333336,3.0173128848600244) P50(3.098,3.058107663559403) P75(4.09360465116279,3.0989024422587823) P90(7.005,7.011589352961315) P95(9.065000000000001,12.193492287155145) P99(31.165000000000006,24.71263688475983) P99.5(31.582499999999996,29.339922969187562) P99.9(31.9165,126.35210153482933) P100(32.0,10000.0)
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_connect_ms: No recorded values
cluster.cds_egress_app-mesh_app-2-canary_prod_http_8080.upstream_cx_length_ms: No recorded values
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.external.upstream_rq_time: P0(1.0,1.0) P25(1.0351485148514852,1.032650008193971) P50(1.0702970297029704,1.0653000163879416) P75(2.014102564102564,1.0979500245819125) P90(2.0687179487179486,2.0642441219008854) P95(2.086923076923077,2.0881616541568295) P99(3.058000000000001,6.024024797487188) P99.5(5.028999999999999,6.093191105967929) P99.9(5.085800000000001,19.01027272727383) P100(5.1,750.0)
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.internal.upstream_rq_time: P0(nan,1.0) P25(nan,1.03) P50(nan,1.06) P75(nan,1.09) P90(nan,2.0533333333333332) P95(nan,2.0933333333333333) P99(nan,4.076) P99.5(nan,4.088) P99.9(nan,4.0976) P100(nan,4.1)
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_connect_ms: P0(nan,0.0) P25(nan,0.0) P50(nan,0.0) P75(nan,0.0) P90(nan,1.046) P95(nan,1.083) P99(nan,3.063) P99.5(nan,3.0814999999999997) P99.9(nan,3.0963000000000003) P100(nan,3.1)
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_cx_length_ms: P0(nan,15000.0) P25(nan,3650000.0) P50(nan,4300000.0) P75(nan,9450000.0) P90(nan,17400000.000000004) P95(nan,21700000.0) P99(nan,29740000.0) P99.5(nan,29870000.0) P99.9(nan,29974000.0) P100(nan,30000000.0)
cluster.cds_egress_app-mesh_app-2-primary_prod_http_8080.upstream_rq_time: P0(1.0,1.0) P25(1.0351485148514852,1.032649925476211) P50(1.0702970297029704,1.0652998509524219) P75(2.014102564102564,1.0979497764286328) P90(2.0687179487179486,2.0642439347860884) P95(2.086923076923077,2.0881617428486496) P99(3.058000000000001,6.024020829889238) P99.5(5.028999999999999,6.093189122168954) P99.9(5.085800000000001,19.009181818184018) P100(5.1,750.0)
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.external.upstream_rq_time: P0(1.0,1.0) P25(2.0383177570093456,3.006821652908589) P50(3.0140845070422535,3.058425962349539) P75(4.075,4.038239950124115) P90(6.005454545454546,6.080137074867902) P95(7.08,11.887640259415578) P99(15.95999999999998,24.073976911976935) P99.5(31.24000000000001,29.683882378472237) P99.9(31.848000000000013,149.38917539267146) P100(32.0,11000.0)
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.internal.upstream_rq_time: P0(3.0,1.0) P25(3.058333333333333,3.038612681206665) P50(4.025,3.077959543503773) P75(5.025,4.053480702184691) P90(6.03,8.020957661290321) P95(6.0649999999999995,12.801542989653944) P99(6.093,23.354771573604133)P99.5(6.0965,27.948482905982935) P99.9(6.0993,67.46300000000822) P100(6.1,11000.0)
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_connect_ms: P0(nan,0.0) P25(nan,0.0) P50(nan,0.0) P75(nan,0.0) P90(nan,0.0) P95(nan,1.0795652173913042) P99(nan,2.088111111111111) P99.5(nan,3.0143333333333335) P99.9(nan,3.0828666666666664) P100(nan,3.1)
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_cx_length_ms: P0(nan,14000.0) P25(nan,3633380.2816901407) P50(nan,3668450.704225352) P75(nan,4422000.0) P90(nan,16099999.999999994) P95(nan,29699999.99999999) P99(nan,72019999.99999999) P99.5(nan,91509999.99999999) P99.9(nan,105020000.00000009) P100(nan,110000000.0)
cluster.cds_ingress_app-mesh_appmesh-gateway_prod_self_redirect_http_15001.upstream_rq_time: P0(1.0,1.0) P25(2.0399532710280375,3.0094095172078967) P50(3.0182432432432433,3.060016041689934) P75(4.078409090909091,4.03974196054733) P90(6.0075,6.081804386549366) P95(7.074166666666667,11.95779825126059) P99(15.889999999999986,24.03443112176918) P99.5(31.222499999999997,29.558283279220916) P99.9(31.84450000000001,148.29730220492954) P100(32.0,11000.0)
cluster_manager.cds.update_duration: P0(nan,0.0) P25(nan,0.0) P50(nan,0.0) P75(nan,0.0) P90(nan,13.1) P95(nan,13.549999999999999) P99(nan,13.91) P99.5(nan,13.955) P99.9(nan,13.991) P100(nan,14.0)
http.admin.downstream_cx_length_ms: P0(0.0,0.0) P25(0.0,0.0) P50(0.0,2.000059998800024) P75(2.05,2.0510019799604007) P90(2.08,2.081567168656627) P95(2.09,2.091755564888702) P99(2.098,2.0999062818743623) P99.5(2.099,3.05448409893993) P99.9(2.0998,4.041400000000003) P100(2.1,879999.9999999999)
http.admin.downstream_rq_time: P0(2.0,0.0) P25(2.05,2.0552172760996292) P50(2.1,15.472178507194245) P75(19.5,17.949607548430194) P90(19.8,19.321118755608733) P95(19.9,20.23757497857755) P99(19.98,22.659392014519057) P99.5(19.99,22.8904945553539) P99.9(19.998,23.92294444444447) P100(20.0,38.0)
http.egress.downstream_cx_length_ms: P0(nan,3600000.0) P25(nan,3634647.8873239434) P50(nan,3669295.7746478873) P75(nan,4428000.0) P90(nan,16400000.000000006) P95(nan,29799999.999999993) P99(nan,72079999.99999999) P99.5(nan,91540000.00000001) P99.9(nan,105079999.99999982) P100(nan,110000000.0)
http.egress.downstream_rq_time: P0(1.0,0.0) P25(2.000704225352113,3.000075741829494) P50(3.009333333333333,3.047658772535418) P75(4.025675675675676,3.0952418032413425) P90(5.095,6.063754737214434) P95(7.041666666666667,11.74336073367112) P99(15.899999999999977,23.774528795811406) P99.5(31.224999999999994,29.316057017544008) P99.9(31.845,148.0518783068792) P100(32.0,11000.0)
http.egress.rds.rds_egress_http_15001.update_duration: P0(nan,1.0) P25(nan,1.025) P50(nan,1.05) P75(nan,1.075) P90(nan,1.09) P95(nan,1.095) P99(nan,1.099) P99.5(nan,1.0995) P99.9(nan,1.0999) P100(nan,1.1)
http.egress.user_agent.ios.downstream_cx_length_ms: P0(nan,3600000.0) P25(nan,3635106.3829787234) P50(nan,3670212.765957447) P75(nan,6950000.0) P90(nan,21799999.999999996) P95(nan,47399999.99999999) P99(nan,69840000.0) P99.5(nan,91340000.0) P99.9(nan,91868000.0) P100(nan,92000000.0)
http.ingress.downstream_cx_length_ms: P0(2.0,1.0) P25(3.04453125,4.016042704988579) P50(4.060869565217391,4.098696623511976) P75(5.087068965517242,5.0869566329451255) P90(7.0875,8.036492270395316) P95(9.03,13.393543493188965) P99(16.899999999999977,25.32678497485961) P99.5(32.224999999999994,31.00438400743826) P99.9(32.845,150.64532567049338) P100(33.0,879999.9999999999)
http.ingress.downstream_rq_time: P0(1.0,1.0) P25(2.0518,3.014656273915426) P50(3.0296610169491527,3.076407388490412) P75(4.097972972972973,4.0675015017168885) P90(6.022307692307693,6.092430411515358) P95(7.090833333333333,12.200154059227208) P99(15.889999999999986,24.158241143567352) P99.5(31.222499999999997,29.72537008481123) P99.9(31.84450000000001,148.4579743589752) P100(32.0,11000.0)
http.ingress.rds.rds_ingress_http_8088.update_duration: P0(nan,0.0) P25(nan,0.0) P50(nan,0.0) P75(nan,0.0) P90(nan,4.01) P95(nan,4.055) P99(nan,4.091) P99.5(nan,4.0955) P99.9(nan,4.0991) P100(nan,4.1)
http.ingress.user_agent.android.downstream_cx_length_ms: P0(3.0,2.0) P25(3.025,2.0838487972508593) P50(3.05,3.0480487804878047) P75(3.075,4.013362068965518)P90(3.09,4.076465517241379) P95(3.095,4.0975) P99(3.099,8.0248) P99.5(3.0995,9.056000000000001) P99.9(3.0999,140.24) P100(3.1,150.0)
http.ingress.user_agent.ios.downstream_cx_length_ms: P0(3.0,2.0) P25(4.072727272727272,4.058431164943404) P50(5.06,5.030753251260693) P75(7.011111111111111,5.098417906943508) P90(8.07,10.617400793650784) P95(11.699999999999996,14.453390714658312) P99(32.28,26.731525204653114) P99.5(32.64,30.27848526703504) P99.9(32.928,56.70566666666701) P100(33.0,11000.0)
listener.0.0.0.0_15001.downstream_cx_length_ms: P0(nan,3600000.0) P25(nan,3634647.8873239434) P50(nan,3669295.7746478873) P75(nan,4428000.0) P90(nan,16400000.000000006) P95(nan,29799999.999999993) P99(nan,72079999.99999999) P99.5(nan,91540000.00000001) P99.9(nan,105079999.99999982) P100(nan,110000000.0)
listener.0.0.0.0_8088.downstream_cx_length_ms: P0(2.0,1.0) P25(3.042063492063492,4.0145679120410716) P50(4.060294117647059,4.0973874158449375) P75(5.085593220338983,5.086013613560341) P90(7.08235294117647,8.034672148209825) P95(9.03,13.380818700369083) P99(16.899999999999977,25.314193738925084) P99.5(32.224999999999994,30.990860798759094) P99.9(32.845,150.62616858237078) P100(33.0,879999.9999999999)
listener.admin.downstream_cx_length_ms: P0(0.0,0.0) P25(0.0,0.0) P50(0.0,2.0000539665407446) P75(2.05,2.0509654014511005) P90(2.08,2.0815122623973137) P95(2.09,2.0916945493793846) P99(2.098,2.0998403789650415) P99.5(2.099,3.0524505494505503) P99.9(2.0998,4.037737500000003) P100(2.1,879999.9999999999)
listener_manager.lds.update_duration: P0(nan,0.0) P25(nan,0.0) P50(nan,0.0) P75(nan,0.0) P90(nan,11.1) P95(nan,11.549999999999999) P99(nan,11.91) P99.5(nan,11.955) P99.9(nan,11.991) P100(nan,12.0)
server.initialization_time_ms: P0(nan,220.00000000000003) P25(nan,222.50000000000003) P50(nan,225.00000000000003) P75(nan,227.50000000000003) P90(nan,229.00000000000003) P95(nan,229.50000000000003) P99(nan,229.90000000000003) P99.5(nan,229.95000000000002) P99.9(nan,229.99000000000004) P100(nan,230.00000000000003)
Envoy Landscape
一、Envoy 常用概念
A、Listener 监听器
DNS 过滤器
Envoy 支持通过配置UDP 侦听器 DNS Filter来响应 DNS 请求。
DNS 过滤器支持响应 A 和 AAAA 记录的转发查询。答案是从静态配置的资源、集群或外部 DNS 服务器中发现的。过滤器将返回最多 512 个字节的 DNS 响应。如果域配置了多个地址,或者集群配置了多个端点,Envoy 将返回每个发现的地址,但不超过上述大小限制。
B、HTTP 相关
envoy http重定向
配置http过滤器类型为envoy.filters.http.router,我们的用例中需要这个过滤器将地址127.0.0.1:10000上收到的请求路由到www.envoyproxy.io, 除此之外,envoy还有其他过滤器,比如带宽限制过滤器envoy.filters.http.bandwidth_limit,速率限制过滤器envoy.filters.http.ratelimit等。具体可参考:http 过滤器。
指定了cluster的名称为service_envoyproxy_io, 上文中的listener监听到的请求在37行就会被路由到该cluster,listener_0监听来自下游主机的请求后,路由到service_envoyproxy_io,service_envoyproxy_io会将该请求发送给相应的上游端点进行处理。
路线匹配
当 Envoy 匹配路由时,它使用以下过程:
HTTP 请求的主机或:authority标头与虚拟主机匹配。
按顺序检查虚拟主机中的 每个路由条目。如果存在匹配,则使用该路由并且不再进行路由检查。
独立地,按顺序检查虚拟主机中的每个虚拟集群。如果匹配,则使用虚拟集群并且不再进行虚拟集群检查。
HTTP 动态转发代理
通过HTTP 过滤器和 自定义集群的组合,Envoy 支持 HTTP 动态转发代理。这意味着 Envoy 可以在不事先了解所有配置的 DNS 地址的情况下执行 HTTP 代理的角色,同时仍保留 Envoy 的绝大多数优势,包括异步 DNS 解析。实施工作如下:
如果目标 DNS 主机尚未在缓存中,则动态转发代理 HTTP 过滤器用于暂停请求。
Envoy 将开始异步解析 DNS 地址,并在解析完成时解锁任何等待响应的请求。
由于 DNS 地址已在缓存中,因此不会阻止任何未来的请求。解析过程类似于逻辑 DNS服务发现类型,在任何给定时间都会记住一个目标地址。
所有已知主机都存储在动态转发代理集群中,以便它们可以显示在管理输出中。
一个特殊的负载均衡器将在转发期间根据 HTTP 主机/权限标头选择要使用的正确主机。
一段时间未使用的主机会受到将清除它们的 TTL。
当上游集群配置了 TLS 上下文时,Envoy 将自动对解析的主机名执行 SAN 验证,并通过 SNI 指定主机名。
上述实现细节意味着在稳定状态下,Envoy 可以转发大量 HTTP 代理流量,而所有 DNS 解析都在后台异步进行。此外,所有其他 Envoy 过滤器和扩展都可以与动态转发代理支持结合使用,包括身份验证、RBAC、速率限制等 。
HTTP 标头
https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_conn_man/headers
HTTP 过滤器
动态代理转发
C、服务发现
原始目的地
当传入连接通过 iptables REDIRECT 或 TPROXY 目标或使用代理协议重定向到 Envoy 时,可以使用原始目标集群。在这些情况下,路由到原始目标集群的请求被转发到由重定向元数据寻址的上游主机,而无需任何显式主机配置或上游主机发现。当上游主机的空闲时间超过 cleanup_interval(默认为 5000 毫秒)时,连接到上游主机的连接被池化,并且未使用的主机被刷新。如果原始目标地址不可用,则不打开上游连接。Envoy 还可以从HTTP 标头中获取原始目标。原始目标服务发现必须与原始目标负载均衡器一起使用.
原始来源
此过滤器应配置为envoy.filters.listener.original_src名称。
原始源侦听器过滤器在 Envoy 的上游端复制连接的下游远程地址。例如,如果下游连接使用 IP 地址连接到 Envoy 10.1.2.3,那么 Envoy 将使用源 IP 连接到上游10.1.2.3。
D、热重启
易于操作是 Envoy 的主要目标之一。除了强大的统计数据和本地管理界面之外,Envoy 还能够“热”或“实时”重启自身。这意味着 Envoy 可以完全重新加载自身(代码和配置),而不会在排水过程中丢弃现有连接。热重启功能具有以下通用架构:
两个活动进程使用基本的 RPC 协议通过 unix 域套接字相互通信。所有计数器都通过 unix 域从旧进程发送到新进程,并且除了标有NeverImport的那些之外,还会传输仪表。热重启完成后,从旧进程传来的 gauge 会被清理,但 会保留server.hot_restart_generation 统计等特殊的 gauge 。
新进程在向旧进程请求侦听套接字的副本之前,会完全初始化自身(加载配置、执行初始服务发现和健康检查阶段等)。新进程开始监听,然后告诉旧进程开始排空。
在耗尽阶段,旧进程尝试正常关闭现有连接。如何完成取决于配置的过滤器。排水时间可通过 –drain-time-s选项配置,随着时间的推移,排水变得更加激进。
在耗尽序列之后,新的 Envoy 进程告诉旧的 Envoy 进程自行关闭。该时间可通过–parent-shutdown-time-s选项进行配置。
Envoy 的热重启支持被设计为即使新的 Envoy 进程和旧的 Envoy 进程在不同的容器中运行,它也能正常工作。进程之间的通信仅使用 unix 域套接字进行。
源代码分发中包含一个用 Python 编写的示例重启程序/父进程。此父进程可用于标准进程控制实用程序,例如 monit/runit/etc。
E、IP 相关
HTTP 标头
HTTP 标头可以在x-forwarded-for标头中携带请求的原始 IP 地址 。上游服务器可以使用此标头来确定下游远程地址。Envoy 也可以使用这个 header 来选择 Original Src HTTP Filter使用的 IP 地址。
HTTP 标头方法有一些缺点:
它仅适用于 HTTP。
上游主机可能不支持它。
它需要仔细配置。
F、生命周期
术语
Envoy 在其代码库和文档中使用以下术语:
集群:具有一组端点的逻辑服务,Envoy 将请求转发到这些端点。
下游:连接到 Envoy 的实体。这可能是本地应用程序(在边车模型中)或网络节点。在非 Sidecar 模型中,这是一个远程客户端。
端点:实现逻辑服务的网络节点。它们被分组到集群中。集群中的端点位于Envoy 代理的上游。
过滤器:连接或请求处理管道中的模块,提供请求处理的某些方面。Unix 的一个类比是小型实用程序(过滤器)与 Unix 管道(过滤器链)的组合。
过滤器链:一系列过滤器。
侦听器:Envoy 模块,负责绑定到 IP/端口、接受新的 TCP 连接(或 UDP 数据报)并协调面向下游的请求处理方面。
上游:Envoy 在转发服务请求时连接的端点(网络节点)。这可能是本地应用程序(在边车模型中)或网络节点。在非边车模型中,这对应于远程后端。

二、Envoy 启动流程
Envoy 完整配置
从 Envoy 初始化配置文件中,我们可以看出 Istio 中 Envoy sidecar 真正的配置实际上是由两部分组成的。Pilot-agent 在启动 Envoy 时将 xDS server 信息通过静态资源的方式配置到 Envoy 的初始化配置文件中,Envoy 启动后再通过 xDS server 获取网格中的服务信息、路由规则等动态资源。

- Pilot-agent 根据启动参数生成 Envoy 的初始配置文件 envoy-rev0.json,该文件告诉 Envoy 从指定的 xDS server 中获取动态配置信息,并配置了 xDS server 的地址信息,即控制平面的 Pilot 服务器地址。
- Pilot-agent 使用 envoy-rev0.json 启动 Envoy 进程。
- Envoy 根据初始配置获得 Pilot 地址,采用 xDS 接口从 Pilot 获取到 listener,cluster,route 等动态配置信息。
- Envoy 根据获取到的动态配置启动 Listener,并根据 listener 的配置,结合 route 和 cluster 对拦截到的流量进行处理。
二、Envoy 流量
A、流量路由机制分析
重要参考资料!!!:https://www.servicemesher.com/istio-handbook/concepts/sidecar-traffic-route.html
术语
- Host: 能够进行网络通信的实体(如移动设备、服务器上的应用程序)。在此文档中,host 是一个逻辑上的网络应用程序。一个物理硬件上可能运行有多个 host,只要它们是可以独立寻址的。在 EDS 接口中,也使用 “endpoint” 来表示一个应用实例,对应一个 IP + port 的组合。
- Downstream: 下游 host 连接到 Envoy,发送请求并接收响应。
- Upstream: 上游 host 接收来自 Envoy 的连接和请求,并返回响应。
- Listener: 监听器是一个命名网络地址(例如,端口、unix domain socket 等),可以被下游客户端连接。Envoy 中暴露一个或者多个给下游主机连接的监听器。在 Envoy 中,listener 可以绑定到端口上直接对外提供服务,也可以不绑定到端口上,而是接收其他 listener 转发的请求。
- Cluster: 集群是指 Envoy 连接的一组上游主机,集群中的主机是对等的,对外提供相同的服务,这些主机一起组成了一个可以提供负载均衡和高可用的服务集群。Envoy 通过服务发现来发现集群的成员。可以选择通过主动健康检查来确定集群成员的健康状态。Envoy 通过负载均衡策略决定将请求路由到哪个集群成员。
Listeners
Envoy 采用 listener 来接收并处理 downstream 发过来的请求,listener 采用了插件式的架构,可以通过配置不同的 filter 在 listener 中插入不同的处理逻辑。
Listener 可以绑定到 IP Socket 或者 Unix Domain Socket 上,以接收来自客户端的请求;也可以不绑定,而是接收从其他 listener 转发来的数据。Istio 利用了 Envoy listener 的这一特点,通过 VirtualOutboundListener 在一个端口接收所有出向请求,然后再按照请求的端口分别转发给不同的 listener 分别处理。
VirtualOutbound Listener
Istio 在 Envoy 中配置了一个在 15001 端口监听的虚拟入口监听器。Iptable 规则将 Envoy 所在 pod 的对外请求拦截后发向本地的 15001 端口,该监听器接收后并不进行业务处理,而是根据请求的目的端口分发给其他监听器处理。这就是该监听器取名为 “virtual”(虚拟)监听器的原因。
Envoy 是如何做到按请求的目的端口进行分发的呢? 从下面 VirtualOutbound listener 的配置中可以看到 use_original_dest 属性被设置为 true, 这表示该监听器在接收到来自 downstream 的请求后,会将请求转交给匹配该请求原目的地址的 listener(即名字格式为 0.0.0.0_ 请求目的端口 的 listener)进行处理。
如果在 Enovy 的配置中找不到匹配请求目的端口的 listener,则将会根据 Istio 的 outboundTrafficPolicy 全局配置选项进行处理。存在两种情况:
- 如果 outboundTrafficPolicy 设置为 ALLOW_ANY:这表明网格允许发向任何外部服务的请求,无论该服务是否在 Pilot 的服务注册表中。在该策略下,Pilot 将会在下发给 Envoy 的
VirtualOutbound listener 加入一个 upstream cluster 为
PassthroughCluster的 TCP proxy filter,找不到匹配端口 listener 的请求会被该 TCP proxy filter 处理,请求将会被发送到其 IP 头中的原始目的地地址。 - 如果 outboundTrafficPolicy 设置为 REGISTRY_ONLY:只允许发向 Pilot 服务注册表中存在的服务的对外请求。在该策略下,Pilot 将会在下发给 Enovy 的 VirtualOutbound listener 加入一个 upstream cluster 为 BlackHoleCluster 的 TCP proxy filter,找不到匹配端口 listener 的请求会被该 TCP proxy filter 处理,由于 BlackHoleCluster 中没有配置 upstteam host,请求实际上会被丢弃。
下图是 bookinfo 例子中 productpage 服务中 Enovy Proxy 的 Virutal Outbound Listener 配置。由于 outboundTrafficPolicy 的默认配置为 ALLOW_ANY,因此 listener 的 filterchain 中第二个 filter chain 中是一个 upstream cluster 为 PassthroughCluster 的 TCP proxy filter。注意该 filter 没有 filter_chain_match 匹配条件,因此如果进入该 listener 的请求在配置中找不到匹配其目的端口的 listener,就会缺省进入该 filter 进行处理。
filterchain 中的第一个 filter chain 中是一个 upstream cluster 为 BlackHoleCluster 的 TCP proxy filter,该 filter 设置了 filter_chain_match 匹配条件,只有发向 10.40.0.18 这个 IP 的出向请求才会进入该 filter 处理。10.40.0.18 是 productpage 服务自身的IP地址。该 filter 的目的是为了防止服务向自己发送请求可能导致的死循环。
PassthroughCluster
该 cluster 的 type 被设置为 ORIGINAL_DST 类型, 表明任何发向该 cluster 的请求都会被直接发送到其请求中的原始目地的,Envoy 不会对请求进行重新路由。
BlackHoleCluster
这是一个特殊的 cluster ,其中并没有配置后端处理请求的 host。如其名字所表明的一样,请求进入该 cluster 后如同进入了一个黑洞,将被丢弃掉,而不是发向一个 upstream host。
三、Envoy 运维
管理界面
https://www.envoyproxy.io/docs/envoy/latest/operations/admin
request_id
默认UUID格式:xxxxxx-xxx-xxx-xxx-xxxxxxx
查看配置
可以看到,Envoy 中实际生效的配置是由初始化配置文件中的静态配置和从 Pilot 获取的动态配置一起组成的。因此只对 envoy-rev0 .json 进行分析并不能看到网络中流量管理的全貌。那么有没有办法可以看到 Envoy 中实际生效的完整配置呢?Envoy 提供了相应的管理接口,我们可以采用下面的命令导出 productpage-v1 服务 sidecar 的完整配置。
kubectl exec -it productpage-v1-6d8bc58dd7-ts8kw -c istio-proxy curl http://127.0.0.1:15000/config_dump > config_dump
该配置文件的内容如下:
{
"configs": [
{
"@type": "type.googleapis.com/envoy.admin.v3.BootstrapConfigDump",
"bootstrap": {},
"last_updated": "2020-03-11T08:14:03.630Z"
},
{
"@type": "type.googleapis.com/envoy.admin.v3.ClustersConfigDump",
"version_info": "2020-03-11T08:14:06Z/23",
"static_clusters": [
...
],
"dynamic_active_clusters": [
...
]
},
{
"@type": "type.googleapis.com/envoy.admin.v3.ListenersConfigDump",
"version_info": "2020-03-11T08:13:39Z/22",
"static_listeners": [
...
],
"dynamic_listeners": [
...
]
},
{
"@type": "type.googleapis.com/envoy.admin.v3.RoutesConfigDump",
"static_route_configs": [
...
],
"dynamic_route_configs": [
...
]
},
{
"@type": "type.googleapis.com/envoy.admin.v3.SecretsConfigDump",
"dynamic_active_secrets": [
...
]
}
]
}
从导出的文件中可以看到 Envoy 中主要由以下几部分内容组成:
- BootstrapConfigDump: 初始化配置,来自于初始化配置文件中配置的内容。
- ClustersConfigDump: 集群配置,包括对应于外部服务的 outbound cluster 和 自身所在节点服务的 inbound cluster。
- ListenersConfigDump: 监听器配置,包括用于处理对外业务请求的 outbound listener,处理入向业务请求的 inbound listener,以及作为流量处理入口的 virtual listener。
- RoutesConfigDump: 路由配置,用于 HTTP 请求的路由处理。
- SecretsConfigDump: TLS 双向认证相关的配置,包括自身的证书以及用于验证请求方的 CA 根证书。
下面我们对该配置文件中和流量路由相关的配置一一进行详细分析。
Bootstrap
从名字可以看出这是 Envoy 的初始化配置,打开该节点,可以看到其中的内容和 envoy-rev0.json 是一致的,这里不再赘述。 需要注意的是在 bootstrap 部分配置的一些内容也会被用于其他部分,例如 clusters 部分就包含了 bootstrap 中定义的一些静态 cluster 资源。
{
"@type": "type.googleapis.com/envoy.admin.v3.BootstrapConfigDump",
"bootstrap": {
"node": {
...
},
"stats_config": {
...
},
"admin": {
...
},
"dynamic_resources": {
...
},
"static_resources": {
...
},
"tracing": {
...
}
},
"last_updated": "2020-03-11T08:14:03.630Z"
}
Clusters
这部分配置定义了 Envoy 中所有的 cluster,即服务集群,cluster 中包含一个到多个 endpoint,每个 endpoint 都可以提供服务,Envoy 根据负载均衡算法将请求发送到这些 endpoint 中。
从配置文件结构中可以看到,在 productpage 的 clusters 配置中包含 static_clusters 和 dynamic_active_clusters 两部分,其中 static_clusters 是来自于 envoy-rev0.json 的初始化配置中的 prometheus_stats、xDS server、zipkin server 信息。dynamic_active_clusters 是 Envoy 通过 xDS 接口从 Istio 控制平面获取的服务信息。
其中 dynamic cluster 又分为以下几类:
Outbound Cluster
这部分的 cluster 占了绝大多数,该类 cluster 对应于 Envoy 所在节点的外部服务。以 reviews 为例,对于 productpage 来说,reviews 是一个外部服务,因此其 cluster 名称中包含 outbound 字样。
从 reviews 服务对应的 cluster 配置中可以看到,其类型为 EDS,即表示该 cluster 的 endpoint 来自于动态发现,动态发现中 eds_config 则指向了ads,最终指向 static resource 中配置的 xds-grpc cluster,即 Pilot 的地址。
{
"version_info": "2020-03-11T08:13:39Z/22",
"cluster": {
"@type": "type.googleapis.com/envoy.api.v2.Cluster",
"name": "outbound|9080||reviews.default.svc.cluster.local",
"type": "EDS",
"eds_cluster_config": {
"eds_config": {
"ads": {}
},
"service_name": "outbound|9080||reviews.default.svc.cluster.local"
},
"connect_timeout": "1s",
"circuit_breakers": {},
"filters": [],
"transport_socket_matches": []
},
"last_updated": "2020-03-11T08:14:04.664Z"
}
可以通过 Pilot 的调试接口获取该 cluster 的 endpoint:
curl http://10.97.222.108:15014/debug/edsz > pilot_eds_dump
从导出的文件内容可以看到,reviews cluster 配置了3个 endpoint 地址,是 reviews 的 pod ip。
{
"clusterName": "outbound|9080||reviews.default.svc.cluster.local",
"endpoints": [
{
"lbEndpoints": [
{
"endpoint": {
"address": {
"socketAddress": {
"address": "10.40.0.15",
"portValue": 9080
}
}
},
"metadata": {},
"loadBalancingWeight": 1
},
{
"endpoint": {
"address": {
"socketAddress": {
"address": "10.40.0.16",
"portValue": 9080
}
}
},
"metadata": {},
"loadBalancingWeight": 1
},
{
"endpoint": {
"address": {
"socketAddress": {
"address": "10.40.0.17",
"portValue": 9080
}
}
},
"metadata": {},
"loadBalancingWeight": 1
}
],
"loadBalancingWeight": 3
}
]
}
Inbound Cluster
对于 Envoy 来说,inbound cluster 对应于入向请求的 upstream 集群, 即 Envoy 自身所在节点的服务。对于 productpage Pod 上的 Envoy,其对应的 Inbound cluster 只有一个,即 productpage。该 cluster 对应的 host 为127.0.0.1,即回环地址上 productpage 的监听端口。由于 iptable 规则中排除了127.0.0.1,入站请求通过该 Inbound cluster 处理后将跳过 Envoy,直接发送给 productpage 进程处理。
BlackHoleCluster
PassthroughCluster
gRPC Stack
gRPC Landscape
一、Why gRPC?
Cloud Native Interactive Landscape
CNCF 云原生景观全景图:https://landscape.cncf.io/?zoom=400

面对庞大的技术栈,有选择性的进行研究:
- 使用上了解
- 原理上了解
- 设计上了解
- 源码级了解
- 参与贡献
Application layer
偏向 应用层 的技术栈:

messaging

mesh

rpc

serverless framework

gRPC
云原生 应用层 技术栈,大量使用了gRPC作为网络通讯的协议/框架
gRPC-go
尤其是go-sdk,在大量sidecar模式架构中进行使用。
Go语言gRPC技术栈

Why gRPC?
鉴于 gRPC 在应用层技术栈的广泛使用和重要性,对其有源码级了解是有价值的。
二、gRPC协议
设计原则
● 服务非对象、消息非引用 —— 促进微服务的系统间粗粒度消息交互设计理念,同时避免分布式对象的陷阱和分布式计算的谬误。
和 DCOM 及 EJB 完全相反的。只有数据,不包含逻辑
分布式计算谬误
- 网络可靠;
- 延迟为零;
- 带宽是无限的;
- 网络安全;
- 拓扑不变;
- 有一名管理员;
- 运输成本为零;
- 网络是同质的。
● 普遍并且简单 —— 该基础框架应该在任何流行的开发平台上适用,并且易于被个人在自己的平台上构建。它在CPU和内存有限的设备上也应该切实可行。
协议的设计应考虑全面的应用场景:边缘节点、serverless等
● 免费并且开源 —— 所有人可免费使用基本特性。以友好的许可协议开源方式发布所有交付件。
避免具体技术锁定,应是可插拔的
● 互通性 —— 该报文协议(Wire Protocol)必须遵循普通互联网基础框架。
同现有网络设施的兼容性和连通性
- over HTTP
- over TCP
- over UDP
● 通用并且高性能 —— 该框架应该适用于绝大多数用例场景,相比针对特定用例的框架,该框架只会牺牲一点性能。
要通用性,不要极端性能优化
● 分层的 —— 该框架的关键是必须能够独立演进。对报文格式(Wire Format)的修改不应该影响应用层。
抽象的编程模型,与具体实现解耦
● 负载无关的 —— 不同的服务需要使用不同的消息类型和编码,例如protocol buffers、JSON、XML和Thrift,协议上和实现上必须满足这样的诉求。类似地,对负载压缩的诉求也因应用场景和负载类型不同而不同,协议上应该支持可插拔的压缩机制。
Payload agnostic,RPC 框架不应该规定用的是什么 payload 格式
● 流 —— 存储系统依赖于流和流控来传递大数据集。像语音转文本或股票代码等其它服务,依靠流表达时间相关的消息序列。
在某种程度上,可以将其理解为类似消息系统的消息队列。
● 阻塞式和非阻塞式 —— 支持异步和同步处理在客户端和服务端间交互的消息序列。这是在某些平台上缩放和处理流的关键。
用户态线程阻塞模型性能较差,应使用NIO编程模型,支持异步非阻塞式的交互。
● 取消和超时 —— 有的操作可能会用时很长,客户端运行正常时,可以通过取消操作让服务端回收资源。当任务因果链被追踪时,取消可以级联。客户端可能会被告知调用超时,此时服务就可以根据客户端的需求来调整自己的行为。
支持重置功能(RST_STREAM 帧)
● Lameducking —— 服务端必须支持优雅关闭,优雅关闭时拒绝新请求,但继续处理正在运行中的请求。
优先级设计(Http2)
- 针对流ID
- 流级联设计
● 流控 —— 在客户端和服务端之间,计算能力和网络容量往往是不平衡的。流控可以更好的缓冲管理,以及保护系统免受来自异常活跃对端的拒绝服务(DOS)攻击。
维护缓冲区:窗口/背压/租约
基于HTTP2缓冲区的流控机制 基于应用层语义的流控
● 可插拔的 —— 数据传输协议(Wire Protocol)只是功能完备API基础框架的一部分。大型分布式系统需要安全、健康检查、负载均衡和故障恢复、监控、跟踪、日志等。实现上应该提供扩展点,以允许插入这些特性和默认实现。
● API扩展 —— 可能的话,在服务间协作的扩展应该最好使用接口扩展,而不是协议扩展。这种类型的扩展可以包括健康检查、服务内省、负载监测和负载均衡分配。
● 元数据交换 —— 常见的横切关注点,如认证或跟踪,依赖数据交换,但这不是服务公共接口中的一部分。部署依赖于他们将这些特性以不同速度演进到服务暴露的个别API的能力。
metadata与payload分离
● 标准化状态码 —— 客户端通常以有限的方式响应API调用返回的错误。应该限制状态代码名字空间,使得这些错误处理决定更清晰。如果需要更丰富的特定域的状态,可以使用元数据交换机制来提供。
● 对端平等 —— 人机交互强调 客户端->服务端 模型,机器之间交互任意一端都可作为客户端/服务端
● 长链接 —— 为服务端推送和双向流交互提供基础。
完善的应用层状态码命名空间
HTTP2
交互分析

- Magic
- SETTINGS
- HEADERS
- DATA
- SETTINGS
- WINDOW_UPDATE
- PING
- HEADERS
- DATA
- HEADERS
- WINDOW_UPDATE
- PING
主链路
- Magic
- Settings
流链路
- Settings
- Headers
- data
- Window_update
控制链路
- Window_update
- Ping

- 在建立连接之前,客户端/服务端都会发送连接前言(Magic+SETTINGS),确立协议和配置项。
- 在传输数据时,是会涉及滑动窗口(WINDOW_UPDATE)等流控策略的。
- 传播 gRPC 附加信息时,是基于 HEADERS 帧进行传播和设置;而具体的请求/响应数据是存储的 DATA 帧中的。
- 请求/响应结果会分为 HTTP 和 gRPC 状态响应两种类型。
- 客户端发起 PING,服务端就会回应 PONG,反之亦可。
grpc
语义概念
gRPC 引入了三个新概念:通道、远程过程调用(RPC) 和消息。三者之间的关系很简单:每个通道可能有很多 RPC,而每个 RPC 可能有很多消息。


通道是 gRPC 中的一个关键概念。HTTP/2 中的流支持在单个连接上进行多个并发会话;通道通过在多个并发连接上启用多个流来扩展这个概念。
通道代表到端点的虚拟连接,实际上可能由许多 HTTP/2 连接支持。RPC 与连接相关联。RPC 实际上是普通的 HTTP/2 流。消息与 RPC 相关联并作为 HTTP/2 数据帧发送。更具体地说,消息是在数据帧之上分层的。一个数据帧可能有很多 gRPC 消息,或者如果一个 gRPC 消息非常大它可能跨越多个数据帧。
gRPC 对 16kb 的数据帧使用 HTTP/2 默认的最大大小。超过 16kb 的消息可能跨越多个数据帧,而低于该大小的消息可能与一些其他消息共享一个数据帧。
并非与HTTP2强绑定?
- Channel
- Conns
- 负载均衡
- RPC
- Conn
- Stream
- Message
- Frame m:n
三、gRPC框架
主链路
- 启动net server *
- Stub
- Contact
- proto
- Channel
- 生命周期
- 业务executor
- Contact
- Channel
- 创建ClientCall(RPC)
- 将ClientCall转化成realCall(H2 Conn)
- 将realCall转化成realStream (H2 Stream)
- 执行realStream
- 获取Response
H2 Conn:
startCall
call.sendMessage
call.halfMessage
TODO
https://juejin.cn/post/6844903984524705800 https://grpc.io/docs/what-is-grpc/core-concepts/ https://grpc.io/blog/grpc-on-http2/ https://grpc.io/blog/yikyak/ https://grpc.io/blog/grpc-load-balancing/ https://segmentfault.com/a/1190000019608421
Istio Stack
Istio devops
请求的生命周期
在这些示例中,我们将介绍应用程序运行时会发生什么curl example.com。虽然在curl这里使用,但同样适用于几乎所有客户端。
当您向域发送请求时,客户端将执行 DNS 解析以将其解析为 IP 地址。无论 Istio 设置如何,都会发生这种情况,因为 Istio 只拦截网络流量;它不能改变您的应用程序的行为或发送 DNS 请求的决定。在下面的示例中,example.com解析为192.0.2.0.
$ curl example.com -v
- Trying 192.0.2.0:80…
接下来,请求将被 Istio 拦截。此时,Istio 将同时看到主机名(来自Host: example.com标头)和目标地址 ( 192.0.2.0:80)。Istio 使用此信息来确定预期目的地。 了解流量路由可以深入了解此行为的工作原理。
如果客户端无法解析 DNS 请求,请求将在 Istio 收到之前终止。这意味着如果将请求发送到 Istio 已知的主机名(例如 a VirtualService)但不发送到 DNS 服务器,则请求将失败。Istio DNS 代理可以改变这种行为。
一旦 Istio 确定了预期的目的地,它必须选择要发送到的地址。由于 Istio 的高级负载均衡功能,这通常不是客户端发送的原始 IP 地址。根据服务配置,Istio 有几种不同的方式来执行此操作。
使用客户端的原始 IP 地址(192.0.2.0在上面的示例中)。这是ServiceEntrytype resolution: NONE(默认)和headlessServices的情况。 在一组静态 IP 地址上进行负载平衡。这是ServiceEntrytype的情况,将使用resolution: STATICall ,或 standard ,将使用 all 。spec.endpointsServicesEndpoints 使用 DNS 定期解析地址,并对所有结果进行负载平衡。这是ServiceEntrytype的情况resolution: DNS。 请注意,在所有情况下,Istio 代理中的 DNS 解析都与用户应用程序中的 DNS 解析正交。即使客户端进行 DNS 解析,代理也可能会忽略解析的 IP 地址并使用自己的 IP 地址,这可能来自静态 IP 列表或通过自己的 DNS 解析(可能是相同的主机名或不同的主机名)。
DNS 代理 3分钟阅读 页面测试
除了捕获应用程序流量之外,Istio 还可以捕获 DNS 请求以提高网格的性能和可用性。在代理 DNS 时,来自应用程序的所有 DNS 请求都将被重定向到 sidecar,其中存储了本地域名到 IP 地址的映射。如果请求可以被 Sidecar 处理,它将直接向应用程序返回响应,避免往返上游 DNS 服务器。否则,请求将按照标准/etc/resolv.confDNS 配置向上游转发。
虽然 Kubernetes 为 Kubernetes 提供了开箱即用的 DNS 解析Service,但任何自定义ServiceEntry的都不会被识别。使用此功能,ServiceEntry无需自定义配置 DNS 服务器即可解析地址。对于 Kubernetes Service,DNS 响应将是相同的,但负载减少kube-dns并提高了性能。
此功能也可用于在 Kubernetes 之外运行的服务。这意味着可以解决所有内部服务,而无需笨拙的变通方法将 Kubernetes DNS 条目暴露在集群之外。
入门 默认情况下当前未启用此功能。要启用它,请使用以下设置安装 Istio:
$ cat «EOF | istioctl install -y -f - apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: defaultConfig: proxyMetadata:
Enable basic DNS proxying
ISTIO_META_DNS_CAPTURE: “true”
Enable automatic address allocation, optional
ISTIO_META_DNS_AUTO_ALLOCATE: “true” EOF
这也可以使用proxy.istio.io/configannotation在每个 pod 的基础上启用。
使用 部署到 VM 时,默认情况下将启用基本 DNS 代理。istioctl workload entry configure DNS 捕获在行动 要尝试 DNS 捕获,首先ServiceEntry为一些外部服务设置一个:
apiVersion: networking.istio.io/v1beta1 kind: ServiceEntry metadata: name: external-address spec: addresses:
- 198.51.100.0 hosts:
- address.internal ports:
- name: http number: 80 protocol: HTTP
如果没有 DNS 捕获,请求address.internal可能无法解析。启用此功能后,您应该根据配置获得响应address:
$ curl -v address.internal
- Trying 198.51.100.1:80…
地址自动分配 在上面的示例中,您有一个用于发送请求的服务的预定义 IP 地址。但是,访问没有稳定地址的外部服务是很常见的,而是依赖 DNS。在这种情况下,DNS 代理将没有足够的信息来返回响应,并且需要向上游转发 DNS 请求。
这对于 TCP 流量来说尤其成问题。与基于Host标头路由的 HTTP 请求不同,TCP 携带的信息要少得多。您只能在目标 IP 和端口号上进行路由。因为后端没有一个稳定的IP,所以也不能基于它进行路由,只留下端口号,当多个ServiceEntryTCP服务共享同一个端口时,会导致冲突。
为了解决这些问题,DNS 代理还支持为ServiceEntry未明确定义地址的 s 自动分配地址。这是由ISTIO_META_DNS_AUTO_ALLOCATE选项配置的。
启用此功能后,DNS 响应将为每个ServiceEntry. 然后将代理配置为将请求匹配到此 IP 地址,并将请求转发到相应的ServiceEntry.
由于此功能会修改 DNS 响应,因此它可能无法与所有应用程序兼容。 要尝试这一点,请配置另一个ServiceEntry:
apiVersion: networking.istio.io/v1beta1 kind: ServiceEntry metadata: name: external-auto spec: hosts:
- auto.internal ports:
- name: http number: 80 protocol: HTTP resolution: STATIC endpoints:
- address: 198.51.100.2
现在,发送请求:
$ curl -v auto.internal
- Trying 240.240.0.1:80…
如您所见,请求被发送到一个自动分配的地址,240.240.0.1. 这些地址将从240.240.0.0/16保留的 IP 地址范围中挑选,以避免与实际服务发生冲突。
Istio Landscape
参考文档:https://www.servicemesher.com/istio-handbook/concepts/sidecar-injection.html
一、Istio Sidecar
Sidecar模式是什么
Sidecar模式是一种单节点、多容器的应用设计形式。Sidecar主张以额外的容器来扩展或增强主容器,而这个额外的容器被称为Sidecar容器
sidecar 模式也符合当前微服务的以下特点:
- 隔离(separation of concerns):让每个容器环境不需要相互依赖而独立运行,也就意味着sidecar程序可以和任何语言的应用服务一起运行。
- 单一责任原则(single responsibility principle),各个容器负责自己的处理逻辑,各司其职
- 内聚性/可重用性(Cohesiveness/Reusability)

在软件架构中, Sidecar 连接到父应用并且为其添加扩展或者增强功能。Sidecar 应用与主应用程序松散耦合。它可以屏蔽不同编程语言的差异,统一实现微服务的可观察性、监控、日志记录、配置、断路器等功能。
使用 Sidecar 模式的优势
使用 sidecar 模式部署服务网格时,无需在节点上运行代理,但是集群中将运行多个相同的 sidecar 副本。在 sidecar 部署方式中,每个应用的容器旁都会部署一个伴生容器(如 Envoy 或 MOSN),这个容器称之为 sidecar 容器。Sidecar 接管进出应用容器的所有流量。在 Kubernetes 的 Pod 中,在原有的应用容器旁边注入一个 Sidecar 容器,两个容器共享存储、网络等资源,可以广义的将这个包含了 sidecar 容器的 Pod 理解为一台主机,两个容器共享主机资源。
因其独特的部署结构,使得 sidecar 模式具有以下优势:
- 将与应用业务逻辑无关的功能抽象到共同基础设施,降低了微服务代码的复杂度。
- 因为不再需要编写相同的第三方组件配置文件和代码,所以能够降低微服务架构中的代码重复度。 Sidecar 可独立升级,降低应用程序代码和底层平台的耦合度。
Sidecar模式
借助于K8S良好的可拓展性,使用sidecar模式可以享受到分布式系统中的规模化效率红利。相比于这种效率提升,我们可以容许性能上的开销。
Sidecar实现
该如何实现一个sidecar
- 在设计sidecar服务时,请慎重决定进程间通信机制。除非达不到性能要求,否则请尽量使用不区分语言或框架的技术。
- 在将功能放入sidecar之前,请考虑该功能是作为独立的服务还是更传统的守护程序运行更有利。
- 此外,请考虑是否能够以库的形式或使用传统扩展机制实现功能.特定于语言的库可能提供更深度的集成和更少的网络开销。
func main() {
if err := rootCmd.Execute(); err != nil {
log.Error(err)
os.Exit(-1)
}
}
A、Sidecar VM
- 创建虚拟机
- 设置环境变量
- 安装依赖包
- 上传脚本到虚拟机
- 命令行启动多个可执行文件
B、Sidecar docker
借助 docker-compose.yml 文件,开发人员可定义一组相关服务,通过部署命令将其部署为组合应用程序。 它还配置其依赖项关系和运行时配置。多个容器使用同一个network。
- dockerfile -> image
- imges -> docker-compose
- docker-compose -> image

version: '3.4'
services:
webmvc:
image: eshop/web
environment:
- CatalogUrl=http://catalog-api
- OrderingUrl=http://ordering-api
ports:
- "80:80"
depends_on:
- catalog-api
- ordering-api
catalog-api:
image: eshop/catalog-api
environment:
- ConnectionString=Server=sqldata;Port=1433;Database=CatalogDB;…
ports:
- "81:80"
depends_on:
- sqldata
ordering-api:
image: eshop/ordering-api
environment:
- ConnectionString=Server=sqldata;Database=OrderingDb;…
ports:
- "82:80"
extra_hosts:
- "CESARDLBOOKVHD:10.0.75.1"
depends_on:
- sqldata
sqldata:
image: mcr.microsoft.com/mssql/server:latest
environment:
- SA_PASSWORD=Pass@word
- ACCEPT_EULA=Y
ports:
- "5433:1433"
istio dockerfile
# BASE_DISTRIBUTION is used to switch between the old base distribution and distroless base images
ARG BASE_DISTRIBUTION=debug
# Version is the base image version from the TLD Makefile
ARG BASE_VERSION=latest
# The following section is used as base image if BASE_DISTRIBUTION=debug
FROM gcr.io/istio-release/base:${BASE_VERSION} as debug
# The following section is used as base image if BASE_DISTRIBUTION=distroless
# This image is a custom built debian11 distroless image with multiarchitecture support.
# It is built on the base distroless image, with iptables binary and libraries added
# The source can be found at https://github.com/istio/distroless/tree/iptables
# This version is from commit 105e1319a176a5156205b9e351b4e2016363f00d.
FROM gcr.io/istio-release/iptables@sha256:bae9287d64be13179b7bc794ec3db26bd5c5fe3fb591c484992366314c9a7d3d as distroless
# This will build the final image based on either debug or distroless from above
# hadolint ignore=DL3006
FROM ${BASE_DISTRIBUTION:-debug}
WORKDIR /
ARG proxy_version
ARG istio_version
ARG SIDECAR=envoy
# Copy Envoy bootstrap templates used by pilot-agent
COPY envoy_bootstrap.json /var/lib/istio/envoy/envoy_bootstrap_tmpl.json
COPY gcp_envoy_bootstrap.json /var/lib/istio/envoy/gcp_envoy_bootstrap_tmpl.json
# Install Envoy.
ARG TARGETARCH
COPY ${TARGETARCH:-amd64}/${SIDECAR} /usr/local/bin/${SIDECAR}
# Environment variable indicating the exact proxy sha - for debugging or version-specific configs
ENV ISTIO_META_ISTIO_PROXY_SHA $proxy_version
# Environment variable indicating the exact build, for debugging
ENV ISTIO_META_ISTIO_VERSION $istio_version
ARG TARGETARCH
COPY ${TARGETARCH:-amd64}/pilot-agent /usr/local/bin/pilot-agent
COPY stats-filter.wasm /etc/istio/extensions/stats-filter.wasm
COPY stats-filter.compiled.wasm /etc/istio/extensions/stats-filter.compiled.wasm
COPY metadata-exchange-filter.wasm /etc/istio/extensions/metadata-exchange-filter.wasm
COPY metadata-exchange-filter.compiled.wasm /etc/istio/extensions/metadata-exchange-filter.compiled.wasm
# The pilot-agent will bootstrap Envoy.
ENTRYPOINT ["/usr/local/bin/pilot-agent"]
C、Sidecar k8s
1、基于docker进行注入
Kompose是个转换工具,可将 compose(即 Docker Compose)所组装的所有内容 转换成容器编排器(Kubernetes 或 OpenShift)可识别的形式。
要将 docker-compose.yml 转换为 kubectl 可用的文件,请运行 kompose convert 命令进行转换,然后运行 kubectl create -f
2、控制面进行注入
实现机制
K8S作为云原生操作系统的定位,其设计理念是"微内核"架构。
- 单体进程,往往采用Filter机制。
- 分布式系统,通过webhook机制将自定义插件注入到分布式集群中。
- in-proxy模式,通过沙箱+远程脚本,实现非侵入性的单体进程内filter机制。
Kubernetes 的 apiserver 一开始就有 AdmissionController 的设计,这个设计和各类 Web 框架中的 Filter 很像,就是一个插件化的责任链,责任链中的每个插件针对 apiserver 收到的请求做一些操作或校验。分类
- MutatingWebhookConfiguration,操作 api 对象的, 会对request的resource,进行转换,比如填充默认的request/limit(有副作用)
- ValidatingWebhookConfiguration,校验 api 对象的, 比如校验Pod副本数必须大于2。(无副作用)
Kubernetes 中的许多高级功能需要启用准入控制器才能正确支持该功能。

K8S准入控制器
通过创建webhook资源,利用k8s的webhook能力实现pod的自动注入。
基于 Kubernetes 的 突变 webhook 入驻控制器(mutating webhook addmission controller 的自动 sidecar 注入方式。
实现流程大致如下:
- 定义webhook监听pod(node)
- 注册到webhook(master)
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
name: "pod-policy.example.com"
webhooks:
- name: "pod-policy.example.com"
rules:
- apiGroups: [""]
apiVersions: ["v1"]
operations: ["CREATE"]
resources: ["pods"]
scope: "Namespaced"
clientConfig:
service:
namespace: "example-namespace"
name: "example-service"
caBundle: "Ci0tLS0tQk...<base64-encoded PEM bundle containing the CA that signed the webhook's serving certificate>...tLS0K"
admissionReviewVersions: ["v1", "v1beta1"]
sideEffects: None
timeoutSeconds: 5
自动化和规模化
Kubernetes虽然提供了多种容器编排对象,例如Deployment、StatefulSet、DeamonSet、Job等,还有多种基础资源封装例如ConfigMap、Secret、Serivce等,但是一个应用往往有多个服务,有的可能还要依赖持久化存储,当这些服务之间直接互相依赖,需要有一定的组合的情况下,使用YAML文件的方式配置应用往往十分繁琐还容易出错,这时候就需要服务编排工具。

- 编写k8s资源文件集合
- 通过打包格式进行管理
- 上传到镜像仓库
- 通过k8s包管理工具helm进行安装
D、Sidecar istio
sidecar injector 准入控制器
Istio 使用 ValidatingAdmissionWebhooks 验证 Istio 配置,使用 MutatingAdmissionWebhooks 自动将 Sidecar 代理注入至用户 Pod。
它使用 MutatingWebhook 机制在 pod 创建的时候将 sidecar 的容器和卷添加到每个 pod 的模版里。

containers:
- image: docker.io/istio/examples-bookinfo-productpage-v1:1.15.0 # 应用镜像
name: productpage
ports:
- containerPort: 9080
- args:
- proxy
- sidecar
- --domain
- $(POD_NAMESPACE).svc.cluster.local
- --configPath
- /etc/istio/proxy
- --binaryPath
- /usr/local/bin/envoy
- --serviceCluster
- productpage.$(POD_NAMESPACE)
- --drainDuration
- 45s
- --parentShutdownDuration
- 1m0s
- --discoveryAddress
- istiod.istio-system.svc:15012
- --zipkinAddress
- zipkin.istio-system:9411
- --proxyLogLevel=warning
- --proxyComponentLogLevel=misc:error
- --connectTimeout
- 10s
- --proxyAdminPort
- "15000"
- --concurrency
- "2"
- --controlPlaneAuthPolicy
- NONE
- --dnsRefreshRate
- 300s
- --statusPort
- "15020"
- --trust-domain=cluster.local
- --controlPlaneBootstrap=false
image: docker.io/istio/proxyv2:1.5.1 # sidecar proxy
name: istio-proxy
ports:
- containerPort: 15090
name: http-envoy-prom
protocol: TCP
initContainers:
- command:
- istio-iptables
- -p
- "15001"
- -z
- "15006"
- -u
- "1337"
- -m
- REDIRECT
- -i
- '*'
- -x
- ""
- -b
- '*'
- -d
- 15090,15020
image: docker.io/istio/proxyv2:1.5.1 # init 容器
name: istio-init
配置管理设计
1. 启动静态配置
启动的最小配置集,可以和镜像集成在一起。
2. 静态自定义配置
可以使用K8S的静态配置进行配置:
- k8s config
- k8s crd
3. 灵活的动态配置
控制面下发,全量/增量推送:
- xDS
二、Istio polit-agent
- Init 容器 istio-init:用于 pod 中设置 iptables 端口转发
- Sidecar 容器 istio-proxy:运行 sidecar 代理,如 Envoy 或 MOSN。

init
Init 容器是一种专用容器,它在应用程序容器启动之前运行,用来包含一些应用镜像中不存在的实用工具或安装脚本。
一个 Pod 中可以指定多个 Init 容器,如果指定了多个,那么 Init 容器将会按顺序依次运行。只有当前面的 Init 容器必须运行成功后,才可以运行下一个 Init 容器。当所有的 Init 容器运行完成后,Kubernetes 才初始化 Pod 和运行应用容器。
Init 容器使用 Linux Namespace,所以相对应用程序容器来说具有不同的文件系统视图。因此,它们能够具有访问 Secret 的权限,而应用程序容器则不能。
在 Pod 启动过程中,Init 容器会按顺序在网络和数据卷初始化之后启动。每个容器必须在下一个容器启动之前成功退出。如果由于运行时或失败退出,将导致容器启动失败,它会根据 Pod 的 restartPolicy 指定的策略进行重试。然而,如果 Pod 的 restartPolicy 设置为 Always,Init 容器失败时会使用 RestartPolicy 策略。
在所有的 Init 容器没有成功之前,Pod 将不会变成 Ready 状态。Init 容器的端口将不会在 Service中进行聚集。 正在初始化中的 Pod 处于 Pending 状态,但应该会将 Initializing 状态设置为 true。Init 容器运行完成以后就会自动终止。

A、istio sidecar 结构
istio-init容器
该容器存在的意义就是让 sidecar 代理可以拦截所有的进出 pod 的流量,15090 端口(Mixer 使用)和 15092 端口(Ingress Gateway)除外的所有入站(inbound)流量重定向到 15006 端口(sidecar),再拦截应用容器的出站(outbound)流量经过 sidecar 处理(通过 15001 端口监听)后再出站。
1. istio-iptables 进程
istio-iptables [flags]
-p: 指定重定向所有 TCP 流量的 sidecar 端口(默认为 $ENVOY_PORT = 15001)
-m: 指定入站连接重定向到 sidecar 的模式,“REDIRECT” 或 “TPROXY”(默认为 $ISTIO_INBOUND_INTERCEPTION_MODE)
-b: 逗号分隔的入站端口列表,其流量将重定向到 Envoy(可选)。使用通配符 “*” 表示重定向所有端口。为空时表示禁用所有入站重定向(默认为 $ISTIO_INBOUND_PORTS)
-d: 指定要从重定向到 sidecar 中排除的入站端口列表(可选),以逗号格式分隔。使用通配符“*” 表示重定向所有入站流量(默认为 $ISTIO_LOCAL_EXCLUDE_PORTS)
-o:逗号分隔的出站端口列表,不包括重定向到 Envoy 的端口。
-i: 指定重定向到 sidecar 的 IP 地址范围(可选),以逗号分隔的 CIDR 格式列表。使用通配符 “*” 表示重定向所有出站流量。空列表将禁用所有出站重定向(默认为 $ISTIO_SERVICE_CIDR)
-x: 指定将从重定向中排除的 IP 地址范围,以逗号分隔的 CIDR 格式列表。使用通配符 “*” 表示重定向所有出站流量(默认为 $ISTIO_SERVICE_EXCLUDE_CIDR)。
-k:逗号分隔的虚拟接口列表,其入站流量(来自虚拟机的)将被视为出站流量。
-g:指定不应用重定向的用户的 GID。(默认值与 -u param 相同)
-u:指定不应用重定向的用户的 UID。通常情况下,这是代理容器的 UID(默认值是 1337,即 istio-proxy 的 UID)。
-z: 所有进入 pod/VM 的 TCP 流量应被重定向到的端口(默认 $INBOUND_CAPTURE_PORT = 15006)。
istio-proxy容器

使用单容器多进程模型。
1. pilot agent进程
在proxy镜像中,pilot-agent 负责的工作包括:
- 生成envoy的配置:
- 与控制面板通讯,获取xDS配置
- 生成 Envoy 的Bootstrap启动配置
- 启动envoy
- 监控并管理envoy的运行状况
- envoy健康检查
- envoy出错时pilot-agent负责重启envoy
- envoy配置变更后reload envoy
- envoy优雅退出

status server
[/pilot-agent/main/initStatusServer]
envoy检查
对于 ready 检查,调用的路径为/healthz/ready, 并配合设置的端口 applicationPorts 通过 Envoy 的 admin 端口进行对应的端口进行检查,用于决定 Envoy 是否已经 ready 接受相对应的流量。
检查原理是通过本地管理端口,如 http://127.0.0.1:15000/listeners 获取 Envoy 当前监听的全部端口,然后将配置的端口 applicationPorts 在监听的端口中进行查找,来决定 Envoy 是否 ready。

应用端口检查
检查的路径为 /url 路径,在 header 中设置 istio-app-probe-port 端口,使用 访问路径中的 url 来进行检查,最终调用的是 http://127.0.0.1:istio-app-probe-port/url,头部设置的全部参数也都会传递到别检测的服务端口上;
xds proxy
[/pilot-agent/main/istio_agent.NewAgent/initXdsProxy]
2. proxy进程(第三方代理进程)
启动Envoy
[/pilot-agent/main/istio_agent.NewAgent]

sidecar多进程设计模式
1. 开源集成
代理属于第三方提供,istio是对其进行了管理和拓展。
如果代理本身属于istio,是可以实现单进程模型。
2. agent设计思想
由agent负责配置监听和下发。
解耦配置管理和运行时,同时可以对proxy进程进行热重启。
B、流量拦截
iptables
ip netns exec cni-bf783dac-fe05-cb35-4d5a-848449119b19 iptables -L -t nat
-A PREROUTING -p tcp -j ISTIO_INBOUND # PREROUTING全部转发到INBOUND,PREROUTING发生在流入的数据包进入路由表之前
-A OUTPUT -p tcp -j ISTIO_OUTPUT # 由本机产生的数据向外转发的
-A ISTIO_INBOUND -p tcp -m tcp --dport 22 -j RETURN # 22 15090 15021 15020的不转发到ISTIO_REDIRECT
-A ISTIO_INBOUND -p tcp -m tcp --dport 15090 -j RETURN
-A ISTIO_INBOUND -p tcp -m tcp --dport 15021 -j RETURN
-A ISTIO_INBOUND -p tcp -m tcp --dport 15020 -j RETURN
-A ISTIO_INBOUND -p tcp -j ISTIO_IN_REDIRECT # 剩余的流量都转发到ISTIO_REDIRECT
-A ISTIO_IN_REDIRECT -p tcp -j REDIRECT --to-ports 15006 # 转发到15006
-A ISTIO_OUTPUT -s 127.0.0.6/32 -o lo -j RETURN # 127.0.0.6是InboundPassthroughBindIpv4,代表原地址是passthrough的流量都直接跳过,不劫持
-A ISTIO_OUTPUT ! -d 127.0.0.1/32 -o lo -m owner --uid-owner 1337 -j ISTIO_IN_REDIRECT #lo网卡出流量,目标地址不是localhost的,且为同用户的流量进入ISTIO_IN_REDIRECT
-A ISTIO_OUTPUT -o lo -m owner ! --uid-owner 1337 -j RETURN # lo网卡出流量 非同用户的不劫持
-A ISTIO_OUTPUT -m owner --uid-owner 1337 -j RETURN # 剩下的同用户的都跳过
-A ISTIO_OUTPUT ! -d 127.0.0.1/32 -o lo -m owner --gid-owner 1337 -j ISTIO_IN_REDIRECT # lo网卡出流量,目标地址非本地,同用户组的流量进入ISTIO_IN_REDIRECT
-A ISTIO_OUTPUT -o lo -m owner ! --gid-owner 1337 -j RETURN # lo网卡出流量非同组的不劫持
-A ISTIO_OUTPUT -m owner --gid-owner 1337 -j RETURN # 剩余的同用户的不劫持
-A ISTIO_OUTPUT -d 127.0.0.1/32 -j RETURN # 剩余的目标地址为127的不劫持
-A ISTIO_OUTPUT -j ISTIO_REDIRECT # 剩下的都进入 ISTIO_REDIRECT
-A ISTIO_REDIRECT -p tcp -j REDIRECT --to-ports 15001 # 转达到15001 outbond
COMMIT





三、Sidecar 发展
A、sidecar 流量交互
要实现 应用容器(进程) 和 Sidecar容器(进程) 之间的交互。需要完成流量交互的功能。
流量交互模式
对于跨容器(进程)的流量交互,主要有以下两种交互模式:
proxyless sidecar 和 Servicemesh 在方式上的差异:暴露 API 还是代理通讯协议。
1. 流量劫持 servicemesh
在 Servicemesh 中,“零侵入”是一个非常强调的特性,为此不惜引入 iptables 等流量劫持方案。“零侵入”在某些特殊场景下会发挥巨大的优势,如旧有应用不做改造的前提下接入 servicemesh。好处自然不言而喻,但零侵入也有自身的限制:客户端必须能发出符合服务器端要求的网络通讯请求,这个过程外部无法插手。
代理模式强调的是 原协议转发,应用进程无感。往往使用操作系统提供的流量劫持功能。
适合于统一的网络协议栈(HTTP),仅实现原协议层面的控制(路由、重试等)。
应用场景:envoy流量代理
发展方向:内核高性能(eBPF)
eBPF
几乎没有开销是来自代理本身的逻辑。开销是通过注入代理,将网络流量重定向到它,终止连接和启动新的连接而增加的。
2. 流量明确指向 proxyless sidecar
应用进程明确转发,协议自由切换,更丰富的应用层语义。往往使用grpc建立跨进程的链接。
适合异构协议栈,支持更丰富的功能,支持协议之上应用层语义的控制。
应用场景:multi runtime
发展方向:grpc proxyless sidecar
proxyless sidecar
gRPC 项目对 xDS API 有很好的支持,也就是说你可以管理 gRPC 工作负载,而不需要同时部署 Envoy sidecar。
B、multi sidecar
ServiceMesh 在微服务领域已经非常流行,越来越多的公司开始在内部落地,ServiceMesh 带来的业务解耦,平滑升级等优势大大提高了中间件的迭代效率。
不过 ServiceMesh 只解决了服务间通讯的需求,而现实中的分布式应用存在更多的需求。而效仿 ServiceMesh 将应用需要的其他分布式能力外移到各种 Sidecar Runtime,这逐渐演变成了一个趋势。

与其依靠多个代理来实现不同的目的(例如网络代理,缓存代理,绑定代理),不如使用一个 Mecha 提供所有这些能力。
Mecha 强调是“提供能力”,而不是通讯代理。
Mecha 和 Micrologic 之间的交互是开放而有 API 标准的,Mecha 和 Micrologic 之间的“协议”体现在 API 上,而不是 TCP 通讯协议。这提供了一个契机:一个统一 Micrologic 和 Mecha 之间通讯方式的契机。
C、sidecar 拓展性
面对千变万化的需求和复杂的应用环境,期望 Sidecar 本身的控制面和数据面来覆盖所有的场景显然是不现实的。强大、全面往往是因为易扩展。
1. 控制面拓展
使用类似K8S webhook的机制,将自定义插件注入到控制面中,作为单独的服务执行。
此类扩展可以完全无侵入的实现数据平面的增强。而且 API 的抽象屏蔽了数据平面的实现细节,扩展会具有更好的可移植性;独立进程执行和部署,具备更强的伸缩性。但是 webhook 模 也引入了大量额外的外部调用和数据交互,带来了巨大的性能开销。

2. in-proxy拓展(WASM)
WebAssembly,简称 WASM,是一个二进制指令集,最初是跑在浏览器上来解决 JavaScript 的性能问题,但由于它良好的安全性,隔离性以及语言无关性等优秀特性,很快人们便开始让它跑在浏览器之外的地方,随着 WASI 定义的出现,只需要一个 WASM 运行时,就可以让 WASM 文件随处执行。
WASM和Java字节码非常相似
WASM 字节码不能直接在任何 CPU 架构上执行,但由于它与机器码非常相近,因此能够以非常快的速度被 WASM 引擎(或者也可以称之为 WASM 虚拟机)翻译为对应架构的机器码,获得和机器码相近的性能。
WASM 本身是为 Web 而设计,因此天然具有跨平台支持;同时,通过 WASM 虚拟机的沙箱隔离,也使得执行 WASM 字节码相比于直接执行机器码有更高的安全性。
Envoy Wasm
Envoy 在可拓展性方面做了两方面的工作:
第一,提供了名为 lua 的特殊扩展,允许控制面通过 xDS 协议动态下发 Lua 脚本并由 Envoy 解释执行。
第二,也是本节的主题,Envoy 引入了 WASM 技术用于开发 Envoy 扩展。

Istio Wasm
Istio 的扩展机制使用 Proxy-Wasm 应用二进制接口(ABI)规范,提供了一套代理无关的流媒体 API 和实用功能,可以用任何有合适 SDK 的语言来实现。
扩展 Istio 的功能,满足你的特定需求,需要三个步骤:
- 在 Golang 中实现你的插件功能。
- 编译、构建,并将 Wasm 模块推送到符合 OCI 标准的 Docker 镜像仓库。
- 使用 WasmPlugin 资源配置服务网格工作负载,以便从远程镜像仓库中拉取 Wasm 模块。
E、其他
1. 服务发现代理
Mesh: dns拦截(udp)


K8S Stack
AWS EKS Devops
EKS Devops
一、EKS集群
A、安装相关命令行工具
awsctl
pip install awscli
eksctl
curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
sudo mv /tmp/eksctl /usr/local/bin
eksctl version
kubectl
curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.21.2/2021-07-05/bin/linux/amd64/kubectl
chmod +x ./kubectl
mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$PATH:$HOME/bin
echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc
kubectl version --short --client
B、连接
aws eks update-kubeconfig --region ap-southeast-1 --name xxx-eks-cluster
更新kube的config文件
C、权限
默认使用的是客户端 用户/角色 的权限。
AWS IAM权限映射到EKS的RBCA权限上。
K8S Devops
K8S
一、常用操作命令
A、调试POD
1. kubectl exec
登录命令
- nodejs: sh
- java: /bin/bash
- nginx: /bin/bash
2. busybox
kubectl run -it --rm --restart=Never busybox --image=gcr.io/google-containers/busybox sh
3. pod调试
- https://kubernetes.io/zh/docs/tasks/debug-application-cluster/debug-running-pod/
- https://kubernetes.io/zh/docs/tasks/debug-application-cluster/debug-application/#debugging-pods
B、动态伸缩
1. 动态伸缩deployment副本数量
kubectl scale deployment/nginx-proxy-deployment --replicas=2
Mosn Stack
Mosn Landscape
一、Mosn 常用概念
A、流量劫持
MOSN 作为 Sidecar 使用时的流量劫持方案。
MOSN 作为 Sidecar 和业务容器部署在同一个 Pod 中时,需要使得业务应用的 Inbound 和 Outbound 服务请求都能够经过 Sidecar 处理。区别于 Istio 社区使用 iptables 做流量透明劫持,MOSN 目前使用的是流量接管方案,并在积极探索适用于大规模流量下的透明劫持方案
流量接管
区别于 Istio 社区的 iptables 流量劫持方案,MOSN 使用的流量接管的方案如下:
- 假设服务端运行在 1.2.3.4 这台机器上,监听 20880 端口,首先服务端会向自己的 Sidecar 发起服务注册请求,告知 Sidecar 需要注册的服务以及 IP + 端口(1.2.3.4:20880)
- 服务端的 Sidecar 会向服务注册中心(如 SOFA Registry)发起服务注册请求,告知需要注册的服务以及 IP + 端口,不过这里需要注意的是注册上去的并不是业务应用的端口(20880),而是 Sidecar 自己监听的一个端口(例如:20881)
- 调用端向自己的 Sidecar 发起服务订阅请求,告知需要订阅的服务信息
- 调用端的 Sidecar 向调用端推送服务地址,这里需要注意的是推送的 IP 是本机,端口是调用端的 Sidecar 监听的端口(例如 20882)
- 调用端的 Sidecar 会向服务注册中心(如 SOFA Registry)发起服务订阅请求,告知需要订阅的服务信息;
- 服务注册中心(如 SOFA Registry)向调用端的 Sidecar 推送服务地址(1.2.3.4:20881)
服务调用过程
经过上述的服务发现过程,流量转发过程就显得非常自然了:
- 调用端拿到的服务端地址是 127.0.0.1:20882,所以就会向这个地址发起服务调用
- 调用端的 Sidecar 接收到请求后,通过解析请求头,可以得知具体要调用的服务信息,然后获取之前从服务注册中心返回的地址后就可以发起真实的调用(1.2.3.4:20881)
- 服务端的 Sidecar 接收到请求后,经过一系列处理,最终会把请求发送给服务端(127.0.0.1:20880)
B、透明劫持
上文通过在服务注册过程中把服务端地址替换成本机监听端口实现了轻量级的“流量劫持”,在存在注册中心,且调用端和服务端同时使用特定SDK的场景中可以很好的工作,如果不满足这两个条件,则无法流量劫持。为了降低对于应用程序的要求,需要引入透明劫持。
使用 iptables 做流量劫持
iptables 通过 NAT 表的 redirect 动作执行流量重定向,通过 syn 包触发新建 nefilter 层的连接,后续报文到来时查找连接转换目的地址与端口。新建连接时同时会记录下原始目的地址,应用程序可以通过(SOL_IP、SO_ORIGINAL_DST)获取到真实的目的地址。
iptables 劫持原理如下图所示:

使用 iptables 做流量劫持时存在的问题 目前 Istio 使用 iptables 实现透明劫持,主要存在以下三个问题:
- 需要借助于 conntrack 模块实现连接跟踪,在连接数较多的情况下,会造成较大的消耗,同时可能会造成 track 表满的情况,为了避免这个问题,业内有关闭 conntrack 的做法。
- iptables 属于常用模块,全局生效,不能显式的禁止相关联的修改,可管控性比较差。
- iptables 重定向流量本质上是通过 loopback 交换数据,outbond 流量将两次穿越协议栈,在大并发场景下会损失转发性能。
上述几个问题并非在所有场景中都存在,比方说某些场景下,连接数并不多,且 NAT 表未被使用到的情况下,iptables 是一个满足要求的简单方案。为了适配更加广泛的场景,透明劫持需要解决上述三个问题。
透明劫持方案优化
- 使用 tproxy 处理 inbound 流量
tproxy 可以用于 inbound 流量的重定向,且无需改变报文中的目的 IP/端口,不需要执行连接跟踪,不会出现 conntrack 模块创建大量连接的问题。受限于内核版本,tproxy 应用于 outbound 存在一定缺陷。目前 Istio 支持通过 tproxy 处理 inbound 流量。
- 使用 hook connect 处理 outbound 流量
为了适配更多应用场景,outbound 方向通过 hook connect 来实现,实现原理如下:

无论采用哪种透明劫持方案,均需要解决获取真实目的 IP/端口的问题,使用 iptables 方案通过 getsockopt 方式获取,tproxy 可以直接读取目的地址,通过修改调用接口,hook connect 方案读取方式类似于tproxy。
实现透明劫持后,在内核版本满足要求(4.16以上)的前提下,通过 sockmap 可以缩短报文穿越路径,进而改善 outbound 方向的转发性能。
总结
总结来看,如果应用程序通过注册中心发布/订阅服务时,可以结合注册中心劫持流量;在需要用到透明劫持的场景,如果性能压力不大,使用 iptables redirect 即可,大并发压力下使用 tproxy 与hook connect 结合的方案。
C、MOSN 平滑升级原理解析
本文介绍 MOSN 支持平滑升级的原因和解决方案,对于平滑升级的一些基础概念,大家可以通过 Nginx vs Enovy vs Mosn 平滑升级原理解析了解。
先简单介绍一下为什么 Nginx 和 Envoy 不需要具备 MOSN 这样的连接无损迁移方案,主要还是跟业务场景相关,Nginx 和 Envoy 主要支持的是 HTTP1 和 HTTP2 协议,HTTP1使用 connection: Close,HTTP2 使用 Goaway Frame 都可以让 Client 端主动断链接,然后新建链接到新的 New process,但是针对 Dubbo、SOFA PRC 等常见的多路复用协议,它们是没有控制帧,Old process 的链接如果断了就会影响请求的。
参考:Envoy热重启
一般的升级做法就是切走应用的流量,比如自己UnPub掉服务,等待一段时间没有请求之后,升级MOSN,升级好之后再Pub服务,整个过程比较耗时,并且会有一段时间是不提供服务的,还要考虑应用的水位,在大规模场景下,就很难兼顾评估。MOSN 为了满足自身业务场景,开发了长连接迁移方案,把这条链接迁移到 New process 上,整个过程对 Client 透明,不需要重新建链接,达到请求无损的平滑升级。

D、MOSN 多协议机制解析
基于 MOSN 本身的扩展机制,我们完成了最初版本的协议扩展接入。但是在实践过程中,我们发现这并不是一件容易的事情:
- 相比编解码,协议自身的处理以及与框架集成才是其中最困难的环节,需要理解并实现包括请求生命周期、多路复用处理、链接池等等机制;
- 社区主流的 xDS 路由配置是面向 HTTP 协议的,无法直接支持私有协议,存在适配成本;
基于这些实践痛点,我们设计了 MOSN 多协议框架,希望可以降低私有协议的接入成本,加快普及 ServiceMesh 架构的落地推进。
常见的协议扩展思路初探
第一个要介绍的是目前发展势头强劲的 Envoy。从图上可以看出,Envoy 支持四层的读写过滤器扩展、基于 HTTP 的七层读写过滤器扩展以及对应的 Router/Upstream 实现。如果想要基于 Envoy 的扩展框架实现 L7 协议接入,目前的普遍做法是基于 L4 filter 封装相应的 L7 codec,在此基础之上再实现对应的协议路由等能力,无法复用 HTTP L7 的扩展框架。
E、MOSN 扩展机制解析

Plugin机制
MOSN 的 Plugin 机制包含了两部分内容,一是 MOSN 自定义的 Plugin 框架,它支持通过在 MOSN 中实现 agent 与一个独立的进程进行交互来完成 MOSN 扩展能力的实现。二是基于 Golang 的 Plugin 框架,通过动态库(SO)加载的方式,实现 MOSN 的扩展。其中动态库加载的方式目前还存在一些局限性,还处于 beta 阶段。
多进程 Plugin 框架
MOSN 的 Plugin 框架是 MOSN 封装的一个可以让 MOSN 通过 gRPC 和独立进程进行交互的方式,它包含两部分:
- 独立的进程通过 MOSN Plugin 框架管理,作为 MOSN 的子进程;MOSN 的 Plugin 框架可以管理它们,如启动、关闭等;
- 通过在 MOSN 中实现的 agent,使用 gRPC 的方式和子进程进行交互,gRPC 可以是基于 tcp 的,也可以是基于 domain socket 的;

二、Mosn VS Envoy
A、MOSN 与 Envoy 不同点是什么?优势在哪里?
语言栈的不同
MOSN 使用 Go 语言编写,Go 语言在生产效率,内存安全上有比较强的保障,同时 Go 语言在云原生时代有广泛的库生态系统,性能在 Mesh 场景下被我们评估以及实践是可以接受的。所以 MOSN 对于使用 Go、Java 等语言的公司和个人的心智成本更低。
核心能力的差异化
MOSN 支持多协议框架,用户可以比较容易的接入私有协议,具有统一的路由框架;
多进程的插件机制,可以通过插件框架很方便的扩展独立 MOSN 进程的插件,做一些其他管理,旁路等的功能模块扩展;
具备中国密码合规的传输层国密算法支持;
三、WebAssembly
采用 WebAssembly(Wasm) 技术,给 MOSN 实现了一个安全隔离的沙箱环境,让扩展程序能够运行在隔离沙箱之中,并对其资源、能力进行严格限制,使程序故障止步于沙箱,从而实现安全隔离的目标。本文将着重叙述 MOSN 中的 Wasm 扩展框架,并介绍我们在 Proxy-Wasm 这一代理扩展规范上的工作。

上图为 MOSN Wasm 扩展框架的整体示意图。如图所示,对于 MOSN 的任意扩展点(Codec、NetworkFilter、StreamFilter 等),用户均能够通过 Wasm 扩展框架,以隔离沙箱的形式运行自定义的扩展代码。而 MOSN 与 Wasm 扩展代码之间的交互,是通过 Proxy-Wasm 标准 ABI 来完成的。
隔离沙箱
当我们在讨论 Wasm 时,都明白 Wasm 能够提供一个安全隔离的沙箱环境,但并不是每个人都了解 Wasm 实现隔离沙箱的技术原理。这时又要搬出计算机科学中的至理名言: “计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决”。Wasm 实际上也是通过引用一个“中间层”来实现的安全隔离。简单来说,Wasm 通过一个运行时(Runtime)来运行 Wasm 沙箱扩展,每个 Wasm 沙箱都有其独立的线性内存空间和一组导入/导出模块。

一方面,每个 Wasm 沙箱都有其独立的线性内存空间,其内存模型如上图所示。Wasm 代码只能通过简单的 load/store 等指令访问线性内存空间的有限部分,并通过符号(下标)的方式来间接访问函数、全局变量等,杜绝了类似 C 语言中访问任意内存地址的骚操作。同时,用于间接调用函数的符号表对于 Wasm 代码而言是只读的,从而保证 Wasm 代码的执行是受控的。此外,Wasm 沙箱的整个线性内存空间由宿主机(Wasm Runtime)分配及管理,通过严格的内存管理保证沙箱的隔离性。
另一方面,Wasm 也规定了代码中任何可能产生外部影响的操作只能通过导入/导出模块来实现。以 C 语言为例,我们可以直接通过系统调用来访问系统的环境变量、文件、网络等资源。而在 Wasm 的世界中,并不存在系统调用相关的指令,任何对外部资源的访问必须通过导入模块来间接实现。以文件读写为例,在 Wasm 中要想进行文件读写,需要宿主机提供实现文件读写功能的导入函数,Wasm 代码调用该导入函数,由宿主机间接进行文件读写,再将操作结果返回给 Wasm 扩展。在上述过程中,实际的文件读写操作由宿主机完成,宿主机对这一过程有绝对的控制权,包括但不限于只允许读写指定文件、限制读写内容、完全禁止读写等。

Proxy-Wasm ABI 规范
本小节将介绍 MOSN 具体是如何跟 Wasm 扩展程序进行交互的。先说结论: MOSN 跟 Wasm 扩展代码之间的交互采用的是社区规范: Proxy-Wasm
Proxy-Wasm 规范定义了宿主机与 Wasm 扩展程序之间的交互细节,包括 API 列表、函数调用规范以及数据传输规范这几个方面。其中,API 列表包含了 L4/L7、property、metrics、日志等方面的扩展点,涵盖了网络代理场景下所需的大部分交互点,且可以划分为宿主侧扩展和 Wasm 侧扩展点。这里简单展示规范中的部分内容,完整内容请参考 spec。
Nginx Stack
Nginx Devops
一、Nginx Devops
A、499
作为AWS网关, 同ELB配合使用
当ELB的IP变化时,DNS刷新不及时,导致499超时问题。
带有 AWS ELB 的 Nginx 代理:间歇性网关超时(499 或 502)的关键处理
B、502
往往是Nginx服务有问题
Nginx Landscape
一、Nginx 功能
A、跨域问题
关键字:
- OPTIONS预检请求
- CORS跨域校验
资料:
跨域中一些ngxin的配置:https://juejin.cn/post/6995374680114741279
跨域的解释:https://juejin.cn/post/6844903938232156167#heading-46
CORS:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CORS
二、Nginx 运维
快速部署
https://kubernetes.io/zh/docs/tasks/run-application/run-stateless-application-deployment/
常用目录
配置文件 /etc/nginx/conf.d
默认日志 /var/logs/nginx
配置日志 /etc/nginx/logs/
常用命令
测试:nginx -t
重启:nginx -s reload
查看日志:
- tail -n 10 xxx.log
- head -n 10 xxx.log
域名解析:
- /etc/resov.conf
- nslookup
- apt-get install dnsutils
- nslookup www.baidu.com
配置
日志
error_log logs/error_www.abc.com.log error;
proxy
如果proxy_pass中hostname使用了占位符,需要指定resovler的dns服务器ip
参数
- 使用$arg_xxx来获取get中的参数
- 使用$http_xxx来获取header中的参数
header
- add_header 是当请求从 server 端回来时,Nginx 再往这个 response 里添加一些额外的 reponse header 然后发送给 客户端。
- proxy_set_header 是当请求从客户端发出时,Nginx接收到 request 再往请求里添加一些额外的 request header 然后发送给 服务端。
- 常见的一些需要设置 proxy_set_header 的场景,比如说,有些 server 可能需要验证 Host,这个时候,就可以使用 proxy_set_header 伪造一个 Host 来骗过服务端。
经验
proxy
使用resolver指定dns服务器时,hostname要带上 .svc.cluster.local
可以查看/etc/resov.conf中的dns服务器,来指定nginx的resovler
参考资料
变量名:
https://www.cnblogs.com/dadonggg/p/7797281.html
代理配置:
https://segmentfault.com/a/1190000019894251