Мониторинг и бэкап: чтобы не проспать падение
Сервис почти всегда падает тихо: нода отвалилась в четыре утра, у хостинга кончился баланс и сервер выключили, серт протух — а узнаёшь ты из потока негатива в боте. Ниже — как поставить мониторинг с алертами в Telegram за пару минут и настроить бэкап БД, который реально спасает.
Главная беда не в том, что что-то ломается, — ломается всё и всегда. Беда в том, что ты узнаёшь об этом последним. Задача мониторинга — узнавать первым, до клиентов. Задача бэкапа — иметь откуда восстановиться, когда узнал слишком поздно.
Что вообще мониторить
Не всё сразу — вот минимум, потеря которого валит сервис:
- Ноды — ушла в offline, клиенты без выхода. Смотрим статус в панели плюс внешний uptime.
- Страница подписки — не отвечает, клиенты не могут забрать конфиг. HTTP-проверка URL подписки.
- Диск и RAM ноды — переполнились, xray упал. node_exporter или простой скрипт.
- Баланс хостинга — ушёл в ноль, сервер выключили. Напоминания, авто-пополнение.
- Домен и сертификат — серт протух, всё лежит. Контроль срока и авто-renew.
Uptime Kuma + алерты в Telegram
Лёгкий монитор с уведомлениями в бота поднимается за пару минут. Слушает только 127.0.0.1, наружу отдаётся через reverse-proxy:
docker run -d --restart=always -p 127.0.0.1:3001:3001 \
-v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1Дальше открываешь его за reverse-proxy и добавляешь мониторы:
- TCP на каждую ноду —
SERVER_IP:443. - HTTP на страницу подписки — её публичный URL.
В разделе Notifications → Telegram вбиваешь токен своего бота и chat_id — при падении прилетит сообщение. Интервал ставь 60 секунд и 2–3 ретрая, чтобы монитор не дёргал тебя на каждом моргании сети.
Бэкап БД: обязательно и наружу
Нет бэкапа БД — угон или сбой означает потерю всех клиентов. PostgreSQL панели дампится одной командой:
cd /opt/remnawave
docker compose exec -T remnawave-db pg_dump -U postgres postgres > backup-$(date +%F).sql
tar czf conf-$(date +%F).tgz .env docker-compose.ymlРуками ты это делать забудешь, поэтому вешаем на cron — ежедневно ночью, со сжатием:
0 4 * * * root cd /opt/remnawave && docker compose exec -T remnawave-db pg_dump -U postgres postgres | gzip > /root/backups/db-$(date +\%F).sql.gzИ — самое важное — выгружаешь бэкап наружу, к другому провайдеру:
# rclone настраивается заранее (rclone config), потом одной строкой в тот же cron
rclone copy /root/backups remote:vpnhub-backupsБэкап на том же сервере, который изъяли или удалили, бесполезен. Держи копии в другом месте — другое облако, другой провайдер — и храни 7–14 поколений.
Восстановление (и проверка, что оно работает)
Дамп, который ни разу не разворачивали, — это не бэкап, а надежда. Восстановление на запасном сервере проверяй регулярно:
cd /opt/remnawave
docker compose up -d remnawave-db # поднять только БД
gunzip < /root/backups/db-2026-07-02.sql.gz | \
docker compose exec -T remnawave-db psql -U postgres postgres # залить дамп
docker compose up -d # поднять панельПосле заливки проверь глазами: пользователи, ноды и сквады на месте, ноды поднялись в online. «Бэкап, который не восстанавливается» — это отсутствие бэкапа.
Сертификаты: авто-продление
Протухший серт кладёт всё разом, а это самая обидная смерть — потому что предотвращается бесплатно:
# certbot ставит таймер сам — проверь, что он есть
systemctl list-timers | grep certbot
# раз в квартал прогони renew вхолостую для контроля
certbot renew --dry-runГигиена «не слить деньги»
Мониторинг — это ещё и про маржу:
- Удаляй лишние и выключенные VPS — они тикают по счёту, это главный тихий убийца прибыли.
- Настрой напоминания о балансе хостингов — часть провайдеров шлёт на почту или в Telegram.
- Собери один дашборд со статусом всех нод, подписки и балансов, чтобы видеть всё с одного экрана.
Чеклист
- [ ] Uptime Kuma поднят, мониторит ноды и страницу подписки.
- [ ] Алерты падают в Telegram, интервал 60с + ретраи.
- [ ] Бэкап БД по cron ежедневно, со сжатием.
- [ ] Бэкапы выгружаются наружу, хранится 7–14 копий.
- [ ] Восстановление проверено на запасном сервере.
- [ ] Авто-renew сертификатов работает.
Бэкап до любых правок панели — это база харднинга (см. «Харднинг панели»). А реакцию на пойманное падение — переезд на белый IP, каскад, запасные ноды — разбираем в разделах про обход блокировок и каскады.
Следующий гайд Cloudflare ECH и блок из РФ: почему сайт не грузится → ↗ Не понравилась статья или что-то непонятно? Напишите мне — помогу или поправлю. @notrealvpn →