How Metric Collections Works
Integration connects with the Openshift metrics-server using the Metrics API (API group metrics.k8s.io). It collects CPU and used memory for nodes, pods, and containers. CPU and used memory are aggregated at cluster, namespace, replica set, deployment, and service layers. Node free memory is derived from node capacity minus used memory. Node ephemeral storage capacity and uptime come from the Openshift API, not from Prometheus.
When a Prometheus hostname is configured, the integration also collects the following metrics from Prometheus. These metrics are not returned by the Metrics API.
Nodes (node_disk_*, node_memory_*, node_network_*)
Storage throughput: bytes read and written, read and write operations, and read and write latency
Memory advanced: active memory, free swap, and used swap
Network link layer: bytes, packets, errors, and drops received and sent; collisions sent; carrier loss sent; and link speed
Pods (container_network_*, summed by pod)
Network link layer: bytes, packets, errors, and drops received and sent
Virtual machines (KubeVirt kubevirt_vmi_*). Nothing is collected for virtual machines from the Metrics API.
CPU: total, system, and user CPU time
Memory: used and free
Guest OS process memory: swap in, swap out, available memory, resident set size, major faults, and minor faults
VM disk storage throughput: bytes, operations, and latency read and write
VM volume storage capacity: total and used usable capacity
VM network adapter link layer: bytes, packets, errors, and drops received and sent
The complete list of metrics for this integration is available in a separate guide.