The Kubernetes controller manager is a daemon that embeds the core control loops shipped with Kubernetes. This controller Pod exposes its metrics to analyze. A controller is a control loop that watches the shared state of the cluster through the Api Server and makes changes attempting to move the current state towards the state. Examples of controllers that ship with Kubernetes today are the replication controller, endpoints controller, namespace controller, and serviceaccounts controller.

Collector Type: Agent

Category: Application Monitors

Application Name: k8s Controller

Global Template Name: Kubernetes Controller

Validate

Go to Resources under the Infrastructure tab to check if your resources are onboarded and the metrics are collected.

Collected Metrics

Metric NameDisplay NameDescription
controller.workqueue.work_duration.sumKube Controller Workqueue Work Duration Seconds SumHow long in seconds processing an item from workqueue takes.
controller.workqueue.work_duration.countKube Controller Workqueue Work Duration Seconds CountTotal time in seconds processing an item from workqueue takes.
controller.workqueue.work_unfinished_durationKube Controller Workqueue Unfinished Work SecondsHow many seconds of work has done that is in progress and hasn't been observed by work_duration. Large values indicate stuck threads.
controller.workqueue.work_longest_durationKube Controller Workqueue Longest Running Processor SecondsHow many seconds has the longest running processor for workqueue been running.
controller.workqueue.queue_duration.sumKube Controller Workqueue Queue Duration Seconds SumHow long in seconds an item stays in workqueue before being requested.
controller.workqueue.queue_duration.countKube Controller Workqueue Queue Duration Seconds CountTotal how long in seconds an item stays in workqueue before being requested.
controller.workqueue.nodes.countKube Controller Registered NodesNumber of registered Nodes per zones.
controller.workqueue.nodes.unhealthyKube Controller Node Collector Unhealthy Nodes in ZoneNumber of not Ready Nodes per zones.
controller.workqueue.nodes.evictionsKube Controller Node Collector Evictions NumberNumber of Node evictions that happened since current instance of NodeController started.
controller.workqueue.depthKube Controller Workqueue DepthCurrent depth of workqueue.
controller.workqueue.addsKube Controller Workqueue Adds TotalTotal number of adds handled by workqueue.
controller.workqueue.retriesKube Controller Workqueue Retries TotalTotal number of retries handled by workqueue.
controller.rate_limiter.useKube Controller Node Lifecycle Controller Rate Limiter UseA metric measuring the saturation of the rate limiter for node_lifecycle_controller.
controller.go.goroutinesKube Controller Go GoroutinesNumber of goroutines that currently exist.
controller.threadsKube Controller Os ThreadsNumber of OS threads created.
controller.process.max_fdsKube Controller Process Max FdsMaximum number of open file descriptors.
controller.process.open_fdsKube Controller Process Open FdsNumber of open file descriptors.