Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why Are Requests Passing the Dynamic Listener Not Collected? #36728

Open
SpongeBobIsTheKingInTheNorth opened this issue Oct 21, 2024 · 2 comments
Labels
question Questions that are neither investigations, bugs, nor enhancements

Comments

@SpongeBobIsTheKingInTheNorth
Copy link

SpongeBobIsTheKingInTheNorth commented Oct 21, 2024

Title: Why Are Requests Passing the Dynamic Listener Not Collected?

Description:
I pushed Cluster and Listener to Envoy(Latest version 1.32) through istio and accessed backend services through Envoy many times. But I requested the /stats and /cluster interfaces and only got rq_xx=0

Here is the result from /clusters, the result of 'rq_total' and 'rq_total' is correct!

outbound|8088||nginx-perf-8088.some-namespace.svc.cluster.local::20.0.1.148:80::rq_success::495
outbound|8088||nginx-perf-8088.some-namespace.svc.cluster.local::20.0.1.148:80::rq_timeout::0
outbound|8088||nginx-perf-8088.some-namespace.svc.cluster.local::20.0.1.148:80::rq_total::495

Here is the result from /stats, it doesn't have any request data about my cluster like /clusters.

cluster.xds-grpc.upstream_rq_200: 0
cluster.xds-grpc.upstream_rq_2xx: 0
cluster.xds-grpc.upstream_rq_total: 0

Here is some configuration exported from envoy /config_dump?include_eds

[optional Relevant Links:]

{
 "configs": [
  {
   "@type": "type.googleapis.com/envoy.admin.v3.ClustersConfigDump",
   "dynamic_active_clusters": [
    {
     "cluster": {
      "@type": "type.googleapis.com/envoy.config.cluster.v3.Cluster",
      "name": "outbound|8088||nginx-perf-8088.some-namespace.svc.cluster.local",
      "type": "EDS",
      "eds_cluster_config": {
       "eds_config": {
        "ads": {},
        "initial_fetch_timeout": "0s",
        "resource_api_version": "V3"
       },
       "service_name": "outbound|8088||nginx-perf-8088.some-namespace.svc.cluster.local"
      },
      "connect_timeout": "10s",
      "lb_policy": "LEAST_REQUEST",
      "circuit_breakers": {
       "thresholds": [
        {
         "max_connections": 4294967295,
         "max_pending_requests": 4294967295,
         "max_requests": 4294967295,
         "max_retries": 4294967295,
         "track_remaining": true
        }
       ]
      },
      "upstream_bind_config": {
       "socket_options": [
        {
         "description": "ens-qwxnmb",
         "level": "1",
         "name": "25",
         "buf_value": "ZW5zLXF3eG5tYg=="
        }
       ]
      },
      "metadata": {
       "filter_metadata": {
        "istio": {
         "services": [
          {
           "namespace": "some-namespace",
           "name": "nginx-perf-8088",
           "host": "nginx-perf-8088.some-namespace.svc.cluster.local"
          }
         ],
         "default_original_port": 8088
        }
       }
      },
      "common_lb_config": {
       "locality_weighted_lb_config": {}
      },
      "filters": [
       {
        "name": "istio.metadata_exchange",
        "typed_config": {
         "@type": "type.googleapis.com/envoy.tcp.metadataexchange.config.MetadataExchange",
         "protocol": "istio-peer-exchange"
        }
       }
      ]
     }
    }
   ]
  },
  {
   "@type": "type.googleapis.com/envoy.admin.v3.EndpointsConfigDump",
   "dynamic_endpoint_configs": [
    {
     "endpoint_config": {
      "@type": "type.googleapis.com/envoy.config.endpoint.v3.ClusterLoadAssignment",
      "cluster_name": "outbound|8088||nginx-perf-8088.some-namespace.svc.cluster.local",
      "endpoints": [
       {
        "locality": {
         "region": "az0.dc0"
        },
        "lb_endpoints": [
         {
          "endpoint": {
           "address": {
            "socket_address": {
             "address": "20.0.1.80",
             "port_value": 80
            }
           },
           "health_check_config": {}
          },
          "health_status": "HEALTHY",
          "metadata": {
           "filter_metadata": {
            "istio": {
             "workload": "cce01-nginx-perf-test-db5d7c6cd-lhvrv;some-namespace;;;Kubernetes"
            }
           }
          },
          "load_balancing_weight": 1
         },
         {
          "endpoint": {
           "address": {
            "socket_address": {
             "address": "20.0.1.148",
             "port_value": 80
            }
           },
           "health_check_config": {}
          },
          "health_status": "HEALTHY",
          "metadata": {
           "filter_metadata": {
            "istio": {
             "workload": "cce01-nginx-perf-test-db5d7c6cd-m87sh;some-namespace;;;Kubernetes"
            }
           }
          },
          "load_balancing_weight": 1
         }
        ],
        "load_balancing_weight": 2
       }
      ],
      "policy": {
       "overprovisioning_factor": 140
      }
     }
    },
   ]
  },
  {
   "@type": "type.googleapis.com/envoy.admin.v3.ListenersConfigDump",
   "dynamic_listeners": [
    {
     "name": "30.0.7.3_11111_ens-qwxnmb",
     "active_state": {
      "listener": {
       "@type": "type.googleapis.com/envoy.config.listener.v3.Listener",
       "name": "30.0.7.3_11111_ens-qwxnmb",
       "address": {
        "socket_address": {
         "address": "30.0.7.3",
         "port_value": 11111
        }
       },
       "filter_chains": [
        {
         "filters": [
          {
           "name": "envoy.filters.network.tcp_proxy",
           "typed_config": {
            "@type": "type.googleapis.com/envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy",
            "stat_prefix": "outbound|8088||nginx-perf-8088.some-namespace.svc.cluster.local",
            "cluster": "outbound|8088||nginx-perf-8088.some-namespace.svc.cluster.local"
           }
          }
         ]
        }
       ],
       "traffic_direction": "OUTBOUND",
       "stat_prefix": "ens-qwxnmb"
      }
     }
    }
   ]
  },
  {
   "@type": "type.googleapis.com/envoy.admin.v3.ScopedRoutesConfigDump"
  }
 ]
}
@SpongeBobIsTheKingInTheNorth SpongeBobIsTheKingInTheNorth added the triage Issue requires triage label Oct 21, 2024
@mattklein123 mattklein123 added question Questions that are neither investigations, bugs, nor enhancements and removed triage Issue requires triage labels Oct 21, 2024
@mattklein123
Copy link
Member

I think Istio disables a bunch of metrics by default but I'm not 100% sure. I would talk to them.

@SpongeBobIsTheKingInTheNorth
Copy link
Author

As a supplement, I used Envoy's latest version 1.32.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Questions that are neither investigations, bugs, nor enhancements
Projects
None yet
Development

No branches or pull requests

2 participants