Мини-мониторинг VPS: что проверять, пока проект маленький
Для маленького сайта не нужен сложный observability-стек, но нужны простые проверки, которые ловят реальные проблемы.
Пока проект маленький, легко жить без мониторинга. Сайт открывается, значит все нормально. Проблема в том, что владелец часто узнает о сбое последним: сертификат истек, nginx упал, диск забился, cron не публикует отложенные статьи.
Что проверять первым
Минимальный набор:
- HTTP 200 для главной;
- HTTP 200 для
/feed/; - срок действия TLS-сертификата;
- свободное место на диске;
- статус
nginx; - статус
php-fpm; - последние ошибки в nginx error log;
- успешный запуск cron-публикации.
Это можно сделать внешним uptime-сервисом и парой локальных команд. Не обязательно сразу ставить Prometheus, Grafana и Alertmanager.
Почему важен cron
Если блог использует scheduled-публикации, cron становится частью продукта. Пользователь не видит cron, но именно он переводит материалы из scheduled в published. Значит его надо проверять так же, как nginx.
Простая привычка
Раз в неделю:
systemctl status nginx --no-pager
systemctl status php8.1-fpm --no-pager
systemctl list-timers --all | grep certbot
df -h
tail -n 50 /var/log/nginx/blog.sonydev.de.error.log
Этого уже достаточно, чтобы увидеть большинство ранних проблем.
Вывод
Мини-мониторинг — это не про красивые графики. Это про то, чтобы сайт не молчал, когда ему плохо.