Практические примеры

Мониторинг использования CPU

# Средняя загрузка CPU по всем ядрам (в процентах)
100 - (avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)

# Загрузка CPU по режимам работы
sum by(mode) (rate(node_cpu_seconds_total[5m]))

Мониторинг памяти

# Процент использованной памяти
100 * (1 - ((node_memory_MemFree_bytes + node_memory_Cached_bytes + node_memory_Buffers_bytes) / node_memory_MemTotal_bytes))

# Доступная память в GB
(node_memory_MemFree_bytes + node_memory_Cached_bytes + node_memory_Buffers_bytes) / 1024 / 1024 / 1024

Мониторинг дисков

# Процент использования диска
100 - ((node_filesystem_avail_bytes{mountpoint="/"} * 100) / node_filesystem_size_bytes{mountpoint="/"})

# Прогноз заполнения диска (в часах до заполнения)
predict_linear(node_filesystem_free_bytes{mountpoint="/"}[1h], 24 * 3600) / node_filesystem_size_bytes{mountpoint="/"}

Мониторинг сети

# Входящий трафик в Mbps
rate(node_network_receive_bytes_total[5m]) * 8 / 1024 / 1024

# Исходящий трафик в Mbps
rate(node_network_transmit_bytes_total[5m]) * 8 / 1024 / 1024