mirror of
				https://github.com/k3s-io/kubernetes.git
				synced 2025-10-31 05:40:42 +00:00 
			
		
		
		
	Add kubelet_node_name metrics
This commit is contained in:
		| @@ -1303,6 +1303,7 @@ func (kl *Kubelet) initializeModules() error { | |||||||
| 		collectors.NewVolumeStatsCollector(kl), | 		collectors.NewVolumeStatsCollector(kl), | ||||||
| 		collectors.NewLogMetricsCollector(kl.StatsProvider.ListPodStats), | 		collectors.NewLogMetricsCollector(kl.StatsProvider.ListPodStats), | ||||||
| 	) | 	) | ||||||
|  | 	metrics.SetNodeName(kl.nodeName) | ||||||
|  |  | ||||||
| 	// Setup filesystem directories. | 	// Setup filesystem directories. | ||||||
| 	if err := kl.setupDataDirs(); err != nil { | 	if err := kl.setupDataDirs(); err != nil { | ||||||
|   | |||||||
| @@ -13,6 +13,7 @@ go_library( | |||||||
|         "//pkg/features:go_default_library", |         "//pkg/features:go_default_library", | ||||||
|         "//pkg/kubelet/container:go_default_library", |         "//pkg/kubelet/container:go_default_library", | ||||||
|         "//staging/src/k8s.io/api/core/v1:go_default_library", |         "//staging/src/k8s.io/api/core/v1:go_default_library", | ||||||
|  |         "//staging/src/k8s.io/apimachinery/pkg/types:go_default_library", | ||||||
|         "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", |         "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", | ||||||
|         "//vendor/github.com/prometheus/client_golang/prometheus:go_default_library", |         "//vendor/github.com/prometheus/client_golang/prometheus:go_default_library", | ||||||
|         "//vendor/k8s.io/klog:go_default_library", |         "//vendor/k8s.io/klog:go_default_library", | ||||||
|   | |||||||
| @@ -23,6 +23,7 @@ import ( | |||||||
|  |  | ||||||
| 	"github.com/prometheus/client_golang/prometheus" | 	"github.com/prometheus/client_golang/prometheus" | ||||||
| 	corev1 "k8s.io/api/core/v1" | 	corev1 "k8s.io/api/core/v1" | ||||||
|  | 	"k8s.io/apimachinery/pkg/types" | ||||||
| 	utilfeature "k8s.io/apiserver/pkg/util/feature" | 	utilfeature "k8s.io/apiserver/pkg/util/feature" | ||||||
| 	"k8s.io/klog" | 	"k8s.io/klog" | ||||||
| 	"k8s.io/kubernetes/pkg/features" | 	"k8s.io/kubernetes/pkg/features" | ||||||
| @@ -31,6 +32,8 @@ import ( | |||||||
|  |  | ||||||
| const ( | const ( | ||||||
| 	KubeletSubsystem             = "kubelet" | 	KubeletSubsystem             = "kubelet" | ||||||
|  | 	NodeNameKey                  = "node_name" | ||||||
|  | 	NodeLabelKey                 = "node" | ||||||
| 	PodWorkerLatencyKey          = "pod_worker_latency_microseconds" | 	PodWorkerLatencyKey          = "pod_worker_latency_microseconds" | ||||||
| 	PodStartLatencyKey           = "pod_start_latency_microseconds" | 	PodStartLatencyKey           = "pod_start_latency_microseconds" | ||||||
| 	CgroupManagerOperationsKey   = "cgroup_manager_latency_microseconds" | 	CgroupManagerOperationsKey   = "cgroup_manager_latency_microseconds" | ||||||
| @@ -65,6 +68,14 @@ const ( | |||||||
| ) | ) | ||||||
|  |  | ||||||
| var ( | var ( | ||||||
|  | 	NodeName = prometheus.NewGaugeVec( | ||||||
|  | 		prometheus.GaugeOpts{ | ||||||
|  | 			Subsystem: KubeletSubsystem, | ||||||
|  | 			Name:      NodeNameKey, | ||||||
|  | 			Help:      "The node's name. The count is always 1.", | ||||||
|  | 		}, | ||||||
|  | 		[]string{NodeLabelKey}, | ||||||
|  | 	) | ||||||
| 	ContainersPerPodCount = prometheus.NewSummary( | 	ContainersPerPodCount = prometheus.NewSummary( | ||||||
| 		prometheus.SummaryOpts{ | 		prometheus.SummaryOpts{ | ||||||
| 			Subsystem: KubeletSubsystem, | 			Subsystem: KubeletSubsystem, | ||||||
| @@ -207,6 +218,7 @@ var registerMetrics sync.Once | |||||||
| func Register(containerCache kubecontainer.RuntimeCache, collectors ...prometheus.Collector) { | func Register(containerCache kubecontainer.RuntimeCache, collectors ...prometheus.Collector) { | ||||||
| 	// Register the metrics. | 	// Register the metrics. | ||||||
| 	registerMetrics.Do(func() { | 	registerMetrics.Do(func() { | ||||||
|  | 		prometheus.MustRegister(NodeName) | ||||||
| 		prometheus.MustRegister(PodWorkerLatency) | 		prometheus.MustRegister(PodWorkerLatency) | ||||||
| 		prometheus.MustRegister(PodStartLatency) | 		prometheus.MustRegister(PodStartLatency) | ||||||
| 		prometheus.MustRegister(CgroupManagerLatency) | 		prometheus.MustRegister(CgroupManagerLatency) | ||||||
| @@ -372,3 +384,7 @@ func SetConfigError(err bool) { | |||||||
| 		ConfigError.Set(0) | 		ConfigError.Set(0) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func SetNodeName(name types.NodeName) { | ||||||
|  | 	NodeName.WithLabelValues(string(name)).Set(1) | ||||||
|  | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user