Karpenter makes several metrics available in Prometheus format to allow monitoring cluster provisioning status. These metrics are available by default at
karpenter.karpenter.svc.cluster.local:8080/metrics configurable via the
METRICS_PORT environment variable documented here
Number of deprovisioning actions performed. Labeled by action.
Duration of the deprovisioning evaluation process in seconds.
Amount of time required for a replacement node to become initialized.
Number of notification actions performed. Labeled by action
Count of messages deleted from the SQS queue.
Length of time between message creation in queue and an action taken on the message by the controller.
Count of messages received from the SQS queue. Broken down by message type and whether the message was actionable.
The Provisioner Limits are the limits specified on the provisioner that restrict the quantity of resources provisioned. Labeled by provisioner name and resource type.
The Provisioner Usage is the amount of resources that have been provisioned by a particular provisioner. Labeled by provisioner name and resource type.
The Provisioner Usage Percentage is the percentage of each resource used based on the resources provisioned and the limits that have been configured in the range [0,100]. Labeled by provisioner name and resource type.
Node allocatable are the resources allocatable by nodes.
Number of nodes created in total by Karpenter. Labeled by reason the node was created.
Node system daemon overhead are the resources reserved for system overhead, the difference between the node’s capacity and allocatable values are reported by the status.
Number of nodes terminated in total by Karpenter. Labeled by reason the node was terminated.
The time taken between a node’s deletion request and the removal of its finalizer
Node total daemon limits are the resources specified by DaemonSet pod limits.
Node total daemon requests are the resource requested by DaemonSet pods bound to nodes.
Node total pod limits are the resources specified by non-DaemonSet pod limits.
Node total pod requests are the resources requested by non-DaemonSet pods bound to nodes.
The time from pod creation until the pod is running.
Pod state is the current state of pods. This metric can be used several ways as it is labeled by the pod name, namespace, owner, node, provisioner name, zone, architecture, capacity type, instance type and pod phase.
Duration of cloud provider method calls. Labeled by the controller, method name and provider.
Allocation Controller Metrics
Duration of scheduling process in seconds. Broken down by provisioner and error.