From 523ffad1b31f8586c2935305c40b6a032318ad83 Mon Sep 17 00:00:00 2001 From: Olaf Klischat Date: Sat, 21 Jul 2018 11:15:48 +0200 Subject: [PATCH] label machines metric with kubelet version --- pkg/controller/machine/metrics.go | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/pkg/controller/machine/metrics.go b/pkg/controller/machine/metrics.go index 0b4c4acfb..c29640691 100644 --- a/pkg/controller/machine/metrics.go +++ b/pkg/controller/machine/metrics.go @@ -44,7 +44,7 @@ func NewMachineCollector(lister v1alpha1.MachineLister) *MachineCollector { machines: prometheus.NewDesc( metricsPrefix+"machines", "The number of machines managed by this machine controller", - nil, nil, + []string{"kubelet_version"}, nil, ), machineCreated: prometheus.NewDesc( metricsPrefix+"machine_created", @@ -71,11 +71,7 @@ func (mc MachineCollector) Collect(ch chan<- prometheus.Metric) { return } - ch <- prometheus.MustNewConstMetric( - mc.machines, - prometheus.GaugeValue, - float64(len(machines)), - ) + machinesCountByKubeletVersion := make(map[string]uint) for _, machine := range machines { ch <- prometheus.MustNewConstMetric( @@ -93,5 +89,16 @@ func (mc MachineCollector) Collect(ch chan<- prometheus.Metric) { machine.Name, ) } + + machinesCountByKubeletVersion[machine.Spec.Versions.Kubelet]++; + } + + for version, count := range machinesCountByKubeletVersion { + ch <- prometheus.MustNewConstMetric( + mc.machines, + prometheus.GaugeValue, + float64(count), + version, + ) } }