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

\x00 or \0 from GetZoneKey is in controller prometheus endpoint. #73867

Open
Ramyak opened this Issue Feb 9, 2019 · 6 comments

Comments

Projects
None yet
5 participants
@Ramyak
Copy link
Contributor

Ramyak commented Feb 9, 2019

What happened:
Controller's prometheus endpoint has \0.

node_collector_evictions_number{zone="us-east-1:^@:us-east-1a"} 1
node_collector_evictions_number{zone="us-east-1:^@:us-east-1b"} 3
node_collector_evictions_number{zone="us-east-1:^@:us-east-1e"} 4
# HELP node_collector_unhealthy_nodes_in_zone Gauge measuring number of not Ready Nodes per zones.
# TYPE node_collector_unhealthy_nodes_in_zone gauge
node_collector_unhealthy_nodes_in_zone{zone="us-east-1:^@:us-east-1a"} 0
node_collector_unhealthy_nodes_in_zone{zone="us-east-1:^@:us-east-1b"} 0
node_collector_unhealthy_nodes_in_zone{zone="us-east-1:^@:us-east-1e"} 0
# HELP node_collector_zone_health Gauge measuring percentage of healthy nodes per zone.
# TYPE node_collector_zone_health gauge
node_collector_zone_health{zone="us-east-1:^@:us-east-1a"} 100
node_collector_zone_health{zone="us-east-1:^@:us-east-1b"} 100
node_collector_zone_health{zone="us-east-1:^@:us-east-1e"} 100
# HELP node_collector_zone_size Gauge measuring number of registered Nodes per zones.
# TYPE node_collector_zone_size gauge
node_collector_zone_size{zone="us-east-1:^@:us-east-1a"} 383
node_collector_zone_size{zone="us-east-1:^@:us-east-1b"} 383
node_collector_zone_size{zone="us-east-1:^@:us-east-1e"} 381

https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels
That is not conformant to prometheus's allowed characters.

What you expected to happen:
Would be good.
node_collector_zone_size{zone="us-east-1::us-east-1e"} 381

How to reproduce it (as minimally and precisely as possible):
curl controller's prometheus endpoint like http://localhost:10252/metrics

Anything else we need to know?:

Environment:

  • Kubernetes version (use kubectl version): Head, v1.10.8

/sig cluster-lifecycle

@Ramyak Ramyak added the kind/bug label Feb 9, 2019

@Ramyak Ramyak referenced a pull request that will close this issue Feb 9, 2019

Open

Remove \0 in zone key #73868

@neolit123

This comment has been minimized.

Copy link
Member

neolit123 commented Feb 10, 2019

/remove-sig cluster-lifecycle
/sig node

@neolit123

This comment has been minimized.

Copy link
Member

neolit123 commented Feb 10, 2019

/remove-sig node
/sig apps

@k8s-ci-robot k8s-ci-robot added sig/apps and removed sig/node labels Feb 10, 2019

@kow3ns

This comment has been minimized.

Copy link
Member

kow3ns commented Feb 11, 2019

https://github.com/kubernetes/kubernetes/blob/7f23a743e8c23ac6489340bbb34fa6f1d392db9d/pkg/controller/nodelifecycle/metrics.go

Node metrics aren't sig apps. I think cluster lifecycle is probably the right place

@kow3ns

This comment has been minimized.

Copy link
Member

kow3ns commented Feb 11, 2019

/sig cluster-lifecycle

@kow3ns

This comment has been minimized.

Copy link
Member

kow3ns commented Feb 11, 2019

/remove-sig apps

@Ramyak

This comment has been minimized.

Copy link
Contributor Author

Ramyak commented Feb 13, 2019

/assign roberthbailey

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment