alert: NodeMemoryLow
expr: node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 < 10
for: 10m
severity: warning
Сообщение алерта: Мало доступной памяти ({{ $labels.instance }})
Доступно менее 10% оперативной памяти (по MemAvailable, то есть с учётом кэша, который ядро может отдать). Система ещё работает, но запас мал.
Утечка памяти в приложении, слишком много воркеров, рост кэша приложений (Redis, JVM), запуск тяжёлой задачи.
free -h
ps aux --sort=-%mem | head -n 10
smem -tk 2>/dev/null | tail -n 15 # если установлен smem
docker stats --no-stream # если есть Docker
dmesg -T | grep -i -E 'oom|killed process' | tail
Найти процесс-потребитель, перезапустить при утечке, уменьшить число воркеров/размер кэша, добавить RAM. Для JVM проверьте -Xmx.
На серверах, где память намеренно занята под кэш (базы данных с большим shared_buffers и т.п.), но тогда лучше поднять порог в правиле под ваш профиль.
Весь набор из 44 протестированных правил + Alertmanager → Telegram: 790 ₽
Открыть в Telegram · Бесплатный набор Monitoring Lite · Все алерты runbook