NexNode
Все гайды
ЭксплуатацияНовичок

Мониторинг сайта и сервера: узнавать о сбоях раньше клиентов

Ставим Uptime Kuma на VPS через Docker: проверка доступности сайта, уведомления в Telegram и контроль срока действия SSL-сертификата.

9 мин чтенияобновлено 29 июля 2026 г.

Худший способ узнать, что сайт лежит, — прочитать об этом в сообщении от клиента. Второй по неприятности — заметить самому через сутки.

Мониторинг решает это за пятнадцать минут настройки: сервис раз в минуту дёргает ваш сайт и, если тот не ответил, присылает уведомление в Telegram. Разберём на Uptime Kuma — это бесплатная программа, которая ставится на ваш же сервер и выглядит как платные сервисы за десятки долларов в месяц.

Что она умеет

  • проверять сайты и API по HTTP
  • пинговать серверы
  • следить за конкретными портами (игровой сервер, база данных)
  • предупреждать за N дней до истечения SSL-сертификата
  • присылать уведомления в Telegram, на почту, в Discord и ещё в полсотни мест
  • показывать красивую статистику доступности и публичную страницу статуса

Ставьте на отдельный сервер

Мониторинг, который живёт на том же сервере, что и сайт, бесполезен: упадёт сервер — замолчит и он. Идеально поставить Kuma на самый дешёвый VPS у другого провайдера. Тариф за 250 ₽ подойдёт полностью.

Шаг 1. Ставим Docker

Uptime Kuma удобнее всего запускать в контейнере — не придётся возиться с Node.js и зависимостями.

терминал
root@vps:~#apt update && apt install -y ca-certificates curlroot@vps:~#install -m 0755 -d /etc/apt/keyringsroot@vps:~#curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.ascroot@vps:~#chmod a+r /etc/apt/keyrings/docker.asc
терминал
root@vps:~#echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo $VERSION_CODENAME) stable" > /etc/apt/sources.list.d/docker.listroot@vps:~#apt updateroot@vps:~#apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

Проверьте:

терминал
root@vps:~#docker --version

Подробнее про контейнеры — в гайде про деплой через Docker Compose.

Шаг 2. Запускаем Uptime Kuma

Создайте папку и файл описания:

терминал
root@vps:~#mkdir -p /opt/kuma && cd /opt/kuma && nano docker-compose.yml
services:
  uptime-kuma:
    image: louislam/uptime-kuma:1
    container_name: uptime-kuma
    restart: unless-stopped
    ports:
      - "127.0.0.1:3001:3001"
    volumes:
      - ./data:/app/data

Обратите внимание на 127.0.0.1 перед портом — панель будет доступна только с самого сервера, а не всему интернету. Это важно: открытая наружу панель мониторинга — подарок для сканеров.

Запускаем:

терминал
root@vps:~#docker compose up -droot@vps:~#docker compose ps

Шаг 3. Открываем панель

Так как порт закрыт снаружи, зайдём через SSH-туннель. На своём компьютере выполните:

ваш компьютер
user@local:~#ssh -L 3001:127.0.0.1:3001 root@ВАШ_IP

Не закрывая это окно, откройте в браузере http://localhost:3001. Увидите экран создания администратора — придумайте логин и пароль.

Хотите постоянный адрес

Можно поставить перед Kuma nginx с доменом и сертификатом — как в гайде про nginx и HTTPS. Тогда панель будет доступна по адресу вроде status.мойсайт.ру. Только обязательно оставьте вход по паролю.

Шаг 4. Первая проверка

Нажмите Add New Monitor и заполните:

  • Monitor Type — HTTP(s)
  • Friendly Name — понятное имя, например «Основной сайт»
  • URL — адрес вашего сайта
  • Heartbeat Interval — 60 секунд, этого достаточно
  • Retries — 2, чтобы не дёргать вас из-за одной случайной ошибки сети

Сохраните. Через минуту появится первая зелёная точка.

Retries — важная настройка. Без неё вы будете получать уведомления при каждом моргании сети. Значение 2 означает: сообщить, только если сайт не ответил дважды подряд.

Шаг 5. Уведомления в Telegram

Сначала заведите бота: напишите @BotFather, команда /newbot, придумайте имя. Он выдаст токен.

Затем узнайте свой ID: напишите боту @userinfobot, он ответит числом.

В Uptime Kuma откройте Settings → Notifications → Setup Notification:

  • Notification Type — Telegram
  • Bot Token — токен от BotFather
  • Chat ID — ваш номер
  • поставьте галочку Default enabled, чтобы уведомления шли по всем проверкам

Нажмите Test — в Telegram должно прийти сообщение. Если пришло, всё готово.

Бот молчит

Telegram не даёт боту писать первым. Откройте чат с вашим ботом и отправьте ему любое сообщение — после этого уведомления начнут приходить.

Что ещё стоит поставить на контроль

Срок сертификата. В настройках проверки включите Certificate Expiry Notification и укажите 14 дней. Узнать об истёкшем сертификате от посетителей — обидно, тем более что продление автоматическое и ломается редко, но метко.

Игровой сервер. Тип проверки TCP Port, адрес сервера и порт — 25565 для Minecraft или 27015 для CS2.

Телеграм-бот. Если бот работает на сервере, добавьте в него простую страницу-заглушку и следите за ней. Так вы поймаете ситуацию, когда служба вроде запущена, а бот на самом деле завис.

Сам сервер. Тип Ping по IP — покажет, жива ли машина вообще.

Публичная страница статуса

Приятный бонус: в разделе Status Pages можно собрать публичную страницу, где видно состояние ваших сервисов. Удобно, если сайтом пользуются другие люди — вместо ответов на вопросы «у вас лежит?» даёте ссылку.

Сколько стоит

Сама программа бесплатна. Отдельный дешёвый сервер под мониторинг — 250–350 ₽ в месяц. Платные сервисы с тем же набором просят от 10 долларов.

Взять сервер под мониторинг

Хватит самого начального тарифа. Главное — чтобы провайдер был не тот же, у которого стоит основной сайт.

Смотреть тарифы

Что дальше

Мониторинг предупредит о беде, но восстанавливаться придётся из копий — если вы их делаете. Загляните в гайд про бэкапы, это следующий по важности шаг.