Documentation forSolarWinds Observability

Kubernetes Metrics

When Kubernetes clusters are monitored, the following metrics are collected and sent to SolarWinds Observability.

Cluster metrics

The table below lists cluster metrics.

Metric Type Unit Description Native/Custom
k8s.cluster.cpu.allocatable Gauge core The allocatable of CPU on cluster that are available for scheduling custom
k8s.cluster.cpu.capacity Gauge core The cluster CPU capacity custom
k8s.cluster.cpu.usage.seconds.rate Gauge seconds The rate of cluster cumulative CPU time consumed custom
k8s.cluster.cpu.utilization Gauge percent The cluster CPU usage custom
k8s.cluster.memory.allocatable Gauge bytes The allocatable of memory on cluster that are available for scheduling custom
k8s.cluster.memory.capacity Gauge bytes The cluster memory capacity custom
k8s.cluster.memory.utilization Gauge percent The cluster memory usage custom
k8s.cluster.memory.working_set Gauge bytes Current working set on cluster custom
k8s.cluster.nodes Gauge   The count of nodes on cluster custom
k8s.cluster.pods Gauge   The count of pods on cluster custom
k8s.cluster.status.condition.ready Gauge   Provides average cluster status Ready from related nodes custom
k8s.cluster.status.condition.networkunavailable Gauge   Provides average cluster status Networkunavailable from related nodes custom
k8s.cluster.status.condition.pidpressure Gauge   Provides average cluster status Pidpressure from related nodes custom
k8s.cluster.status.condition.memorypressure Gauge   Provides average cluster status Memorypressure from related nodes custom
k8s.cluster.status.condition.diskpressure Gauge   Provides average cluster status Diskpressure from related nodes custom

Node metrics

The table below lists node metrics.

Metric Type Unit Description Native/Custom
k8s.kube_node_info Gauge   Information about a cluster node native
k8s.kube_node_created Gauge seconds Unix creation timestamp native
k8s.kube_node_status_capacity Gauge

cpu=<core>

ephemeral_storage=<byte>

pods=<integer>

attachable_volumes_*=<byte>

hugepages_*=<byte>

memory=<byte>

The capacity for different resources of a node native
k8s.kube_node_status_condition Gauge   The condition of a cluster node native
k8s.kube_node_status_allocatable Gauge

cpu=<core>

ephemeral_storage=<byte>

pods=<integer>

attachable_volumes_*=<byte>

hugepages_*=<byte>

memory=<byte>

The allocatable for different resources of a node that are available for scheduling native
k8s.kube.pod.container.status.restarts.total     The number of container restarts per container custom
k8s.node.cpu.allocatable Gauge core The allocatable of CPU on node that are available for scheduling custom
k8s.node.cpu.capacity Gauge core The node CPU capacity custom
k8s.node.cpu.usage.seconds.rate Gauge seconds The rate of node cumulative cpu time consumed custom
k8s.node.memory.allocatable Gauge bytes The allocatable of memory on node that are available for scheduling custom
k8s.node.memory.capacity Gauge bytes The node memory capacity custom
k8s.node.memory.working_set Gauge bytes Current working set on node custom
k8s.node.pods Gauge   The count of pods on node custom
k8s.node.status.condition.diskpressure Gauge   The condition diskpressure of a cluster node (1 when true, 0 when false or unknown) custom
k8s.node.status.condition.memorypressure Gauge   The condition memorypressure of a cluster node (1 when true, 0 when false or unknown) custom
k8s.node.status.condition.pidpressure Gauge   The condition pidpressure of a cluster node (1 when true, 0 when false or unknown) custom
k8s.node.status.condition.ready Gauge   The condition ready of a cluster node (1 when true, 0 when false or unknown) custom
k8s.node.cpu.usage Gauge percent Provides current node CPU usage custom
k8s.node.memory.usage Gauge percent Provides current node memory usage custom
k8s.kube_node_status_ready Gauge   Node status (as tag sw.k8s.node.status) custom

Pod metrics

The table below lists pod metrics.

Metric Type Unit Description Native/Custom
k8s.kube_pod_created Gauge seconds Unix creation timestamp native
k8s.kube_pod_info Gauge   Information about pod native
k8s.kube_pod_start_time Gauge seconds Start time in unix timestamp for a pod native
k8s.kube_pod_completion_time Gauge seconds Completion time in unix timestamp for a pod native
k8s.kube_pod_status_phase Gauge   The pod's current phase native
k8s.kube_resourcequota Gauge   ResourceQuota metric native
k8s.pod.containers Gauge   The number of containers on pod custom
k8s.pod.cpu.usage.seconds.rate Gauge seconds The rate of pod's cumulative CPU time consumed custom
k8s.pod.memory.working_set Gauge bytes Current working set on pod custom
k8s.pod.spec.cpu.period Gauge   CPU period of the pod custom
k8s.pod.spec.cpu.quota Gauge   CPU quota of the pod custom
k8s.pod.cpu.throttling Gauge percent Provides percentage of pod's CPU throttling. When the pod's CPU throttled, it wanted to use the CPU and was blocked due to the pod's CPU limit. custom
k8s.pod.cpu.usage.oflimit Gauge percent Provides CPU usage of requested on pod if requested is defined, otherwise 0. custom
k8s.pod.memory.usage.oflimit Gauge percent Provides Memory usage of limit on pod if limit is defined, otherwise 0. custom
k8s.pod.memory.usage.ofrequest Gauge percent Provides Memory usage of requested on pod if requested is defined, otherwise 0. custom

Container metrics

The table below lists container metrics.

Metric Type Unit Description Native/Custom
k8s.container_cpu_usage_seconds_total Counter seconds Cumulative CPU time consumed native
k8s.container_spec_cpu_quota Gauge   CPU quota of the container native
k8s.container_spec_cpu_period Gauge   CPU period of the container native
k8s.container_memory_working_set_bytes Gauge bytes Current working set native
k8s.container_spec_memory_limit_bytes Gauge bytes Memory limit for the container native
k8s.container_cpu_cfs_throttled_periods_total Counter   Number of throttled period intervals native
k8s.container_cpu_cfs_periods_total Counter   Number of elapsed enforcement period intervals native
k8s.kube_pod_container_status_restarts_total Gauge   The number of container restarts per container native
k8s.kube_pod_container_resource_requests Gauge

cpu=<core>

memory=<bytes>

The number of requested request resource by a container native
k8s.kube_pod_container_info Gauge   Information about a container in a pod native
k8s.kube_pod_container_resource_limits Gauge cpu=<core>

memory=<bytes>

The number of requested limit resource by a container native
k8s.kube_pod_container_state_started Gauge seconds Start time in unix timestamp for a pod container native
k8s.kube_pod_container_status_last_terminated_reason Gauge   Describes the last reason the container was in terminated state native
k8s.kube_pod_container_status_ready Gauge   Describes whether the containers readiness check succeeded native
k8s.kube_pod_container_status_restarts_total Gauge   The number of container restarts per container native
k8s.kube_pod_container_status_running Gauge   Describes whether the container is currently in running state native
k8s.kube_pod_container_status_terminated Gauge   Describes whether the container is currently in terminated state native
k8s.kube_pod_container_status_terminated_reason Gauge   Describes the reason the container is currently in terminated state native
k8s.kube_pod_container_status_waiting Gauge   Describes whether the container is currently in waiting state native
k8s.kube_pod_container_status_waiting_reason Gauge   Describes the reason the container is currently in waiting state custom
k8s.container.cpu.cfs.throttled.periods.rate Gauge   The rate of number of throttled period intervals custom
k8s.container.cpu.cfs.throttled.total.rate Gauge   The rate of number of elapsed enforcement period intervals custom
k8s.container.cpu.usage.seconds.rate Gauge seconds The rate of container cumulative cpu time consumed custom
k8s.container.memory.working_set Gauge bytes Current working set on container custom
k8s.container.spec.cpu.period Gauge   CPU period of the container custom
k8s.container.spec.cpu.quota Gauge CPU quota of the container custom
k8s.container.spec.cpu.requests Gauge core The number of requested CPU by a container custom
k8s.container.spec.memory.limit Gauge bytes Memory limit for the container custom
k8s.container.spec.memory.requests Gauge bytes The number of requested memory by a container custom