Update ingress gateway stats labeling

In the absence of stats_tags to handle this pattern, when we pass
"ingress_upstream.$port" as the stat_prefix, Envoy splits up that prefix
and makes the port a part of the metric name.

For example:
- stat_prefix: ingress_upstream.8080

This leads to metric names like envoy_http_8080_no_route. Changing the
stat_prefix to ingress_upstream_80880 yields the expected metric names
such as envoy_http_no_route.

Note that we don't encode the destination's name/ns/dc in this
stat_prefix because for HTTP services ingress gateways use a single
filter chain. Only cluster metrics are available on a per-upstream
basis.
This commit is contained in:
freddygv 2021-06-15 08:17:23 -06:00
parent 6f8c6043b6
commit 0aec6761dc
5 changed files with 7 additions and 7 deletions

View File

@ -536,7 +536,7 @@ func (s *ResourceGenerator) makeIngressGatewayListeners(address string, cfgSnap
filterName: listenerKey.RouteName(), filterName: listenerKey.RouteName(),
routeName: listenerKey.RouteName(), routeName: listenerKey.RouteName(),
cluster: "", cluster: "",
statPrefix: "ingress_upstream.", statPrefix: "ingress_upstream_",
routePath: "", routePath: "",
httpAuthzFilter: nil, httpAuthzFilter: nil,
} }

View File

@ -17,7 +17,7 @@
"name": "envoy.filters.network.http_connection_manager", "name": "envoy.filters.network.http_connection_manager",
"typedConfig": { "typedConfig": {
"@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager", "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
"statPrefix": "ingress_upstream.443", "statPrefix": "ingress_upstream_443",
"rds": { "rds": {
"configSource": { "configSource": {
"ads": { "ads": {
@ -60,7 +60,7 @@
"name": "envoy.filters.network.http_connection_manager", "name": "envoy.filters.network.http_connection_manager",
"typedConfig": { "typedConfig": {
"@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager", "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
"statPrefix": "ingress_upstream.8080", "statPrefix": "ingress_upstream_8080",
"rds": { "rds": {
"configSource": { "configSource": {
"ads": { "ads": {

View File

@ -17,7 +17,7 @@
"name": "envoy.filters.network.http_connection_manager", "name": "envoy.filters.network.http_connection_manager",
"typedConfig": { "typedConfig": {
"@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager", "@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager",
"statPrefix": "ingress_upstream.443", "statPrefix": "ingress_upstream_443",
"rds": { "rds": {
"configSource": { "configSource": {
"ads": { "ads": {
@ -60,7 +60,7 @@
"name": "envoy.filters.network.http_connection_manager", "name": "envoy.filters.network.http_connection_manager",
"typedConfig": { "typedConfig": {
"@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager", "@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager",
"statPrefix": "ingress_upstream.8080", "statPrefix": "ingress_upstream_8080",
"rds": { "rds": {
"configSource": { "configSource": {
"ads": { "ads": {

View File

@ -17,7 +17,7 @@
"name": "envoy.filters.network.http_connection_manager", "name": "envoy.filters.network.http_connection_manager",
"typedConfig": { "typedConfig": {
"@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager", "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
"statPrefix": "ingress_upstream.9191", "statPrefix": "ingress_upstream_9191",
"rds": { "rds": {
"configSource": { "configSource": {
"ads": { "ads": {

View File

@ -17,7 +17,7 @@
"name": "envoy.filters.network.http_connection_manager", "name": "envoy.filters.network.http_connection_manager",
"typedConfig": { "typedConfig": {
"@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager", "@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager",
"statPrefix": "ingress_upstream.9191", "statPrefix": "ingress_upstream_9191",
"rds": { "rds": {
"configSource": { "configSource": {
"ads": { "ads": {