Prometheus
Recording Rules
Pre-computed expressions stored as new time series to speed up dashboards and alerts.
recording-rules.yml
groups:
- name: node_recording_rules
interval: 1m
rules:
# CPU usage averaged across all cores
- record: instance:node_cpu_utilisation:rate5m
expr: |
1 - avg without(cpu, mode) (
rate(node_cpu_seconds_total{mode="idle"}[5m])
)
# Memory utilisation
- record: instance:node_memory_utilisation:ratio
expr: |
1 - (
node_memory_MemAvailable_bytes /
node_memory_MemTotal_bytes
)
# Disk I/O utilisation
- record: instance:node_disk_utilisation:rate5m
expr: |
max without(device) (
rate(node_disk_io_time_seconds_total[5m])
)
# Network receive bytes per second
- record: instance:node_network_receive_bytes:rate5m
expr: |
sum without(device) (
rate(node_network_receive_bytes_total{device!~"lo|veth.+|docker.+|flannel.+|cali.+|cbr.+"}[5m])
)