Kubernetes State integration metrics

The official Datadog integration for monitoring Kubernetes State. It collects 118 metrics.

Official summary

Capture Pod scheduling events, track the status of your Kubelets, and more.

Metric types

  • gauge (value at a point in time): 110
  • count (occurrences in the interval): 8

Metrics

Descriptions are the official definitions, unedited.

MetricTypeUnit
kubernetes_state.container.cpu_limitThe limit on cpu cores to be used by a containergaugecpu
kubernetes_state.container.cpu_requestedThe number of requested cpu cores by a containergaugecpu
kubernetes_state.container.gpu.limitThe limit on gpu devices to be used by a containergauge-
kubernetes_state.container.gpu.requestThe number of requested gpu devices by a containergauge-
kubernetes_state.container.memory_limitThe limit on memory to be used by a containergaugebyte
kubernetes_state.container.memory_requestedThe number of requested memory bytes by a containergaugebyte
kubernetes_state.container.readyWhether the containers readiness check succeededgauge-
kubernetes_state.container.restartsThe number of restarts per containergauge-
kubernetes_state.container.runningWhether the container is currently in running stategauge-
kubernetes_state.container.status_report.count.terminatedCount of the containers currently reporting a in terminated state with the reason as a taggauge-
kubernetes_state.container.status_report.count.waitingCount of the containers currently reporting a in waiting state with the reason as a taggauge-
kubernetes_state.container.terminatedWhether the container is currently in terminated stategauge-
kubernetes_state.container.waitingWhether the container is currently in waiting stategauge-
kubernetes_state.daemonset.desiredThe number of nodes that should be running the daemon podgauge-
kubernetes_state.daemonset.misscheduledThe number of nodes running a daemon pod but are not supposed togauge-
kubernetes_state.daemonset.readyThe number of nodes that should be running the daemon pod and have one or more running and readygauge-
kubernetes_state.daemonset.scheduledThe number of nodes running at least one daemon pod and that are supposed togauge-
kubernetes_state.daemonset.updatedThe number of nodes that run the updated daemon pod specgauge-
kubernetes_state.deployment.countThe number of deploymentsgauge-
kubernetes_state.deployment.pausedWhether a deployment is pausedgauge-
kubernetes_state.deployment.replicasThe number of replicas per deploymentgauge-
kubernetes_state.deployment.replicas_availableThe number of available replicas per deploymentgauge-
kubernetes_state.deployment.replicas_desiredThe number of desired replicas per deploymentgauge-
kubernetes_state.deployment.replicas_unavailableThe number of unavailable replicas per deploymentgauge-
kubernetes_state.deployment.replicas_updatedThe number of updated replicas per deploymentgauge-
kubernetes_state.deployment.rollingupdate.max_unavailableMaximum number of unavailable replicas during a rolling updategauge-
kubernetes_state.endpoint.address_availableNumber of addresses available in endpointgauge-
kubernetes_state.endpoint.address_not_readyNumber of addresses not ready in endpointgauge-
kubernetes_state.endpoint.createdUnix creation timestampgauge-
kubernetes_state.hpa.conditionObserved condition of autoscalers to sum by condition and statusgauge-
kubernetes_state.hpa.desired_replicasDesired number of replicas of pods managed by this autoscalergauge-
kubernetes_state.hpa.max_replicasUpper limit for the number of pods that can be set by the autoscalergauge-
kubernetes_state.hpa.min_replicasLower limit for the number of pods that can be set by the autoscalergauge-
kubernetes_state.job.countThe number of jobsgauge-
kubernetes_state.job.failedObserved number of failed pods in a jobcount-
kubernetes_state.job.succeededObserved number of succeeded pods in a jobcount-
kubernetes_state.limitrange.cpu.defaultDefault CPU limit if not specifiedgauge-
kubernetes_state.limitrange.cpu.default_requestDefault CPU request if not specifiedgauge-
kubernetes_state.limitrange.cpu.maxMaximum CPU limit for this typegauge-
kubernetes_state.limitrange.cpu.max_limit_request_ratioMaximum CPU limit / request ratiogauge-
kubernetes_state.limitrange.cpu.minMinimum CPU request for this typegauge-
kubernetes_state.limitrange.memory.defaultDefault memory limit if not specifiedgauge-
kubernetes_state.limitrange.memory.default_requestDefault memory request if not specifiedgauge-
kubernetes_state.limitrange.memory.maxMaximum memory limit for this typegauge-
kubernetes_state.limitrange.memory.max_limit_request_ratioMaximum memory limit / request ratiogauge-
kubernetes_state.limitrange.memory.minMinimum memory request for this typegauge-
kubernetes_state.namespace.countThe number of namespacesgaugecpu
kubernetes_state.node.by_conditionThe condition of a cluster nodegauge-
kubernetes_state.node.countThe number of nodescountnode
kubernetes_state.node.cpu_allocatableThe CPU resources of a node that are available for schedulinggaugecpu
kubernetes_state.node.cpu_capacityThe total CPU resources of the nodegaugecpu
kubernetes_state.node.gpu.cards_allocatableThe GPU resources of a node that are available for schedulinggauge-
kubernetes_state.node.gpu.cards_capacityThe total GPU resources of the nodegauge-
kubernetes_state.node.memory_allocatableThe memory resources of a node that are available for schedulinggaugebyte
kubernetes_state.node.memory_capacityThe total memory resources of the nodegaugebyte
kubernetes_state.node.pods_allocatableThe pod resources of a node that are available for schedulinggauge-
kubernetes_state.node.pods_capacityThe total pod resources of the nodegauge-
kubernetes_state.node.statusSubmitted with a value of 1 for each node and tagged either 'status:schedulable' or 'status:unschedulable'; Sum this metric by either status to get the number of nodes in that status.gauge-
kubernetes_state.nodes.by_conditionTo sum by condition and status to get number of nodes in a given condition.gauge-
kubernetes_state.pdb.disruptions_allowedNumber of pod disruptions that are currently allowedgauge-
kubernetes_state.pdb.pods_desiredMinimum desired number of healthy podsgauge-
kubernetes_state.pdb.pods_healthyCurrent number of healthy podsgauge-
kubernetes_state.pdb.pods_totalTotal number of pods counted by this disruption budgetgauge-
kubernetes_state.persistentvolumeclaim.request_storageStorage space request for a given pvcgaugebyte
kubernetes_state.persistentvolumeclaim.statusThe phase the persistent volume claim is currently ingauge-
kubernetes_state.persistentvolumes.by_phaseNumber of persistent volumes to sum by phase and storageclassgauge-
kubernetes_state.pod.readyIn association with the condition tag, whether the pod is ready to serve requests, e.g. condition:true keeps the pods that are in a ready stategauge-
kubernetes_state.pod.scheduledReports the status of the scheduling process for the pod with its tagsgauge-
kubernetes_state.pod.status_phaseTo sum by phase to get number of pods in a given phase, and namespace to break this down by namespacegauge-
kubernetes_state.pod.unschedulableReports PODs that Kube scheduler cannot schedule on any nodegauge-
kubernetes_state.replicaset.countThe number of replicasetsgauge-
kubernetes_state.replicaset.fully_labeled_replicasThe number of fully labeled replicas per ReplicaSetgauge-
kubernetes_state.replicaset.replicasThe number of replicas per ReplicaSetgauge-
kubernetes_state.replicaset.replicas_desiredNumber of desired pods for a ReplicaSetgauge-
kubernetes_state.replicaset.replicas_readyThe number of ready replicas per ReplicaSetgauge-
kubernetes_state.replicationcontroller.fully_labeled_replicasThe number of fully labeled replicas per ReplicationControllergauge-
kubernetes_state.replicationcontroller.replicasThe number of replicas per ReplicationControllergauge-
kubernetes_state.replicationcontroller.replicas_availableThe number of available replicas per ReplicationControllergauge-
kubernetes_state.replicationcontroller.replicas_desiredNumber of desired replicas for a ReplicationControllergauge-
kubernetes_state.replicationcontroller.replicas_readyThe number of ready replicas per ReplicationControllergauge-
kubernetes_state.resourcequota.limits.cpu.limitHard limit on the sum of CPU core limits for a resource quotagaugecpu
kubernetes_state.resourcequota.limits.cpu.usedObserved sum of limits for CPU cores for a resource quotagaugecpu
kubernetes_state.resourcequota.limits.memory.limitHard limit on the sum of memory bytes limits for a resource quotagaugebyte
kubernetes_state.resourcequota.limits.memory.usedObserved sum of limits for memory bytes for a resource quotagaugebyte
kubernetes_state.resourcequota.persistentvolumeclaims.limitHard limit of the number of PVC for a resource quotagauge-
kubernetes_state.resourcequota.persistentvolumeclaims.usedObserved number of persistent volume claims used for a resource quotagauge-
kubernetes_state.resourcequota.pods.limitHard limit of the number of pods for a resource quotagauge-
kubernetes_state.resourcequota.pods.usedObserved number of pods used for a resource quotagauge-
kubernetes_state.resourcequota.requests.cpu.limitHard limit on the total of CPU core requested for a resource quotagaugecpu
kubernetes_state.resourcequota.requests.cpu.usedObserved sum of CPU cores requested for a resource quotagaugecpu
kubernetes_state.resourcequota.requests.memory.limitHard limit on the total of memory bytes requested for a resource quotagaugebyte
kubernetes_state.resourcequota.requests.memory.usedObserved sum of memory bytes requested for a resource quotagaugebyte
kubernetes_state.resourcequota.requests.storage.limitHard limit on the total of storage bytes requested for a resource quotagaugebyte
kubernetes_state.resourcequota.requests.storage.usedObserved sum of storage bytes requested for a resource quotagaugebyte
kubernetes_state.resourcequota.services.limitHard limit of the number of services for a resource quotagauge-
kubernetes_state.resourcequota.services.loadbalancers.limitHard limit of the number of loadbalancers for a resource quotagauge-
kubernetes_state.resourcequota.services.loadbalancers.usedObserved number of loadbalancers used for a resource quotagauge-
kubernetes_state.resourcequota.services.nodeports.limitHard limit of the number of node ports for a resource quotagauge-
kubernetes_state.resourcequota.services.nodeports.usedObserved number of node ports used for a resource quotagauge-
kubernetes_state.resourcequota.services.usedObserved number of services used for a resource quotagauge-
kubernetes_state.service.countSum by namespace and type to count active servicesgauge-
kubernetes_state.statefulset.countThe number of statefulsetsgauge-
kubernetes_state.statefulset.replicasThe number of replicas per statefulsetgauge-
kubernetes_state.statefulset.replicas_currentThe number of current replicas per StatefulSetgauge-
kubernetes_state.statefulset.replicas_desiredThe number of desired replicas per statefulsetgauge-
kubernetes_state.statefulset.replicas_readyThe number of ready replicas per StatefulSetgauge-
kubernetes_state.statefulset.replicas_updatedThe number of updated replicas per StatefulSetgauge-
kubernetes_state.telemetry.collector.metrics.countThe number of metrics by collector (kubernetes object kind) by kubernetes namespacescount-
kubernetes_state.telemetry.metrics.blacklist.countThe number of metrics blacklisted by the checkcount-
kubernetes_state.telemetry.metrics.ignored.countThe number of metrics ignored by the checkcount-
kubernetes_state.telemetry.metrics.input.countThe number of metrics receivedcount-
kubernetes_state.telemetry.metrics.processed.countThe number of metrics processedcount-
kubernetes_state.telemetry.payload.sizeThe message size received from kube-state-metricsgaugebyte
kubernetes_state.vpa.lower_boundThe vpa lower bound recommendationgauge-
kubernetes_state.vpa.targetThe vpa target recommendationgauge-
kubernetes_state.vpa.uncapped_targetThe vpa uncapped recommendation recommendationgauge-
kubernetes_state.vpa.update_modeThe vpa update modegauge-
kubernetes_state.vpa.upperboundThe vpa upper bound recommendationgauge-

Official documentation

Official documentation for the Kubernetes State integration

Metric names and descriptions are the official Datadog integration definitions (Copyright Datadog, Inc., BSD-3-Clause), reproduced unedited. The full license terms are on the About page.