src/collectors/cgroups.plugin/integrations/kubernetes_containers.md
Plugin: cgroups.plugin Module: /sys/fs/cgroup
Monitor containers and virtual machines resource utilization — CPU, memory, disk I/O, and network — via Linux cgroups.
This collector is only supported on the following platforms:
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:
This integration doesn't support auto-detection.
The default configuration for this integration does not impose any limits on data collection.
The default configuration for this integration is not expected to impose a significant performance impact on the system.
No action required.
There are no configuration options.
There is no configuration file.
There are no configuration examples.
The following alerts are available:
| Alert name | On metric | Description |
|---|---|---|
| k8s_cgroup_10min_cpu_usage | k8s.cgroup.cpu_limit | average cgroup CPU utilization over the last 10 minutes |
| k8s_cgroup_ram_in_use | k8s.cgroup.mem_usage | cgroup memory utilization |
| k8s_cgroup_1m_received_packets_rate | k8s.cgroup.net_packets | average number of packets received by the network interface ${label:device} over the last minute |
| k8s_cgroup_10s_received_packets_storm | k8s.cgroup.net_packets | ratio 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 grouped by scope.
The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.
These metrics refer to the Pod container.
Labels:
| Label | Description |
|---|---|
| k8s_node_name | Node name. The value of pod.spec.nodeName. |
| k8s_namespace | Namespace name. The value of pod.metadata.namespace. |
| k8s_controller_kind | Controller kind (ReplicaSet, DaemonSet, StatefulSet, Job, etc.). The value of pod.OwnerReferences.Controller.Kind. |
| k8s_controller_name | Controller name.The value of pod.OwnerReferences.Controller.Name. |
| k8s_pod_name | Pod name. The value of pod.metadata.name. |
| k8s_container_name | Container name. The value of pod.spec.containers.name. |
| k8s_kind | Instance kind: "pod" or "container". |
| k8s_qos_class | QoS class (guaranteed, burstable, besteffort). |
| k8s_cluster_id | Cluster ID. The value of kube-system namespace namespace.metadata.uid. |
Metrics:
| Metric | Dimensions | Unit |
|---|---|---|
| k8s.cgroup.cpu_limit | used | percentage |
| k8s.cgroup.cpu | user, system | percentage |
| k8s.cgroup.cpu_per_core | a dimension per core | percentage |
| k8s.cgroup.throttled | throttled | percentage |
| k8s.cgroup.throttled_duration | duration | ms |
| k8s.cgroup.cpu_shares | shares | shares |
| k8s.cgroup.mem | cache, rss, swap, rss_huge, mapped_file | MiB |
| k8s.cgroup.writeback | dirty, writeback | MiB |
| k8s.cgroup.mem_activity | in, out | MiB/s |
| k8s.cgroup.pgfaults | pgfault, swap | MiB/s |
| k8s.cgroup.mem_usage | ram, swap | MiB |
| k8s.cgroup.mem_usage_limit | available, used | MiB |
| k8s.cgroup.mem_utilization | utilization | percentage |
| k8s.cgroup.mem_failcnt | failures | count |
| k8s.cgroup.io | read, write | KiB/s |
| k8s.cgroup.serviced_ops | read, write | operations/s |
| k8s.cgroup.throttle_io | read, write | KiB/s |
| k8s.cgroup.throttle_serviced_ops | read, write | operations/s |
| k8s.cgroup.queued_ops | read, write | operations |
| k8s.cgroup.merged_ops | read, write | operations/s |
| k8s.cgroup.cpu_some_pressure | some10, some60, some300 | percentage |
| k8s.cgroup.cpu_some_pressure_stall_time | time | ms |
| k8s.cgroup.cpu_full_pressure | some10, some60, some300 | percentage |
| k8s.cgroup.cpu_full_pressure_stall_time | time | ms |
| k8s.cgroup.memory_some_pressure | some10, some60, some300 | percentage |
| k8s.cgroup.memory_some_pressure_stall_time | time | ms |
| k8s.cgroup.memory_full_pressure | some10, some60, some300 | percentage |
| k8s.cgroup.memory_full_pressure_stall_time | time | ms |
| k8s.cgroup.io_some_pressure | some10, some60, some300 | percentage |
| k8s.cgroup.io_some_pressure_stall_time | time | ms |
| k8s.cgroup.io_full_pressure | some10, some60, some300 | percentage |
| k8s.cgroup.io_full_pressure_stall_time | time | ms |
| k8s.cgroup.pids_current | pids | pids |
These metrics refer to the Pod container network interface.
Labels:
| Label | Description |
|---|---|
| device | The name of the host network interface linked to the container's network interface. |
| container_device | Container network interface name. |
| interface_type | Network interface type. Always "virtual" for the containers. |
| k8s_node_name | Node name. The value of pod.spec.nodeName. |
| k8s_namespace | Namespace name. The value of pod.metadata.namespace. |
| k8s_controller_kind | Controller kind (ReplicaSet, DaemonSet, StatefulSet, Job, etc.). The value of pod.OwnerReferences.Controller.Kind. |
| k8s_controller_name | Controller name.The value of pod.OwnerReferences.Controller.Name. |
| k8s_pod_name | Pod name. The value of pod.metadata.name. |
| k8s_container_name | Container name. The value of pod.spec.containers.name. |
| k8s_kind | Instance kind: "pod" or "container". |
| k8s_qos_class | QoS class (guaranteed, burstable, besteffort). |
| k8s_cluster_id | Cluster ID. The value of kube-system namespace namespace.metadata.uid. |
Metrics:
| Metric | Dimensions | Unit |
|---|---|---|
| k8s.cgroup.net_net | received, sent | kilobits/s |
| k8s.cgroup.net_packets | received, sent, multicast | pps |
| k8s.cgroup.net_errors | inbound, outbound | errors/s |
| k8s.cgroup.net_drops | inbound, outbound | errors/s |
| k8s.cgroup.net_fifo | receive, transmit | errors/s |
| k8s.cgroup.net_compressed | receive, sent | pps |
| k8s.cgroup.net_events | frames, collisions, carrier | events/s |
| k8s.cgroup.net_operstate | up, down, notpresent, lowerlayerdown, testing, dormant, unknown | state |
| k8s.cgroup.net_carrier | up, down | state |
| k8s.cgroup.net_mtu | mtu | octets |