VDS · Приложения и боты

Свой мониторинг: Uptime Kuma

Как поднять проверку доступности своих сайтов и сервисов с уведомлениями в Telegram или Discord и настроить её так, чтобы она будила вас только по делу.

Обновлено 23 августа 2026 г.

Панель машины показывает графики процессора, трафика и памяти, но она не знает, отвечает ли ваш сайт и жива ли база. Для этого нужен свой наблюдатель. Uptime Kuma — самый простой вариант: один контейнер, веб-интерфейс, десятки способов уведомления.

Установка

services:
  uptime-kuma:
    image: louislam/uptime-kuma:1
    container_name: uptime-kuma
    restart: unless-stopped
    volumes:
      - ./data:/app/data
    ports:
      - "127.0.0.1:3001:3001"
docker compose up -d

Порт привязан к локальному интерфейсу намеренно: панель мониторинга не должна торчать наружу. Открывайте её либо через веб-сервер с сертификатом и паролем, либо туннелем SSH:

ssh -L 3001:127.0.0.1:3001 root@<адрес-машины>

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

Что проверять

Начните с малого, иначе утонете в шуме:

  • HTTP-проверка главной страницы каждого сайта — код ответа и время.
  • HTTP-проверка ключевого API с проверкой ключевого слова в ответе. Страница может отдавать 200 и при этом показывать ошибку.
  • TCP-порт базы данных или игрового сервера.
  • Срок сертификата — Kuma предупредит за N дней до истечения.
  • Push-проверка для задач по расписанию: скрипт после успешного выполнения дёргает уникальный адрес, и если не дёрнул — приходит тревога. Отлично сочетается с заданиями по расписанию.

Интервал 60 секунд достаточен почти всегда. Повторные попытки — 2-3, иначе одна потерянная сетевая пачка поднимет тревогу зря.

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

Уведомления

Заведите бота Telegram или вебхук Discord и добавьте его в разделе уведомлений. Почтовый канал не берите: исходящие соединения машины на порты 25, 465 и 587 закрыты, пока их не откроют по заявке, и письма из Kuma просто не уйдут — см. Почтовый сервер.

Полезные привычки:

  • Разные каналы для «упало» и «истекает сертификат». Первое требует реакции сейчас, второе — на неделе.
  • Уведомление о восстановлении включено. Без него непонятно, кончилась ли авария.
  • Тестовое сообщение отправлено при настройке. Половина проблем — неверный токен, а выясняется это в момент реальной аварии.

Ресурсы и обслуживание

Контейнер укладывается в 150-250 МБ памяти, на VDS-1 работает спокойно. База растёт от истории проверок: в настройках задайте хранение за 90-180 дней, иначе через год файл разрастётся до гигабайтов — см. место на диске.

Каталог ./data — всё состояние сервиса. Включите его в резервную копию: восстанавливать три десятка проверок руками неприятно.

Частые ошибки

  • Проверка по адресу IP вместо домена. Сертификат и виртуальный хост не проверяются, авария на DNS остаётся незамеченной.
  • Слишком чувствительные пороги. Тревога на каждое превышение 2 секунд приводит к тому, что уведомления перестают читать.
  • Панель открыта наружу без пароля. Она показывает всю вашу инфраструктуру: адреса, порты, имена сервисов.