摘要:本博客是深入研究和以及它如何實(shí)現(xiàn)更優(yōu)雅的方式來(lái)連接和管理微服務(wù)系列文章的一部分。自動(dòng)發(fā)現(xiàn)的好處,就是當(dāng)?shù)臅r(shí)候,不需要去更改配置文件。展示中,已經(jīng)有兩個(gè)做好的模板。
本博客是深入研究Envoy Proxy和Istio.io 以及它如何實(shí)現(xiàn)更優(yōu)雅的方式來(lái)連接和管理微服務(wù)系列文章的一部分。
這是接下來(lái)幾個(gè)部分的想法(將在發(fā)布時(shí)更新鏈接):
斷路器(第一部分)
重試/超時(shí)(第二部分)
分布式跟蹤(第三部分)
Prometheus的指標(biāo)收集(第四部分)
rate limiter(第五部分)
第四部分 - 使用Prometheus搜集envoy 指標(biāo) envoy 配置和提供metrics方式在envoy1.9版本中,已經(jīng)直接暴露了prometheus 格式的metrics,也就是prometheus可以直接去采集,無(wú)需再通過(guò)配置Statsd來(lái)收集metrics了,使用statsd的流程大致上是:首先Envoy推送指標(biāo)到statsd,然后我們用prometheus(一個(gè)時(shí)序數(shù)據(jù)庫(kù))從statsd拉取指標(biāo)。
設(shè)置envoy 的配置文件中,有如下的設(shè)置:
admin: access_log_path: "/dev/null" address: socket_address: address: 0.0.0.0 port_value: 9000
envoy 啟動(dòng)成功以后,訪問(wèn)localhost:9000/stats/prometheus,可以返回類似下面的參數(shù):
# TYPE envoy_listener_admin_http_downstream_rq_completed counter envoy_listener_admin_http_downstream_rq_completed{envoy_http_conn_manager_prefix="admin"} 3154 # TYPE envoy_listener_admin_http_downstream_rq_xx counter envoy_listener_admin_http_downstream_rq_xx{envoy_response_code_class="1",envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_listener_admin_downstream_cx_total counter envoy_listener_admin_downstream_cx_total{} 146346 envoy_listener_admin_http_downstream_rq_xx{envoy_response_code_class="5",envoy_http_conn_manager_prefix="admin"} 0 envoy_listener_admin_http_downstream_rq_xx{envoy_response_code_class="3",envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_listener_admin_downstream_pre_cx_timeout counter envoy_listener_admin_downstream_pre_cx_timeout{} 0 # TYPE envoy_listener_admin_no_filter_chain_match counter envoy_listener_admin_no_filter_chain_match{} 0 # TYPE envoy_listener_admin_downstream_cx_destroy counter envoy_listener_admin_downstream_cx_destroy{} 146344 envoy_listener_admin_http_downstream_rq_xx{envoy_response_code_class="2",envoy_http_conn_manager_prefix="admin"} 3154 envoy_listener_admin_http_downstream_rq_xx{envoy_response_code_class="4",envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_cluster_upstream_flow_control_paused_reading_total counter envoy_cluster_upstream_flow_control_paused_reading_total{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_membership_change counter envoy_cluster_membership_change{envoy_cluster_name="hawkeye"} 1 # TYPE envoy_cluster_ext_authz_denied counter envoy_cluster_ext_authz_denied{envoy_cluster_name="hawkeye"} 15 # TYPE envoy_cluster_upstream_rq_completed counter envoy_cluster_upstream_rq_completed{envoy_cluster_name="hawkeye"} 255 # TYPE envoy_cluster_upstream_rq_pending_failure_eject counter envoy_cluster_upstream_rq_pending_failure_eject{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_cx_connect_attempts_exceeded counter envoy_cluster_upstream_cx_connect_attempts_exceeded{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_rq_timeout counter envoy_cluster_upstream_rq_timeout{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_rq counter envoy_cluster_upstream_rq{envoy_response_code="204",envoy_cluster_name="hawkeye"} 2 # TYPE envoy_cluster_upstream_cx_connect_timeout counter envoy_cluster_upstream_cx_connect_timeout{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_cx_none_healthy counter envoy_cluster_upstream_cx_none_healthy{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_rq_pending_total counter envoy_cluster_upstream_rq_pending_total{envoy_cluster_name="hawkeye"} 6 # TYPE envoy_cluster_internal_upstream_rq_completed counter envoy_cluster_internal_upstream_rq_completed{envoy_cluster_name="hawkeye"} 15 envoy_cluster_upstream_rq{envoy_response_code="200",envoy_cluster_name="hawkeye"} 209 envoy_cluster_upstream_rq{envoy_response_code="503",envoy_cluster_name="hawkeye"} 29 # TYPE envoy_cluster_lb_local_cluster_not_ok counter envoy_cluster_lb_local_cluster_not_ok{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_lb_zone_routing_sampled counter envoy_cluster_lb_zone_routing_sampled{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_cx_connect_fail counter envoy_cluster_upstream_cx_connect_fail{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_rq_retry_success counter envoy_cluster_upstream_rq_retry_success{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_bind_errors counter envoy_cluster_bind_errors{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_cx_total counter envoy_cluster_upstream_cx_total{envoy_cluster_name="hawkeye"} 6 # TYPE envoy_cluster_lb_zone_number_differs counter envoy_cluster_lb_zone_number_differs{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_original_dst_host_invalid counter envoy_cluster_original_dst_host_invalid{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_lb_zone_no_capacity_left counter envoy_cluster_lb_zone_no_capacity_left{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_cx_max_requests counter envoy_cluster_upstream_cx_max_requests{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_rq_per_try_timeout counter envoy_cluster_upstream_rq_per_try_timeout{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_rq_retry_overflow counter envoy_cluster_upstream_rq_retry_overflow{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_external_upstream_rq counter envoy_cluster_external_upstream_rq{envoy_response_code="204",envoy_cluster_name="hawkeye"} 2 envoy_cluster_external_upstream_rq{envoy_response_code="503",envoy_cluster_name="hawkeye"} 29 # TYPE envoy_cluster_upstream_cx_rx_bytes_total counter envoy_cluster_upstream_cx_rx_bytes_total{envoy_cluster_name="hawkeye"} 122326 # TYPE envoy_cluster_upstream_cx_http1_total counter envoy_cluster_upstream_cx_http1_total{envoy_cluster_name="hawkeye"} 6 # TYPE envoy_cluster_upstream_rq_pending_overflow counter envoy_cluster_upstream_rq_pending_overflow{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_lb_zone_routing_cross_zone counter envoy_cluster_lb_zone_routing_cross_zone{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_lb_subsets_created counter envoy_cluster_lb_subsets_created{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_flow_control_backed_up_total counter envoy_cluster_upstream_flow_control_backed_up_total{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_flow_control_drained_total counter envoy_cluster_upstream_flow_control_drained_total{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_external_upstream_rq_xx counter envoy_cluster_external_upstream_rq_xx{envoy_response_code_class="2",envoy_cluster_name="hawkeye"} 211 # TYPE envoy_cluster_upstream_rq_cancelled counter envoy_cluster_upstream_rq_cancelled{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_lb_subsets_removed counter envoy_cluster_lb_subsets_removed{envoy_cluster_name="hawkeye"} 0 envoy_cluster_upstream_rq{envoy_response_code="401",envoy_cluster_name="hawkeye"} 15 # TYPE envoy_cluster_retry_or_shadow_abandoned counter envoy_cluster_retry_or_shadow_abandoned{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_cx_tx_bytes_total counter envoy_cluster_upstream_cx_tx_bytes_total{envoy_cluster_name="hawkeye"} 179523 # TYPE envoy_cluster_lb_zone_cluster_too_small counter envoy_cluster_lb_zone_cluster_too_small{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_external_upstream_rq_completed counter envoy_cluster_external_upstream_rq_completed{envoy_cluster_name="hawkeye"} 240 # TYPE envoy_cluster_internal_upstream_rq_xx counter envoy_cluster_internal_upstream_rq_xx{envoy_response_code_class="4",envoy_cluster_name="hawkeye"} 15 # TYPE envoy_cluster_lb_recalculate_zone_structures counter envoy_cluster_lb_recalculate_zone_structures{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_cx_destroy_with_active_rq counter envoy_cluster_upstream_cx_destroy_with_active_rq{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_lb_subsets_fallback counter envoy_cluster_lb_subsets_fallback{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_rq_xx counter envoy_cluster_upstream_rq_xx{envoy_response_code_class="5",envoy_cluster_name="hawkeye"} 29 # TYPE envoy_cluster_upstream_rq_total counter envoy_cluster_upstream_rq_total{envoy_cluster_name="hawkeye"} 240 # TYPE envoy_cluster_update_no_rebuild counter envoy_cluster_update_no_rebuild{envoy_cluster_name="hawkeye"} 18890 # TYPE envoy_cluster_upstream_cx_destroy counter envoy_cluster_upstream_cx_destroy{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_cx_destroy_local counter envoy_cluster_upstream_cx_destroy_local{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_rq_rx_reset counter envoy_cluster_upstream_rq_rx_reset{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_cx_destroy_remote_with_active_rq counter envoy_cluster_upstream_cx_destroy_remote_with_active_rq{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_flow_control_resumed_reading_total counter envoy_cluster_upstream_flow_control_resumed_reading_total{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_update_attempt counter envoy_cluster_update_attempt{envoy_cluster_name="hawkeye"} 18891 # TYPE envoy_cluster_upstream_rq_maintenance_mode counter envoy_cluster_upstream_rq_maintenance_mode{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_update_failure counter envoy_cluster_update_failure{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_ext_authz_ok counter envoy_cluster_ext_authz_ok{envoy_cluster_name="hawkeye"} 460 envoy_cluster_external_upstream_rq_xx{envoy_response_code_class="5",envoy_cluster_name="hawkeye"} 29 # TYPE envoy_cluster_internal_upstream_rq counter envoy_cluster_internal_upstream_rq{envoy_response_code="401",envoy_cluster_name="hawkeye"} 15 # TYPE envoy_cluster_update_empty counter envoy_cluster_update_empty{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_lb_zone_routing_all_directly counter envoy_cluster_lb_zone_routing_all_directly{envoy_cluster_name="hawkeye"} 0 envoy_cluster_upstream_rq_xx{envoy_response_code_class="2",envoy_cluster_name="hawkeye"} 211 # TYPE envoy_cluster_upstream_cx_http2_total counter envoy_cluster_upstream_cx_http2_total{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_cx_destroy_remote counter envoy_cluster_upstream_cx_destroy_remote{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_rq_retry counter envoy_cluster_upstream_rq_retry{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_cx_destroy_local_with_active_rq counter envoy_cluster_upstream_cx_destroy_local_with_active_rq{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_cx_overflow counter envoy_cluster_upstream_cx_overflow{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_cx_protocol_error counter envoy_cluster_upstream_cx_protocol_error{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_rq_tx_reset counter envoy_cluster_upstream_rq_tx_reset{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_lb_healthy_panic counter envoy_cluster_lb_healthy_panic{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_cx_idle_timeout counter envoy_cluster_upstream_cx_idle_timeout{envoy_cluster_name="hawkeye"} 0 envoy_cluster_upstream_rq_xx{envoy_response_code_class="4",envoy_cluster_name="hawkeye"} 15 envoy_cluster_external_upstream_rq{envoy_response_code="200",envoy_cluster_name="hawkeye"} 209 # TYPE envoy_cluster_lb_subsets_selected counter envoy_cluster_lb_subsets_selected{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_update_success counter envoy_cluster_update_success{envoy_cluster_name="hawkeye"} 18891 # TYPE envoy_cluster_upstream_cx_close_notify counter envoy_cluster_upstream_cx_close_notify{envoy_cluster_name="hawkeye"} 0 envoy_cluster_upstream_cx_close_notify{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_rq_tx_reset{envoy_cluster_name="ext-authz"} 0 envoy_cluster_lb_local_cluster_not_ok{envoy_cluster_name="ext-authz"} 0 envoy_cluster_update_no_rebuild{envoy_cluster_name="ext-authz"} 18890 envoy_cluster_upstream_rq{envoy_response_code="401",envoy_cluster_name="ext-authz"} 15 envoy_cluster_upstream_cx_overflow{envoy_cluster_name="ext-authz"} 0 envoy_cluster_internal_upstream_rq{envoy_response_code="200",envoy_cluster_name="ext-authz"} 460 envoy_cluster_upstream_rq_xx{envoy_response_code_class="4",envoy_cluster_name="ext-authz"} 15 envoy_cluster_upstream_flow_control_paused_reading_total{envoy_cluster_name="ext-authz"} 0 envoy_cluster_internal_upstream_rq_xx{envoy_response_code_class="2",envoy_cluster_name="ext-authz"} 460 envoy_cluster_upstream_cx_tx_bytes_total{envoy_cluster_name="ext-authz"} 142288 envoy_cluster_update_empty{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_rq_cancelled{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_cx_destroy_remote{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_rq_timeout{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_rq_retry{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_cx_protocol_error{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_cx_destroy_local{envoy_cluster_name="ext-authz"} 0 envoy_cluster_update_attempt{envoy_cluster_name="ext-authz"} 18891 envoy_cluster_upstream_rq_retry_overflow{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_cx_idle_timeout{envoy_cluster_name="ext-authz"} 0 envoy_cluster_lb_zone_routing_sampled{envoy_cluster_name="ext-authz"} 0 envoy_cluster_original_dst_host_invalid{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_flow_control_resumed_reading_total{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_rq_pending_failure_eject{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_rq_per_try_timeout{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_cx_max_requests{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_cx_http2_total{envoy_cluster_name="ext-authz"} 0 envoy_cluster_lb_zone_no_capacity_left{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_cx_http1_total{envoy_cluster_name="ext-authz"} 4 envoy_cluster_upstream_rq_xx{envoy_response_code_class="2",envoy_cluster_name="ext-authz"} 460 envoy_cluster_upstream_rq{envoy_response_code="200",envoy_cluster_name="ext-authz"} 460 envoy_cluster_update_success{envoy_cluster_name="ext-authz"} 18891 envoy_cluster_lb_subsets_fallback{envoy_cluster_name="ext-authz"} 0 envoy_cluster_lb_healthy_panic{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_cx_destroy{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_cx_connect_fail{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_cx_connect_attempts_exceeded{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_cx_total{envoy_cluster_name="ext-authz"} 4 envoy_cluster_upstream_cx_rx_bytes_total{envoy_cluster_name="ext-authz"} 80016 envoy_cluster_internal_upstream_rq_completed{envoy_cluster_name="ext-authz"} 475 envoy_cluster_lb_zone_number_differs{envoy_cluster_name="ext-authz"} 0 envoy_cluster_lb_zone_routing_all_directly{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_rq_pending_total{envoy_cluster_name="ext-authz"} 4 envoy_cluster_lb_subsets_created{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_rq_retry_success{envoy_cluster_name="ext-authz"} 0 envoy_cluster_internal_upstream_rq_xx{envoy_response_code_class="4",envoy_cluster_name="ext-authz"} 15 envoy_cluster_upstream_rq_maintenance_mode{envoy_cluster_name="ext-authz"} 0 envoy_cluster_lb_zone_routing_cross_zone{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_rq_completed{envoy_cluster_name="ext-authz"} 475 envoy_cluster_upstream_flow_control_drained_total{envoy_cluster_name="ext-authz"} 0 envoy_cluster_membership_change{envoy_cluster_name="ext-authz"} 1 envoy_cluster_upstream_cx_none_healthy{envoy_cluster_name="ext-authz"} 0 envoy_cluster_bind_errors{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_rq_rx_reset{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_cx_destroy_remote_with_active_rq{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_flow_control_backed_up_total{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_cx_connect_timeout{envoy_cluster_name="ext-authz"} 0 envoy_cluster_update_failure{envoy_cluster_name="ext-authz"} 0 envoy_cluster_lb_subsets_removed{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_cx_destroy_with_active_rq{envoy_cluster_name="ext-authz"} 0 envoy_cluster_lb_subsets_selected{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_rq_total{envoy_cluster_name="ext-authz"} 475 envoy_cluster_internal_upstream_rq{envoy_response_code="401",envoy_cluster_name="ext-authz"} 15 envoy_cluster_lb_recalculate_zone_structures{envoy_cluster_name="ext-authz"} 0 envoy_cluster_lb_zone_cluster_too_small{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_rq_pending_overflow{envoy_cluster_name="ext-authz"} 0 envoy_cluster_retry_or_shadow_abandoned{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_cx_destroy_local_with_active_rq{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_cx_connect_timeout{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_rq_pending_failure_eject{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_flow_control_paused_reading_total{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_flow_control_drained_total{envoy_cluster_name="sso"} 0 envoy_cluster_lb_local_cluster_not_ok{envoy_cluster_name="sso"} 0 envoy_cluster_lb_subsets_created{envoy_cluster_name="sso"} 0 envoy_cluster_lb_subsets_selected{envoy_cluster_name="sso"} 0 envoy_cluster_lb_zone_routing_cross_zone{envoy_cluster_name="sso"} 0 envoy_cluster_external_upstream_rq{envoy_response_code="405",envoy_cluster_name="sso"} 1 envoy_cluster_upstream_rq_timeout{envoy_cluster_name="sso"} 0 envoy_cluster_external_upstream_rq_xx{envoy_response_code_class="4",envoy_cluster_name="sso"} 8 envoy_cluster_external_upstream_rq_xx{envoy_response_code_class="2",envoy_cluster_name="sso"} 13 envoy_cluster_upstream_cx_overflow{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_rq_per_try_timeout{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_cx_max_requests{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_cx_destroy_remote_with_active_rq{envoy_cluster_name="sso"} 0 envoy_cluster_retry_or_shadow_abandoned{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_cx_close_notify{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_cx_idle_timeout{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_rq{envoy_response_code="415",envoy_cluster_name="sso"} 1 envoy_cluster_upstream_cx_destroy_with_active_rq{envoy_cluster_name="sso"} 0 envoy_cluster_lb_zone_cluster_too_small{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_rq_xx{envoy_response_code_class="4",envoy_cluster_name="sso"} 8 envoy_cluster_upstream_rq{envoy_response_code="401",envoy_cluster_name="sso"} 6 envoy_cluster_upstream_rq{envoy_response_code="405",envoy_cluster_name="sso"} 1 envoy_cluster_upstream_flow_control_backed_up_total{envoy_cluster_name="sso"} 0 envoy_cluster_external_upstream_rq{envoy_response_code="401",envoy_cluster_name="sso"} 6 envoy_cluster_external_upstream_rq{envoy_response_code="415",envoy_cluster_name="sso"} 1 envoy_cluster_upstream_rq_retry{envoy_cluster_name="sso"} 0 envoy_cluster_lb_zone_no_capacity_left{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_cx_http1_total{envoy_cluster_name="sso"} 7 envoy_cluster_upstream_rq_total{envoy_cluster_name="sso"} 21 envoy_cluster_upstream_cx_protocol_error{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_rq_tx_reset{envoy_cluster_name="sso"} 0 envoy_cluster_update_success{envoy_cluster_name="sso"} 18891 envoy_cluster_upstream_rq_completed{envoy_cluster_name="sso"} 21 envoy_cluster_external_upstream_rq{envoy_response_code="200",envoy_cluster_name="sso"} 13 envoy_cluster_upstream_cx_destroy{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_cx_destroy_local{envoy_cluster_name="sso"} 0 envoy_cluster_lb_recalculate_zone_structures{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_cx_tx_bytes_total{envoy_cluster_name="sso"} 13072 envoy_cluster_upstream_rq_pending_overflow{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_cx_total{envoy_cluster_name="sso"} 7 envoy_cluster_lb_subsets_fallback{envoy_cluster_name="sso"} 0 envoy_cluster_original_dst_host_invalid{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_rq_pending_total{envoy_cluster_name="sso"} 7 envoy_cluster_upstream_rq_cancelled{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_rq_maintenance_mode{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_rq_retry_success{envoy_cluster_name="sso"} 0 envoy_cluster_lb_healthy_panic{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_cx_http2_total{envoy_cluster_name="sso"} 0 envoy_cluster_update_failure{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_cx_connect_fail{envoy_cluster_name="sso"} 0 envoy_cluster_update_attempt{envoy_cluster_name="sso"} 18891 envoy_cluster_upstream_flow_control_resumed_reading_total{envoy_cluster_name="sso"} 0 envoy_cluster_update_empty{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_cx_destroy_remote{envoy_cluster_name="sso"} 0 envoy_cluster_update_no_rebuild{envoy_cluster_name="sso"} 18890 envoy_cluster_bind_errors{envoy_cluster_name="sso"} 0 envoy_cluster_lb_subsets_removed{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_cx_connect_attempts_exceeded{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_rq_retry_overflow{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_rq_xx{envoy_response_code_class="2",envoy_cluster_name="sso"} 13 envoy_cluster_lb_zone_number_differs{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_cx_rx_bytes_total{envoy_cluster_name="sso"} 12934 envoy_cluster_lb_zone_routing_sampled{envoy_cluster_name="sso"} 0 envoy_cluster_lb_zone_routing_all_directly{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_cx_destroy_local_with_active_rq{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_rq_rx_reset{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_cx_none_healthy{envoy_cluster_name="sso"} 0 envoy_cluster_membership_change{envoy_cluster_name="sso"} 1 envoy_cluster_external_upstream_rq_completed{envoy_cluster_name="sso"} 21 envoy_cluster_upstream_rq{envoy_response_code="200",envoy_cluster_name="sso"} 13 # TYPE envoy_http_downstream_rq_too_large counter envoy_http_downstream_rq_too_large{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_http_downstream_cx_protocol_error counter envoy_http_downstream_cx_protocol_error{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_http_downstream_rq_timeout counter envoy_http_downstream_rq_timeout{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_runtime_load_error counter envoy_runtime_load_error{} 0 # TYPE envoy_runtime_override_dir_not_exists counter envoy_runtime_override_dir_not_exists{} 0 # TYPE envoy_http_no_cluster counter envoy_http_no_cluster{envoy_http_conn_manager_prefix="async-client"} 0 # TYPE envoy_server_watchdog_miss counter envoy_server_watchdog_miss{} 0 # TYPE envoy_http_downstream_rq_xx counter envoy_http_downstream_rq_xx{envoy_response_code_class="3",envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_cluster_manager_cluster_removed counter envoy_cluster_manager_cluster_removed{} 0 # TYPE envoy_http_downstream_cx_upgrades_total counter envoy_http_downstream_cx_upgrades_total{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_cluster_manager_update_merge_cancelled counter envoy_cluster_manager_update_merge_cancelled{} 0 # TYPE envoy_http_downstream_cx_overload_disable_keepalive counter envoy_http_downstream_cx_overload_disable_keepalive{envoy_http_conn_manager_prefix="admin"} 0 envoy_http_downstream_rq_xx{envoy_response_code_class="1",envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_http_downstream_cx_destroy counter envoy_http_downstream_cx_destroy{envoy_http_conn_manager_prefix="admin"} 146344 envoy_http_downstream_rq_xx{envoy_response_code_class="5",envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_http_downstream_cx_tx_bytes_total counter envoy_http_downstream_cx_tx_bytes_total{envoy_http_conn_manager_prefix="admin"} 155797820 # TYPE envoy_http_downstream_cx_drain_close counter envoy_http_downstream_cx_drain_close{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_http_downstream_cx_destroy_local_active_rq counter envoy_http_downstream_cx_destroy_local_active_rq{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_http_downstream_cx_destroy_active_rq counter envoy_http_downstream_cx_destroy_active_rq{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_http_downstream_cx_destroy_local counter envoy_http_downstream_cx_destroy_local{envoy_http_conn_manager_prefix="admin"} 0 envoy_http_downstream_rq_xx{envoy_response_code_class="2",envoy_http_conn_manager_prefix="admin"} 3154 # TYPE envoy_http_downstream_rq_http1_total counter envoy_http_downstream_rq_http1_total{envoy_http_conn_manager_prefix="admin"} 3155 # TYPE envoy_http_rq_total counter envoy_http_rq_total{envoy_http_conn_manager_prefix="async-client"} 475 # TYPE envoy_http_downstream_cx_total counter envoy_http_downstream_cx_total{envoy_http_conn_manager_prefix="admin"} 146346 # TYPE envoy_runtime_load_success counter envoy_runtime_load_success{} 0 # TYPE envoy_filesystem_reopen_failed counter envoy_filesystem_reopen_failed{} 0 # TYPE envoy_http_downstream_rq_total counter envoy_http_downstream_rq_total{envoy_http_conn_manager_prefix="admin"} 3155 # TYPE envoy_http_downstream_rq_rx_reset counter envoy_http_downstream_rq_rx_reset{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_cluster_manager_cluster_modified counter envoy_cluster_manager_cluster_modified{} 0 # TYPE envoy_http_downstream_rq_idle_timeout counter envoy_http_downstream_rq_idle_timeout{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_http_downstream_cx_destroy_remote_active_rq counter envoy_http_downstream_cx_destroy_remote_active_rq{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_http_downstream_cx_ssl_total counter envoy_http_downstream_cx_ssl_total{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_http_downstream_cx_delayed_close_timeout counter envoy_http_downstream_cx_delayed_close_timeout{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_cluster_manager_update_out_of_merge_window counter envoy_cluster_manager_update_out_of_merge_window{} 0 # TYPE envoy_http_downstream_flow_control_resumed_reading_total counter envoy_http_downstream_flow_control_resumed_reading_total{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_listener_manager_listener_added counter envoy_listener_manager_listener_added{} 1 # TYPE envoy_http_downstream_rq_overload_close counter envoy_http_downstream_rq_overload_close{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_http_downstream_cx_http2_total counter envoy_http_downstream_cx_http2_total{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_listener_manager_listener_create_failure counter envoy_listener_manager_listener_create_failure{} 0 # TYPE envoy_stats_overflow counter envoy_stats_overflow{} 0 # TYPE envoy_listener_manager_listener_create_success counter envoy_listener_manager_listener_create_success{} 16 # TYPE envoy_http_downstream_cx_http1_total counter envoy_http_downstream_cx_http1_total{envoy_http_conn_manager_prefix="admin"} 2 # TYPE envoy_http_no_route counter envoy_http_no_route{envoy_http_conn_manager_prefix="async-client"} 0 # TYPE envoy_cluster_manager_cluster_updated counter envoy_cluster_manager_cluster_updated{} 0 # TYPE envoy_http_downstream_cx_destroy_remote counter envoy_http_downstream_cx_destroy_remote{envoy_http_conn_manager_prefix="admin"} 146344 # TYPE envoy_http_downstream_rq_non_relative_path counter envoy_http_downstream_rq_non_relative_path{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_http_rs_too_large counter envoy_http_rs_too_large{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_http_downstream_rq_tx_reset counter envoy_http_downstream_rq_tx_reset{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_server_watchdog_mega_miss counter envoy_server_watchdog_mega_miss{} 0 # TYPE envoy_http_downstream_flow_control_paused_reading_total counter envoy_http_downstream_flow_control_paused_reading_total{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_http_downstream_cx_rx_bytes_total counter envoy_http_downstream_cx_rx_bytes_total{envoy_http_conn_manager_prefix="admin"} 795620 # TYPE envoy_http_downstream_rq_completed counter envoy_http_downstream_rq_completed{envoy_http_conn_manager_prefix="admin"} 3154 # TYPE envoy_listener_manager_listener_removed counter envoy_listener_manager_listener_removed{} 0 envoy_http_downstream_rq_xx{envoy_response_code_class="4",envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_http_rq_direct_response counter envoy_http_rq_direct_response{envoy_http_conn_manager_prefix="async-client"} 0 # TYPE envoy_filesystem_write_completed counter envoy_filesystem_write_completed{} 3366 # TYPE envoy_http_downstream_rq_ws_on_non_ws_route counter envoy_http_downstream_rq_ws_on_non_ws_route{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_cluster_manager_cluster_updated_via_merge counter envoy_cluster_manager_cluster_updated_via_merge{} 0 # TYPE envoy_filesystem_flushed_by_timer counter envoy_filesystem_flushed_by_timer{} 18495 # TYPE envoy_filesystem_write_buffered counter envoy_filesystem_write_buffered{} 3669 # TYPE envoy_runtime_override_dir_exists counter envoy_runtime_override_dir_exists{} 0 # TYPE envoy_cluster_manager_cluster_added counter envoy_cluster_manager_cluster_added{} 4 # TYPE envoy_listener_manager_listener_modified counter envoy_listener_manager_listener_modified{} 0 # TYPE envoy_http_downstream_rq_http2_total counter envoy_http_downstream_rq_http2_total{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_http_downstream_rq_response_before_rq_complete counter envoy_http_downstream_rq_response_before_rq_complete{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_http_downstream_cx_idle_timeout counter envoy_http_downstream_cx_idle_timeout{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_http_rq_redirect counter envoy_http_rq_redirect{envoy_http_conn_manager_prefix="async-client"} 0 # TYPE envoy_listener_http_downstream_rq_xx counter envoy_listener_http_downstream_rq_xx{envoy_response_code_class="1",envoy_http_conn_manager_prefix="ingress_http",envoy_listener_address="0.0.0.0_8000"} 0 envoy_listener_http_downstream_rq_xx{envoy_response_code_class="2",envoy_http_conn_manager_prefix="ingress_http",envoy_listener_address="0.0.0.0_8000"} 456 envoy_listener_http_downstream_rq_xx{envoy_response_code_class="4",envoy_http_conn_manager_prefix="ingress_http",envoy_listener_address="0.0.0.0_8000"} 30 # TYPE envoy_listener_downstream_pre_cx_timeout counter envoy_listener_downstream_pre_cx_timeout{envoy_listener_address="0.0.0.0_8000"} 0 # TYPE envoy_listener_no_filter_chain_match counter envoy_listener_no_filter_chain_match{envoy_listener_address="0.0.0.0_8000"} 0 # TYPE envoy_listener_downstream_cx_total counter envoy_listener_downstream_cx_total{envoy_listener_address="0.0.0.0_8000"} 147370 envoy_listener_http_downstream_rq_xx{envoy_response_code_class="5",envoy_http_conn_manager_prefix="ingress_http",envoy_listener_address="0.0.0.0_8000"} 29 envoy_listener_http_downstream_rq_xx{envoy_response_code_class="3",envoy_http_conn_manager_prefix="ingress_http",envoy_listener_address="0.0.0.0_8000"} 0 # TYPE envoy_listener_downstream_cx_destroy counter envoy_listener_downstream_cx_destroy{envoy_listener_address="0.0.0.0_8000"} 147369 # TYPE envoy_listener_http_downstream_rq_completed counter envoy_listener_http_downstream_rq_completed{envoy_http_conn_manager_prefix="ingress_http",envoy_listener_address="0.0.0.0_8000"} 515 envoy_http_downstream_cx_destroy{envoy_http_conn_manager_prefix="ingress_http"} 147369 envoy_http_downstream_rq_http1_total{envoy_http_conn_manager_prefix="ingress_http"} 515 envoy_http_downstream_cx_destroy_local_active_rq{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_flow_control_resumed_reading_total{envoy_http_conn_manager_prefix="ingress_http"} 0 # TYPE envoy_http_tracing_health_check counter envoy_http_tracing_health_check{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_rq_response_before_rq_complete{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_cx_protocol_error{envoy_http_conn_manager_prefix="ingress_http"} 2 envoy_http_downstream_cx_destroy_remote{envoy_http_conn_manager_prefix="ingress_http"} 147367 envoy_http_no_route{envoy_http_conn_manager_prefix="ingress_http"} 7 envoy_http_rq_redirect{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_cx_http1_total{envoy_http_conn_manager_prefix="ingress_http"} 41 # TYPE envoy_http_tracing_random_sampling counter envoy_http_tracing_random_sampling{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_cx_total{envoy_http_conn_manager_prefix="ingress_http"} 147370 envoy_http_downstream_cx_destroy_remote_active_rq{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_rs_too_large{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_rq_idle_timeout{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_cx_idle_timeout{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_cx_rx_bytes_total{envoy_http_conn_manager_prefix="ingress_http"} 306987 envoy_http_downstream_rq_xx{envoy_response_code_class="1",envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_rq_ws_on_non_ws_route{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_rq_xx{envoy_response_code_class="3",envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_cx_overload_disable_keepalive{envoy_http_conn_manager_prefix="ingress_http"} 0 # TYPE envoy_http_tracing_service_forced counter envoy_http_tracing_service_forced{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_cx_drain_close{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_cx_tx_bytes_total{envoy_http_conn_manager_prefix="ingress_http"} 227287 envoy_http_downstream_cx_delayed_close_timeout{envoy_http_conn_manager_prefix="ingress_http"} 2 envoy_http_downstream_flow_control_paused_reading_total{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_rq_timeout{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_rq_rx_reset{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_cx_destroy_local{envoy_http_conn_manager_prefix="ingress_http"} 2 # TYPE envoy_http_tracing_not_traceable counter envoy_http_tracing_not_traceable{envoy_http_conn_manager_prefix="ingress_http"} 0 # TYPE envoy_http_cors_origin_invalid counter envoy_http_cors_origin_invalid{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_no_cluster{envoy_http_conn_manager_prefix="ingress_http"} 0 # TYPE envoy_http_cors_origin_valid counter envoy_http_cors_origin_valid{envoy_http_conn_manager_prefix="ingress_http"} 485 envoy_http_downstream_rq_completed{envoy_http_conn_manager_prefix="ingress_http"} 515 envoy_http_rq_total{envoy_http_conn_manager_prefix="ingress_http"} 268 envoy_http_downstream_rq_tx_reset{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_rq_total{envoy_http_conn_manager_prefix="ingress_http"} 515 envoy_http_downstream_rq_overload_close{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_cx_http2_total{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_cx_destroy_active_rq{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_rq_http2_total{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_cx_upgrades_total{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_rq_non_relative_path{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_rq_xx{envoy_response_code_class="4",envoy_http_conn_manager_prefix="ingress_http"} 30 envoy_http_downstream_rq_xx{envoy_response_code_class="5",envoy_http_conn_manager_prefix="ingress_http"} 29 envoy_http_rq_direct_response{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_cx_ssl_total{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_rq_too_large{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_rq_xx{envoy_response_code_class="2",envoy_http_conn_manager_prefix="ingress_http"} 456 # TYPE envoy_http_tracing_client_enabled counter envoy_http_tracing_client_enabled{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_cluster_upstream_cx_protocol_error{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_flow_control_paused_reading_total{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_cx_http2_total{envoy_cluster_name="cost"} 0 envoy_cluster_lb_subsets_removed{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_cx_http1_total{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_cx_close_notify{envoy_cluster_name="cost"} 0 envoy_cluster_lb_zone_cluster_too_small{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_cx_max_requests{envoy_cluster_name="cost"} 0 envoy_cluster_membership_change{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_cx_destroy_local{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_rq_cancelled{envoy_cluster_name="cost"} 0 envoy_cluster_update_no_rebuild{envoy_cluster_name="cost"} 18872 envoy_cluster_upstream_rq_timeout{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_cx_rx_bytes_total{envoy_cluster_name="cost"} 0 envoy_cluster_lb_zone_no_capacity_left{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_cx_destroy_local_with_active_rq{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_cx_total{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_rq_per_try_timeout{envoy_cluster_name="cost"} 0 envoy_cluster_bind_errors{envoy_cluster_name="cost"} 0 envoy_cluster_update_success{envoy_cluster_name="cost"} 18872 envoy_cluster_upstream_rq_retry{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_rq_tx_reset{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_rq_retry_success{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_cx_connect_attempts_exceeded{envoy_cluster_name="cost"} 0 envoy_cluster_update_empty{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_cx_destroy_remote{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_cx_tx_bytes_total{envoy_cluster_name="cost"} 0 envoy_cluster_original_dst_host_invalid{envoy_cluster_name="cost"} 0 envoy_cluster_update_failure{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_rq_pending_overflow{envoy_cluster_name="cost"} 0 envoy_cluster_update_attempt{envoy_cluster_name="cost"} 18872 envoy_cluster_upstream_cx_connect_timeout{envoy_cluster_name="cost"} 0 envoy_cluster_lb_zone_routing_all_directly{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_cx_none_healthy{envoy_cluster_name="cost"} 0 envoy_cluster_retry_or_shadow_abandoned{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_flow_control_resumed_reading_total{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_cx_connect_fail{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_rq_retry_overflow{envoy_cluster_name="cost"} 0 envoy_cluster_lb_zone_routing_cross_zone{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_rq_pending_total{envoy_cluster_name="cost"} 0 envoy_cluster_lb_subsets_created{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_rq_maintenance_mode{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_rq_completed{envoy_cluster_name="cost"} 0 envoy_cluster_lb_healthy_panic{envoy_cluster_name="cost"} 0 envoy_cluster_lb_zone_routing_sampled{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_flow_control_drained_total{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_cx_destroy_remote_with_active_rq{envoy_cluster_name="cost"} 0 envoy_cluster_lb_local_cluster_not_ok{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_flow_control_backed_up_total{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_rq_rx_reset{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_cx_destroy_with_active_rq{envoy_cluster_name="cost"} 0 envoy_cluster_lb_subsets_fallback{envoy_cluster_name="cost"} 0 envoy_cluster_lb_zone_number_differs{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_cx_idle_timeout{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_cx_overflow{envoy_cluster_name="cost"} 0 envoy_cluster_lb_subsets_selected{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_rq_total{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_cx_destroy{envoy_cluster_name="cost"} 0 envoy_cluster_lb_recalculate_zone_structures{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_rq_pending_failure_eject{envoy_cluster_name="cost"} 0 # TYPE envoy_listener_admin_downstream_pre_cx_active gauge envoy_listener_admin_downstream_pre_cx_active{} 0 # TYPE envoy_listener_admin_downstream_cx_active gauge envoy_listener_admin_downstream_cx_active{} 2 # TYPE envoy_cluster_upstream_cx_rx_bytes_buffered gauge envoy_cluster_upstream_cx_rx_bytes_buffered{envoy_cluster_name="hawkeye"} 3402 # TYPE envoy_cluster_membership_healthy gauge envoy_cluster_membership_healthy{envoy_cluster_name="hawkeye"} 1 # TYPE envoy_cluster_circuit_breakers_high_cx_open gauge envoy_cluster_circuit_breakers_high_cx_open{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_circuit_breakers_default_rq_pending_open gauge envoy_cluster_circuit_breakers_default_rq_pending_open{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_cx_tx_bytes_buffered gauge envoy_cluster_upstream_cx_tx_bytes_buffered{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_circuit_breakers_high_rq_retry_open gauge envoy_cluster_circuit_breakers_high_rq_retry_open{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_lb_subsets_active gauge envoy_cluster_lb_subsets_active{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_circuit_breakers_default_cx_open gauge envoy_cluster_circuit_breakers_default_cx_open{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_max_host_weight gauge envoy_cluster_max_host_weight{envoy_cluster_name="hawkeye"} 1 # TYPE envoy_cluster_circuit_breakers_default_rq_retry_open gauge envoy_cluster_circuit_breakers_default_rq_retry_open{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_version gauge envoy_cluster_version{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_membership_total gauge envoy_cluster_membership_total{envoy_cluster_name="hawkeye"} 1 # TYPE envoy_cluster_circuit_breakers_high_rq_pending_open gauge envoy_cluster_circuit_breakers_high_rq_pending_open{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_circuit_breakers_default_rq_open gauge envoy_cluster_circuit_breakers_default_rq_open{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_circuit_breakers_high_rq_open gauge envoy_cluster_circuit_breakers_high_rq_open{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_cx_active gauge envoy_cluster_upstream_cx_active{envoy_cluster_name="hawkeye"} 3 # TYPE envoy_cluster_upstream_rq_pending_active gauge envoy_cluster_upstream_rq_pending_active{envoy_cluster_name="hawkeye"} 0 # TYPE envoy_cluster_upstream_rq_active gauge envoy_cluster_upstream_rq_active{envoy_cluster_name="hawkeye"} 0 envoy_cluster_membership_healthy{envoy_cluster_name="ext-authz"} 1 envoy_cluster_circuit_breakers_default_rq_pending_open{envoy_cluster_name="ext-authz"} 0 envoy_cluster_circuit_breakers_default_rq_open{envoy_cluster_name="ext-authz"} 0 envoy_cluster_membership_total{envoy_cluster_name="ext-authz"} 1 envoy_cluster_circuit_breakers_default_rq_retry_open{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_cx_active{envoy_cluster_name="ext-authz"} 4 envoy_cluster_version{envoy_cluster_name="ext-authz"} 0 envoy_cluster_circuit_breakers_high_rq_pending_open{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_cx_rx_bytes_buffered{envoy_cluster_name="ext-authz"} 714 envoy_cluster_upstream_rq_pending_active{envoy_cluster_name="ext-authz"} 0 envoy_cluster_circuit_breakers_high_cx_open{envoy_cluster_name="ext-authz"} 0 envoy_cluster_circuit_breakers_high_rq_retry_open{envoy_cluster_name="ext-authz"} 0 envoy_cluster_max_host_weight{envoy_cluster_name="ext-authz"} 1 envoy_cluster_upstream_rq_active{envoy_cluster_name="ext-authz"} 0 envoy_cluster_circuit_breakers_high_rq_open{envoy_cluster_name="ext-authz"} 0 envoy_cluster_upstream_cx_tx_bytes_buffered{envoy_cluster_name="ext-authz"} 0 envoy_cluster_circuit_breakers_default_cx_open{envoy_cluster_name="ext-authz"} 0 envoy_cluster_lb_subsets_active{envoy_cluster_name="ext-authz"} 0 envoy_cluster_circuit_breakers_default_rq_open{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_rq_pending_active{envoy_cluster_name="sso"} 0 envoy_cluster_membership_healthy{envoy_cluster_name="sso"} 1 envoy_cluster_circuit_breakers_high_rq_pending_open{envoy_cluster_name="sso"} 0 envoy_cluster_circuit_breakers_high_rq_open{envoy_cluster_name="sso"} 0 envoy_cluster_circuit_breakers_high_rq_retry_open{envoy_cluster_name="sso"} 0 envoy_cluster_version{envoy_cluster_name="sso"} 0 envoy_cluster_circuit_breakers_high_cx_open{envoy_cluster_name="sso"} 0 envoy_cluster_membership_total{envoy_cluster_name="sso"} 1 envoy_cluster_upstream_cx_active{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_cx_tx_bytes_buffered{envoy_cluster_name="sso"} 0 envoy_cluster_circuit_breakers_default_rq_pending_open{envoy_cluster_name="sso"} 0 envoy_cluster_lb_subsets_active{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_cx_rx_bytes_buffered{envoy_cluster_name="sso"} 0 envoy_cluster_circuit_breakers_default_cx_open{envoy_cluster_name="sso"} 0 envoy_cluster_upstream_rq_active{envoy_cluster_name="sso"} 0 envoy_cluster_max_host_weight{envoy_cluster_name="sso"} 1 envoy_cluster_circuit_breakers_default_rq_retry_open{envoy_cluster_name="sso"} 0 # TYPE envoy_filesystem_write_total_buffered gauge envoy_filesystem_write_total_buffered{} 0 # TYPE envoy_http_downstream_cx_http1_active gauge envoy_http_downstream_cx_http1_active{envoy_http_conn_manager_prefix="admin"} 2 # TYPE envoy_listener_manager_total_listeners_warming gauge envoy_listener_manager_total_listeners_warming{} 0 # TYPE envoy_runtime_num_keys gauge envoy_runtime_num_keys{} 0 # TYPE envoy_http_downstream_cx_rx_bytes_buffered gauge envoy_http_downstream_cx_rx_bytes_buffered{envoy_http_conn_manager_prefix="admin"} 845 # TYPE envoy_runtime_admin_overrides_active gauge envoy_runtime_admin_overrides_active{} 0 # TYPE envoy_server_version gauge envoy_server_version{} 3653592 # TYPE envoy_cluster_manager_active_clusters gauge envoy_cluster_manager_active_clusters{} 4 # TYPE envoy_server_live gauge envoy_server_live{} 1 # TYPE envoy_http_downstream_cx_ssl_active gauge envoy_http_downstream_cx_ssl_active{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_http_downstream_cx_http2_active gauge envoy_http_downstream_cx_http2_active{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_http_downstream_cx_tx_bytes_buffered gauge envoy_http_downstream_cx_tx_bytes_buffered{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_http_downstream_cx_upgrades_active gauge envoy_http_downstream_cx_upgrades_active{envoy_http_conn_manager_prefix="admin"} 0 # TYPE envoy_http_downstream_rq_active gauge envoy_http_downstream_rq_active{envoy_http_conn_manager_prefix="admin"} 1 # TYPE envoy_listener_manager_total_listeners_active gauge envoy_listener_manager_total_listeners_active{} 1 # TYPE envoy_server_parent_connections gauge envoy_server_parent_connections{} 0 # TYPE envoy_cluster_manager_warming_clusters gauge envoy_cluster_manager_warming_clusters{} 0 # TYPE envoy_http_downstream_cx_active gauge envoy_http_downstream_cx_active{envoy_http_conn_manager_prefix="admin"} 2 # TYPE envoy_listener_manager_total_listeners_draining gauge envoy_listener_manager_total_listeners_draining{} 0 # TYPE envoy_server_total_connections gauge envoy_server_total_connections{} 1 # TYPE envoy_server_concurrency gauge envoy_server_concurrency{} 16 # TYPE envoy_server_memory_allocated gauge envoy_server_memory_allocated{} 4216000 # TYPE envoy_server_hot_restart_epoch gauge envoy_server_hot_restart_epoch{} 0 # TYPE envoy_server_uptime gauge envoy_server_uptime{} 94576 # TYPE envoy_server_memory_heap_size gauge envoy_server_memory_heap_size{} 6291456 # TYPE envoy_server_days_until_first_cert_expiring gauge envoy_server_days_until_first_cert_expiring{} 2147483647 # TYPE envoy_listener_downstream_cx_active gauge envoy_listener_downstream_cx_active{envoy_listener_address="0.0.0.0_8000"} 1 # TYPE envoy_listener_downstream_pre_cx_active gauge envoy_listener_downstream_pre_cx_active{envoy_listener_address="0.0.0.0_8000"} 0 envoy_http_downstream_cx_tx_bytes_buffered{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_cx_upgrades_active{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_cx_ssl_active{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_cx_active{envoy_http_conn_manager_prefix="ingress_http"} 1 envoy_http_downstream_cx_http1_active{envoy_http_conn_manager_prefix="ingress_http"} 1 envoy_http_downstream_cx_http2_active{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_http_downstream_cx_rx_bytes_buffered{envoy_http_conn_manager_prefix="ingress_http"} 403 envoy_http_downstream_rq_active{envoy_http_conn_manager_prefix="ingress_http"} 0 envoy_cluster_upstream_rq_pending_active{envoy_cluster_name="cost"} 0 envoy_cluster_circuit_breakers_default_cx_open{envoy_cluster_name="cost"} 0 envoy_cluster_circuit_breakers_default_rq_pending_open{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_rq_active{envoy_cluster_name="cost"} 0 envoy_cluster_circuit_breakers_high_rq_pending_open{envoy_cluster_name="cost"} 0 envoy_cluster_circuit_breakers_default_rq_open{envoy_cluster_name="cost"} 0 envoy_cluster_max_host_weight{envoy_cluster_name="cost"} 1 envoy_cluster_membership_total{envoy_cluster_name="cost"} 0 envoy_cluster_circuit_breakers_high_cx_open{envoy_cluster_name="cost"} 0 envoy_cluster_circuit_breakers_default_rq_retry_open{envoy_cluster_name="cost"} 0 envoy_cluster_membership_healthy{envoy_cluster_name="cost"} 0 envoy_cluster_version{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_cx_active{envoy_cluster_name="cost"} 0 envoy_cluster_circuit_breakers_high_rq_retry_open{envoy_cluster_name="cost"} 0 envoy_cluster_circuit_breakers_high_rq_open{envoy_cluster_name="cost"} 0 envoy_cluster_lb_subsets_active{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_cx_tx_bytes_buffered{envoy_cluster_name="cost"} 0 envoy_cluster_upstream_cx_rx_bytes_buffered{envoy_cluster_name="cost"} 0配置prometheus 采集envoy
由于我實(shí)際測(cè)試過(guò)程中,envoy是部署在k8s當(dāng)中,所以,利用prometheus對(duì)pod 自動(dòng)發(fā)現(xiàn)的能力,沒(méi)有在prometheus做靜態(tài)配置。自動(dòng)發(fā)現(xiàn)的好處,就是當(dāng)pod hpa的時(shí)候,不需要去更改配置文件。
要采集envoy metrics,在 envoy deployment當(dāng)中要加入如下注解:
kind: Deployment apiVersion: apps/v1 metadata: name: gateway labels: app: gateway spec: replicas: 2 selector: matchLabels: app: gateway template: metadata: labels: app: gateway annotations: prometheus.io/scrape: "true" prometheus.io/path: "/stats/prometheus" prometheus.io/port: "9000" spec: volumes: - name: config configMap: name: gateway-cm containers: - name: gateway image: "envoyproxy/envoy:v1.9.0" env: - name: "CPUS" value: "1" - name: "SERVICE_NAME" value: "-gateway" resources: limits: cpu: "1" memory: 1Gi requests: cpu: "1" memory: 1Gi volumeMounts: - name: config mountPath: /etc/envoy/ imagePullPolicy: Always
注意如下的注解:
annotations: prometheus.io/scrape: "true" prometheus.io/path: "/stats/prometheus" prometheus.io/port: "9000"
然后查看prometheus的管理界面,查詢一下metrics:
prometheus已經(jīng)成功采集metrics。
grafana展示grafana dashbord中,已經(jīng)有兩個(gè)做好的模板。大家引入就可以了。
具體是envoy global看板(7253)和 Envoy Service Dashboard(7250)。
最后效果如下:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/33137.html
摘要:在第三部分中,我們將了解如何在服務(wù)網(wǎng)格中啟用分布式跟蹤。在此部署模型中,被部署為服務(wù)的在本例中為客戶端。會(huì)在服務(wù)調(diào)用之間添加一些追蹤,并發(fā)送到或您的跟蹤提供商目前支持和。這些示例的上游服務(wù)是。 本博客是深入研究Envoy Proxy和Istio.io 以及它如何實(shí)現(xiàn)更優(yōu)雅的方式來(lái)連接和管理微服務(wù)系列文章的一部分。 這是接下來(lái)幾個(gè)部分的想法(將在發(fā)布時(shí)更新鏈接): 斷路器(第一部分) ...
摘要:我們將直接向發(fā)送流量,以使其幫幫助處理熔斷。讓我們調(diào)用我們的服務(wù)我們將看到以下的輸出我們也能看到我們五次的調(diào)用成功了。 本博客是深入研究Envoy Proxy和Istio.io 以及它如何實(shí)現(xiàn)更優(yōu)雅的方式來(lái)連接和管理微服務(wù)系列文章的一部分。 這是接下來(lái)幾個(gè)部分的想法(將在發(fā)布時(shí)更新鏈接): 斷路器(第一部分) 重試/超時(shí)(第二部分) 分布式跟蹤(第三部分) Prometheus的指標(biāo)...
摘要:我們將直接向發(fā)送流量,以使其幫幫助處理熔斷。讓我們調(diào)用我們的服務(wù)我們將看到以下的輸出我們也能看到我們五次的調(diào)用成功了。 本博客是深入研究Envoy Proxy和Istio.io 以及它如何實(shí)現(xiàn)更優(yōu)雅的方式來(lái)連接和管理微服務(wù)系列文章的一部分。 這是接下來(lái)幾個(gè)部分的想法(將在發(fā)布時(shí)更新鏈接): 斷路器(第一部分) 重試/超時(shí)(第二部分) 分布式跟蹤(第三部分) Prometheus的指標(biāo)...
摘要:為安裝過(guò)濾器的偵聽(tīng)器上的每個(gè)新請(qǐng)求調(diào)用服務(wù),路由表指定應(yīng)調(diào)用服務(wù)。使用了令牌桶算法來(lái)限流。 本博客是深入研究Envoy Proxy和Istio.io 以及它如何實(shí)現(xiàn)更優(yōu)雅的方式來(lái)連接和管理微服務(wù)系列文章的一部分。 這是接下來(lái)幾個(gè)部分的想法(將在發(fā)布時(shí)更新鏈接): 斷路器(第一部分) 重試/超時(shí)(第二部分) 分布式跟蹤(第三部分) Prometheus的指標(biāo)收集(第四部分) rate ...
摘要:在第二部分中,我們將詳細(xì)介紹如何啟用其他彈性功能,如超時(shí)和重試。在此部署模型中,被部署為服務(wù)的在本例中為客戶端。這些示例的上游服務(wù)是。它們可以幫助傳播故障或?qū)赡苷趻暝膬?nèi)部服務(wù)造成類型攻擊。此延遲應(yīng)足以觸發(fā)超時(shí)。 本博客是深入研究Envoy Proxy和Istio.io 以及它如何實(shí)現(xiàn)更優(yōu)雅的方式來(lái)連接和管理微服務(wù)系列文章的一部分。 這是接下來(lái)幾個(gè)部分的想法(將在發(fā)布時(shí)更新鏈接):...
閱讀 1046·2021-11-22 13:52
閱讀 1470·2021-11-19 09:40
閱讀 3258·2021-11-16 11:44
閱讀 1304·2021-11-15 11:39
閱讀 3995·2021-10-08 10:04
閱讀 5433·2021-09-22 14:57
閱讀 3135·2021-09-10 10:50
閱讀 3219·2021-08-17 10:13