Description
Bug description
As I've blogged about - it's really important for us that we're able to reduce the cardinality of metrics at the Sidecar
.
We did this using an EnvoyFilter
configured with:
{
"debug": "false",
"stat_prefix": "istio",
"metrics": {
"tags_to_remove": ["destination_canonical_service", "source_canonical_service", "destination_principal", "source_principal", "connection_security_policy", "grpc_response_status", "source_version", "destination_version", "request_protocol", "source_canonical_revision", "destination_canonical_revision"]
},
"metrics": {
"name": "request_duration_milliseconds",
"tags_to_remove": ["response_code", "response_flags"],
},
"metrics": {
"name": "request_bytes",
"tags_to_remove": ["response_code", "response_flags"],
},
"metrics": {
"name": "response_bytes",
"tags_to_remove": ["response_code", "response_flags"],
}
}
This works fine on 1.5
, but on 1.6
we get no metrics at all. Switching it back to the default:
{
"debug": "false",
"stat_prefix": "istio"
}
And we start getting metrics, but with all the dimensions we're not interested in.
I'm guessing something has changed about this config between 1.5 and 1.6 but I cannot see anything in documentation to tell me what/why.
It also really highlights how dangerous EnvoyFilters are for configuration rather than first class API's.
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[x] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[x] User Experience
[x] Developer Infrastructure
Expected behavior
Metrics to work
Steps to reproduce the bug
Version (include the output of istioctl version --remote
and kubectl version --short
and helm version
if you used Helm)
1.6
How was Istio installed?
Helm
Environment where bug was observed (cloud vendor, OS, etc)