The Kubernetes scheduler is a control plane process that assigns Pods to the nodes. The scheduler determines which nodes are valid placements for each Pod in the scheduling queue according to the constraints and available resources. The scheduler then ranks each valid node and binds the Pod to a suitable node. Multiple different schedulers may be used within a cluster. By default, the kube-scheduler runs on port 10251 and exposes the metrics of /metrics in openMetric format. The Agent hits the endpoint with the kubernetes client and fetches the metrics automatically. Therefore, no extra configuration or detection logic is required.
Validate
Go to Resources under the Infrastructure tab to check if your resources are onboarded and the metrics are collected.
Supported metrics
OpsRamp Metric | Metric Display Name | Unit |
---|---|---|
kube_scheduler_binding_duration_seconds Average binding latency | Average Binding Latency | seconds |
kube_scheduler_binding_latency_microseconds Average binding latency | Average Binding Latency In Micro seconds | microseconds |
kube_scheduler_cache_lookups Total number of equivalence cache lookups, by whether or not a cache entry was found | Equiv Cache Lookups Total | |
kube_scheduler_client_http_requests Number of HTTP requests, partitioned by status code, method, and host | Client HTTP Requests | |
kube_scheduler_http_requests_duration Request latency broken down by verb and URL | Rest Client Request Latency Seconds | seconds |
kube_scheduler_go_gc_duration_seconds Average of the GC invocation duration | Average GC Invocation Duration | |
kube_scheduler_go_gc_duration_seconds_quantile GC invocation duration Quantiles | GC Invocation Duration Quantiles | |
kube_scheduler_goroutines Number of goroutines that currently exist | Go Goroutines | |
kube_scheduler_process_max_fds Maximum number of open file descriptors | Max Open File Descriptors | |
kube_scheduler_process_open_fds Number of open file descriptors | Open File Descriptors | |
kube_scheduler_pod_preemption_victims Average number of selected preemption victims | Average Selected Preemption Victims | |
kube_scheduler_pod_preemption_attempts Rate of preemption attempts in the cluster since last pool | Preemption Attempts Rate | |
kube_scheduler_schedule_attempts Rate of number of attempts to schedule pods, by the result; 'unschedulable' means a pod could not be scheduled, while 'error' means an internal scheduler problem | Schedule Attempts Rate | |
kube_scheduler_scheduling_algorithm_duration_seconds Average scheduling algorithm latency | Average Scheduling Latency | Seconds |
kube_scheduler_scheduling_algorithm_latency_microseconds Average scheduling algorithm latency | Average Scheduling Latency Micro seconds | microseconds |
kube_scheduler_scheduling_algorithm_predicate_evaluation_duration Average scheduling algorithm predicate evaluation duration | Average Scheduling Algorithm Predicate Evaluation Duration | seconds |
kube_scheduler_scheduling_algorithm_preemption_evaluation_duration Average Scheduling algorithm preemption evaluation duration | Average Scheduling Algorithm Preemption Evaluation Duration | seconds |
kube_scheduler_scheduling_algorithm_priority_evaluation_duration Average Scheduling algorithm priority evaluation duration | Average Scheduling Algorithm Priority Evaluation Duration | seconds |
kube_scheduler_e2e_scheduling_duration Average E2e scheduling latency (scheduling algorithm + binding) | Average E2e Scheduling Latency | seconds |
kube_scheduler_scheduling_duration_seconds Average Scheduling latency split by sub-parts of the scheduling operation | Average Scheduling latency Split By Sub-Parts | seconds |
kube_scheduler_scheduling_duration_quantile Quantile of Scheduling latency split by sub-parts of the scheduling operation | Quantile Scheduling latency Split By Sub-Parts | seconds |
kube_scheduler_go_threads Number of OS threads created | OS Threads Count | |
kube_scheduler_volume_scheduling_duration Average volume scheduling stage latency | Average Volume Scheduling Stage Latency |