English version

NodeDiskSpaceCritical: что делать при алерте

Правило алерта

alert: NodeDiskSpaceCritical
expr: node_filesystem_avail_bytes{fstype!~"tmpfs|overlay|squashfs|devtmpfs|ramfs|iso9660|autofs|fuse.*|nfs.*|cifs"}
  / node_filesystem_size_bytes{fstype!~"tmpfs|overlay|squashfs|devtmpfs|ramfs|iso9660|autofs|fuse.*|nfs.*|cifs"} * 100 < 5
and node_filesystem_size_bytes{fstype!~"tmpfs|overlay|squashfs|devtmpfs|ramfs|iso9660|autofs|fuse.*|nfs.*|cifs"} > 0
and node_filesystem_readonly{fstype!~"tmpfs|overlay|squashfs|devtmpfs|ramfs|iso9660|autofs|fuse.*|nfs.*|cifs"} == 0
for: 5m
severity: critical

Сообщение алерта: Диск почти полон: {{ $labels.mountpoint }} ({{ $labels.instance }})

Что значит

Свободно меньше 5% места на разделе. Запись данных в любой момент может начать падать с ошибками.

Частые причины

Те же, что у NodeDiskSpaceLow, но запас исчерпан: быстрый рост логов, зациклившееся приложение, пишущее в файл, переполнение базы.

Диагностика

df -hT
du -xh --max-depth=2 / 2>/dev/null | sort -h | tail -n 20
ls -lhS /var/log | head
journalctl --disk-usage
docker system df

Как исправить

Быстро освободить место: усечь самый большой лог (: > /var/log/<файл>, а не rm, если файл открыт процессом), journalctl --vacuum-size=200M, docker system prune (внимательно читайте, что удалится), удалить старые бэкапы. Затем найдите источник роста и расширьте том.

Когда можно заглушить

Нельзя, пока место не освобождено. Исключение — раздел только для чтения или образ, не предполагающий свободного места (например, смонтированный iso/squashfs, если он не отфильтрован).

Похожие алерты

Весь набор из 44 протестированных правил + Alertmanager → Telegram: 790 ₽
Открыть в Telegram · Бесплатный набор Monitoring Lite · Все алерты runbook