Skip to main content

Kubernetes Containers

Kubernetes Containers

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

Maintained by Netdata

Overview​

Monitor Kubernetes pod and container resource utilization — CPU, memory, disk I/O, and network — 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.