Kubernetes State

Sysdig follows the Prometheus-compatible naming convention for both metrics and labels as opposed to the previous statsd-compatible, legacy Sysdig naming convention. This page shows metrics in the legacy Sysdig naming convention. See Metrics and Label Mapping for the mapping between Sysdig legacy and Prometheus naming conventions.

kubernetes.hpa.replicas.min

The lower limit for the number of pods that can be set by the Horizontal Pod Autoscaler. The default value is 1.

The lower limit determines the minimum number of replicas that the autoscaler can periodically adjust in a replication controller or deployment to the target specified by the user in order to match the observed average CPU utilization.

Metric Type: Gauge

Segmented by:

  • kubernetes.hpa.name

  • kubernetes.cluster.id

  • kubernetes.cluster.name

  • kubernetes.namespace.name

kubernetes.hpa.replicas.max

The upper limit for the number of pods that can be set by the Horizontal Pod Autoscaler. This value cannot be smaller than that of kubernetes.hpa.replicas.min.

The upper limit determines the maximum number of replicas that the autoscaler can periodically adjust in a replication controller or deployment to the target specified by the user in order to match the observed average CPU utilization .

Metric Type: Gauge

Segmented by:

  • kubernetes.hpa.name

  • kubernetes.cluster.id

  • kubernetes.cluster.name

  • kubernetes.namespace.name

kubernetes.hpa.replicas.current

The current number of replicas of pods managed by the Horizontal Pod Autoscaler.

Metric Type: Gauge

Segmented by:

  • kubernetes.hpa.name

  • kubernetes.cluster.id

  • kubernetes.cluster.name

  • kubernetes.namespace.name

kubernetes.hpa.replicas.desired

The desired number of replicas of pods managed by the Horizontal Pod Autoscaler.

Metric Type: Gauge

Segmented by:

  • kubernetes.hpa.name

  • kubernetes.cluster.id

  • kubernetes.cluster.name

  • kubernetes.namespace.name

kubernetes.resourcequota.configmaps.hard

The number of config maps that can be created in each Kubernetes namespace.

Metric Type: Gauge - Integer

kubernetes.resourcequota.configmaps.used

The current number of config maps in each Kubernetes namespace.

Metric Type: Gauge - Integer

kubernetes.resourcequota.limits.cpu.hard

The total CPU limit across all pods in a non-terminal state in the cluster, determined by adding each pod’s CPU limit together.

Metric Type: Gauge - Integer

kubernetes.resourcequota.limits.cpu.used

The current amount of CPU used across all cluster pods in a non-terminal state.

Metric Type: Gauge - Integer

kubernetes.resourcequota.limits.memory.hard

The total memory limit across all cluster pods in a non-terminal state.

Metric Type: Gauge - Integer

kubernetes.resourcequota.limits.memory.used

The current amount of memory used across all cluster pods in a non-terminal state.

Metric Type: Gauge - Integer

kubernetes.resourcequota.persistentvolumeclaims.hard

The maximum number of persistent volume claims that can exist in the Kubernetes namespace.

Metric Type: Gauge - Integer

kubernetes.resourcequota.persistentvolumeclaims.used

The current number of persistent volume claims that exist in the Kubernetes namespace.

Metric Type: Gauge - Integer

kubernetes.resourcequota.cpu.hard

The maximum number of CPU cores assigned in the namespace or at the resource quota scope level. Across all the pods in a non-terminal state, the sum of CPU requests cannot exceed this value.

Metric Type: Gauge - Integer

Segmented by:

  • kubernetes.cluster

  • kubernetes.namespace

  • kubernetes.resourcequota

kubernetes.resourcequota.memory.hard

The maximum memory assigned in the namespace or at the resource quota scope level. Across all the pods in a non-terminal state, the sum of memory requests cannot exceed this value

Metric Type: Gauge - Integer

Segmented by:

  • kubernetes.cluster

  • kubernetes.namespace

  • kubernetes.resourcequota

kubernetes.resourcequota.pods.hard

The maximum number of pods in a non-terminal state that can exist in the Kubernetes namespace.

Metric Type: Gauge - Integer

kubernetes.resourcequota.pods.used

The current number of pods in a non-terminal state that exists in the Kubernetes namespace.

Metric Type: Gauge - Integer

kubernetes.resourcequota.replicationcontrollers.hard

The maximum number of replication controllers that can exist in the Kubernetes namespace.

Metric Type: Gauge - Integer

kubernetes.resourcequota.replicationcontrollers.used

The current number of replication controllers that can exist in the Kubernetes namespace.

Metric Type: Gauge - Integer

kubernetes.resourcequota.requests.cpu.hard

The maximum number of CPU requests allowed across all cluster pods in a non-terminal state.

Metric Type: Gauge - Integer

kubernetes.resourcequota.requests.cpu.used

The current number of CPU requests across all cluster pods in a non-terminal state.

Metric Type: Gauge - Integer

kubernetes.resourcequota.requests.memory.hard

The maximum number of memory requests allowed across all cluster pods in a non-terminal state.

Metric Type: Gauge - Integer

kubernetes.resourcequota.requests.memory.used

The current total number of memory requests across all cluster pods in a non-terminal state.

Metric Type: Gauge - Integer

kubernetes.resourcequota.requests.storage.hard

The maximum number of storage requests allowed across all persistent volume claims in the cluster.

Metric Type: Gauge - Integer

kubernetes.resourcequota.requests.storage.used

The current total number of storage requests across all persistent volume claims.

Metric Type: Gauge - Integer

kubernetes.resourcequota.resourcequotas.hard

The maximum number of resource quotas that can exist in the Kubernetes namespace.

Metric Type: Gauge - Integer

kubernetes.resourcequota.resourcequotas.used

The current number of resource quotas that exist in the Kubernetes namespace.

Metric Type: Gauge - Integer

kubernetes.resourcequota.secrets.hard

The maximum number of secrets that can exist in the namespace.

Metric Type: Gauge - Integer

kubernetes.resourcequota.secrets.used

The current number of secrets that exist in the namespace.

Metric Type: Gauge - Integer

kubernetes.resourcequota.services.hard

The maximum number of services that can exist in the namespace.

Metric Type: Gauge - Integer

kubernetes.resourcequota.services.used

The current number of services that exist in the namespace.

Metric Type: Gauge - Integer

kubernetes.resourcequota.services.loadbalancers.hard

The maximum number of load balancer services that can exist in the namespace.

Metric Type: Gauge - Integer

kubernetes.resourcequota.services.loadbalancers.used

The current number of load balancer services that exist in the namespace.

Metric Type: Gauge - Integer

kubernetes.resourcequota.services.nodeports.hard

The maximum number of node port services that can exist in the namespace.

Metric Type: Gauge - Integer

kubernetes.resourcequota.services.nodeports.used

The current number of node port services that exist in the namespace.

Metric Type: Gauge - Integer

kubernetes.daemonSet.pods.desired

The number of nodes that should be running the daemon pod.

kubernetes.daemonSet.pods.misscheduled

The number of nodes running a daemon pod but are not supposed to.

kubernetes.daemonSet.pods.ready

The number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready.

kubernetes.daemonSet.pods.scheduled

The number of nodes that running at least one daemon pod and are supposed to.

kubernetes.deployment.replicas.available

The number of available pods per deployment.

kubernetes.deployment.replicas.desired

The number of desired pods per deployment.

kubernetes.deployment.replicas.paused

The number of paused pods per deployment. These pods will not be processed by the deployment controller.

kubernetes.deployment.replicas.running

The number of running pods per deployment.

kubernetes.deployment.replicas.unavailable

The number of unavailable pods per deployment.

kubernetes.deployment.replicas.updated

The number of updated pods per deployment.

kubernetes.job.completions

The desired number of successfully finished pods that the job should be run with.

kubernetes.job.numFailed

The number of pods which reached Phase Failed.

kubernetes.job.numSucceeded

The number of pods which reached Phase Succeeded.

kubernetes.job.parallelism

The maximum desired number of pods that the job should run at any given time.

kubernetes.job.status.active

The number of actively running pods.

kubernetes.namespace.count

The number of namespaces.

kubernetes.namespace.deployment.count

The number of deployments per namespace.

kubernetes.namespace.job.count

The number of jobs per namespaces.

kubernetes.namespace.pod.status.count

Supported by Sysdig Agent 9.5.0 and above.

The metric gives the number of pods in each aggregate state per Namespace. This is the value that the kubectl get pods command returns in the STATUS column. This metric does not represent the pod condition or the pod phase.

Segmentable by kubernetes.namespace.name and kubernetes.namespace.pod.status.name.

Due to performance implications, Sysdig Monitor shows only a subset of the pod aggregate statuses. The statuses displayed on the UI are:

  • Evicted

  • DeadlineExceeded

  • Error

  • ContainerCreating

  • CrashLoopBackOff

  • Pending

  • Running

To view other statuses, override the default list by adding the following property in dragent.yaml

k8s_pod_status_reason_strings:
  - Pending
  - ImagePullBackOff

kubernetes.namespace.pod.running.count

Required: agent 9.6.0+

The number of all the running pods in a Namespace. The metric takes free pods also into account, that is, pods that do not belong to any controller. Therefore, its value is not the sum of (statefulset|daemonset|deployment).pod.running.count.

kubernetes.namespace.pod.running.count is supported by Agent v9.6.0 and above.

Metric Type: Gauge

Segmented by: Namespace

kubernetes.namespace.replicaSet.count

The number of replicaSets per namespace.

kubernetes.namespace.service.count

The number of services per namespace.

kubernetes.node.allocatable.cpuCores

The CPU resources of a node that are available for scheduling.

kubernetes.node.allocatable.memBytes

The memory resources of a node that are available for scheduling.

kubernetes.node.allocatable.pods

The pod resources of a node that are available for scheduling.

kubernetes.node.capacity.cpuCores

The maximum CPU resources of the node.

kubernetes.node.capacity.memBytes

The maximum memory resources of the node.

kubernetes.node.capacity.pods

The maximum number of pods of the node.

kubernetes.node.diskPressure

The number of nodes with disk pressure.

kubernetes.node.memoryPressure

The number of nodes with memory pressure.

kubernetes.node.networkUnavailable

The number of nodes with network unavailable.

kubernetes.node.outOfDisk

The number of nodes that are out of disk space.

kubernetes.node.ready

The number of nodes that are ready.

kubernetes.node.unschedulable

The number of nodes unavailable to schedule new pods.

kubernetes.pod.containers.waiting

The number of containers waiting for a pod.

kubernetes.pod.resourceLimits.cpuCores

The limit on CPU cores to be used by a container.

kubernetes.pod.resourceLimits.memBytes

The limit on memory to be used by a container in bytes.

kubernetes.pod.resourceRequests.cpuCores

The number of CPU cores requested by containers in the pod.

kubernetes.pod.resourceRequests.memBytes

The number of memory bytes requested by containers in the pod.

kubernetes.pod.status.ready

The number of pods ready to serve requests.

kubernetes.replicaSet.replicas.fullyLabeled

The number of fully labeled pods per ReplicaSet.

kubernetes.replicaSet.replicas.ready

The number of ready pods per ReplicaSet.

kubernetes.statefulset.replicas

The desired number of pods per StatefulSet.

kubernetes.statefulset.status.replicas

The total number of pods created by the StatefulSet.

kubernetes.statefulset.status.replicas.current

The number of pods created by the current version of the StatefulSet.

kubernetes.statefulset.status.replicas.ready

The number of ready pods created by this StatefulSet.

kubernetes.statefulset.status.replicas.updated

The number of pods updated to the new version of this StatefulSet.