Алерт о заканчивающемся месте на диске
Логи или backup-файлы съедают /var; через 24 часа сервер ляжет. Базовый df-чек один раз в 10 минут спасает от 2 АМ инцидента.
Рецепт
#!/usr/bin/env bash
# /etc/cron.d/disk-watch — */10 * * * * root /opt/disk-watch.sh
THRESHOLD=${THRESHOLD:-85}
while read -r FS USED MOUNT; do
USED=${USED%\%}
if [ "$USED" -ge "$THRESHOLD" ]; then
curl -X POST "$SLACK_WEBHOOK" \
--data "{\"text\":\"$(hostname): $MOUNT at ${USED}% (was ≥ $THRESHOLD)\"}"
fi
done < <(df -P -x tmpfs -x devtmpfs | awk 'NR>1 {print $1, $5, $6}')
То же самое в Enterno.io
Cron-чек обязан сам пинговать Enterno heartbeat — если ваш скрипт упал и не сходил на диск, alert придёт от Enterno даже когда вы об этом не знаете.
Похожие рецепты
logrotate stopped (config-syntax-error при последнем edit, или systemd timer disabled) — главный лог растёт. Никто не заметит пока диск не закончится.
Ваш cron стал молча не запускаться. Нужен алерт, если скрипт пропустил окно выполнения.
Контейнер падает по OOM, restart-политика поднимает его обратно — наружу никаких сигналов, пока пользователи не пожаловались.