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鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
[eks] [request]: Support specifying API Server Metric Cardinality Enforcement flag #2333
Comments
@sidewinder12s the KPS K8s API |
No, we specifically are interested in the Kubernetes Enhancement. Certain types of metric labels are hard to drop using relabel rules and I'd rather be able to configure exactly what we want exposed. Specifically CRDs and Histogram buckets were pretty hard to get right/impossible with relabel rules. |
@sidewinder12s I know that being able to configure this directly would be simpler and more consistent but so far AWS have resisted the ability for end-users to customise control plane components. Without customisation it'd still be good to check that EKS is configured for consistency even if we're on a one size fits all.
Could you elaborate a bit more about why this is the case? We're about to spend a bit of time reducing out metrics overhead and I'd assumed that this would be hard work but achievable with relabeling. |
Largely comes down to inconsistency between metrics/labels on API Server metrics. When I summed up metrics/labels by the API Server Job, there were like 50+ different histogram buckets of varying size and relabel/regex doesn't handle trying to write a regex for it very well. Here is an example of what we'd done so far, without those histogram drops:
I had not yet tried explicitly looking at each and every metrics exported histogram bucket, but I think that's what it would take (vs trying to do a regex for all buckets over 10s/under 100ms). And that work would have to be repeated after every upgrade since metrics, especially the alpha metrics can change all the time. Either way figuring out what to drop is not easy in Prometheus, it usually requires some level of familiarity with the metrics source which usually is not the case. |
Community Note
Tell us about your request
Let users configure this API Flag: kubernetes/enhancements#2305
Which service(s) is this request for?
EKS
Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?
API Server metrics are extremely high cardinality to begin with and only gets exponentially worse the more CRDs you install into the control plane. The upstream community has provided this flag as a source side control to this.
This is extremely problematic for many installations of Prometheus or managed prometheus providers where you are paying for every series generated, such as AWS Managed Prometheus or Grafana Cloud.
Are you currently working around this issue?
Attempting to write prometheus relabel rules to drop what we don't need.
The text was updated successfully, but these errors were encountered: