mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +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