Skip to main content

Kubernetes Containers

Plugin: cgroups.plugin Module: /sys/fs/cgroup

Overview

Monitor containers and virtual machines resource utilization — CPU, memory, disk I/O, network, and page cache activity — via Linux cgroups.

This collector is only supported on the following platforms:

  • Linux

This collector supports collecting metrics from multiple instances of this integration, including remote instances.

Kubernetes Containers can be monitored further using the following other integrations:

Default Behavior

Auto-Detection

This integration doesn't support auto-detection.

Limits

The default configuration for this integration does not impose any limits on data collection.

Performance Impact

The default configuration for this integration is not expected to impose a significant performance impact on the system.

Setup

Prerequisites

No action required.

Configuration

Options

There are no configuration options.

via File

There is no configuration file.

Examples

There are no configuration examples.

Alerts

The following alerts are available:

Alert nameOn metricDescription
k8s_cgroup_10min_cpu_usage k8s.cgroup.cpu_limitaverage cgroup CPU utilization over the last 10 minutes
k8s_cgroup_ram_in_use k8s.cgroup.mem_usagecgroup memory utilization
k8s_cgroup_1m_received_packets_rate k8s.cgroup.net_packetsaverage number of packets received by the network interface ${label:device} over the last minute
k8s_cgroup_10s_received_packets_storm k8s.cgroup.net_packetsratio of average number of received packets for the network interface ${label:device} over the last 10 seconds, compared to the rate over the last minute

Metrics

Metrics grouped by scope.

The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.

Per k8s cgroup

These metrics refer to the Pod container.

Labels:

LabelDescription
k8s_node_nameNode name. The value of pod.spec.nodeName.
k8s_namespaceNamespace name. The value of pod.metadata.namespace.
k8s_controller_kindController kind (ReplicaSet, DaemonSet, StatefulSet, Job, etc.). The value of pod.OwnerReferences.Controller.Kind.
k8s_controller_nameController name.The value of pod.OwnerReferences.Controller.Name.
k8s_pod_namePod name. The value of pod.metadata.name.
k8s_container_nameContainer name. The value of pod.spec.containers.name.
k8s_kindInstance kind: "pod" or "container".
k8s_qos_classQoS class (guaranteed, burstable, besteffort).
k8s_cluster_idCluster ID. The value of kube-system namespace namespace.metadata.uid.

Metrics:

MetricDescriptionDimensionsUnit
k8s.cgroup.cpu_limitCPU Usage within the limitsusedpercentage
k8s.cgroup.cpuCPU Usage (100% = 1000 mCPU)user, systempercentage
k8s.cgroup.cpu_per_coreCPU Usage (100% = 1000 mCPU) Per Corea dimension per corepercentage
k8s.cgroup.throttledCPU Throttled Runnable Periodsthrottledpercentage
k8s.cgroup.throttled_durationCPU Throttled Time Durationdurationms
k8s.cgroup.cpu_sharesCPU Time Relative Sharesharesshares
k8s.cgroup.memMemory Usagecache, rss, swap, rss_huge, mapped_fileMiB
k8s.cgroup.writebackWriteback Memorydirty, writebackMiB
k8s.cgroup.mem_activityMemory Activityin, outMiB/s
k8s.cgroup.pgfaultsMemory Page Faultspgfault, swapMiB/s
k8s.cgroup.mem_usageUsed Memoryram, swapMiB
k8s.cgroup.mem_usage_limitUsed RAM within the limitsavailable, usedMiB
k8s.cgroup.mem_utilizationMemory Utilizationutilizationpercentage
k8s.cgroup.mem_failcntMemory Limit Failuresfailurescount
k8s.cgroup.ioI/O Bandwidth (all disks)read, writeKiB/s
k8s.cgroup.serviced_opsServiced I/O Operations (all disks)read, writeoperations/s
k8s.cgroup.throttle_ioThrottle I/O Bandwidth (all disks)read, writeKiB/s
k8s.cgroup.throttle_serviced_opsThrottle Serviced I/O Operations (all disks)read, writeoperations/s
k8s.cgroup.queued_opsQueued I/O Operations (all disks)read, writeoperations
k8s.cgroup.merged_opsMerged I/O Operations (all disks)read, writeoperations/s
k8s.cgroup.cpu_some_pressureCPU some pressuresome10, some60, some300percentage
k8s.cgroup.cpu_some_pressure_stall_timeCPU some pressure stall timetimems
k8s.cgroup.cpu_full_pressureCPU full pressuresome10, some60, some300percentage
k8s.cgroup.cpu_full_pressure_stall_timeCPU full pressure stall timetimems
k8s.cgroup.memory_some_pressureMemory some pressuresome10, some60, some300percentage
k8s.cgroup.memory_some_pressure_stall_timeMemory some pressure stall timetimems
k8s.cgroup.memory_full_pressureMemory full pressuresome10, some60, some300percentage
k8s.cgroup.memory_full_pressure_stall_timeMemory full pressure stall timetimems
k8s.cgroup.io_some_pressureI/O some pressuresome10, some60, some300percentage
k8s.cgroup.io_some_pressure_stall_timeI/O some pressure stall timetimems
k8s.cgroup.io_full_pressureI/O some pressuresome10, some60, some300percentage
k8s.cgroup.io_full_pressure_stall_timeI/O some pressure stall timetimems
k8s.cgroup.pids_currentNumber of processespidspids

Per k8s cgroup network device

These metrics refer to the Pod container network interface.

Labels:

LabelDescription
deviceThe name of the host network interface linked to the container's network interface.
container_deviceContainer network interface name.
interface_typeNetwork interface type. Always "virtual" for the containers.
k8s_node_nameNode name. The value of pod.spec.nodeName.
k8s_namespaceNamespace name. The value of pod.metadata.namespace.
k8s_controller_kindController kind (ReplicaSet, DaemonSet, StatefulSet, Job, etc.). The value of pod.OwnerReferences.Controller.Kind.
k8s_controller_nameController name.The value of pod.OwnerReferences.Controller.Name.
k8s_pod_namePod name. The value of pod.metadata.name.
k8s_container_nameContainer name. The value of pod.spec.containers.name.
k8s_kindInstance kind: "pod" or "container".
k8s_qos_classQoS class (guaranteed, burstable, besteffort).
k8s_cluster_idCluster ID. The value of kube-system namespace namespace.metadata.uid.

Metrics:

MetricDescriptionDimensionsUnit
k8s.cgroup.net_netBandwidthreceived, sentkilobits/s
k8s.cgroup.net_packetsPacketsreceived, sent, multicastpps
k8s.cgroup.net_errorsInterface Errorsinbound, outbounderrors/s
k8s.cgroup.net_dropsInterface Dropsinbound, outbounderrors/s
k8s.cgroup.net_fifoInterface FIFO Buffer Errorsreceive, transmiterrors/s
k8s.cgroup.net_compressedInterface FIFO Buffer Errorsreceive, sentpps
k8s.cgroup.net_eventsNetwork Interface Eventsframes, collisions, carrierevents/s
k8s.cgroup.net_operstateInterface Operational Stateup, down, notpresent, lowerlayerdown, testing, dormant, unknownstate
k8s.cgroup.net_carrierInterface Physical Link Stateup, downstate
k8s.cgroup.net_mtuInterface MTUmtuoctets

Per cgroups plugin IPC

cgroups.plugin netipc lookup-server and discovery signal health.

This scope has no labels.

Metrics:

MetricDescriptionDimensionsUnit
netdata.collector.ipc.cgroups_lookup.server.requestsCGROUPS_LOOKUP server request outcomesrequests_responded, requests_error, lookup_miss_signals_sent, lookup_miss_signals_coalescedrequests/s
netdata.collector.ipc.cgroups_lookup.server.request_duration_msCGROUPS_LOOKUP server request duration bucketsle_1ms, le_5ms, le_10ms, le_50ms, le_100ms, le_500ms, le_1000ms, gt_1000msrequests/s
netdata.collector.cgroups.discovery.scanscgroups discovery scans by trigger sourcediscovery_scans_natural, discovery_scans_opportunisticscans/s

Do you have any feedback for this page? If so, you can open a new issue on our netdata/learn repository.