Как настроить мониторинг VPS в Telegram с Uptime Kuma

Как настроить мониторинг VPS в Telegram с Uptime Kuma

Uptime Kuma помогает владельцу сайта узнать о сбое VPS раньше, чем об этом сообщит клиент. В статье показано, как развернуть мониторинг на отдельном сервере, добавить проверку сайта или порта, подключить уведомления в Telegram и проверить восстановление после сбоя. Такой контроль подходит небольшому интернет-магазину, корпоративному сайту, почтовому серверу или приложению, размещённому на VPS в Беларуси.

Зачем бизнесу мониторинг сайта на VPS?

Проверка сайта из браузера показывает проблему только в тот момент, когда сотрудник открыл страницу. Uptime Kuma работает постоянно: он отправляет запрос к адресу сайта через выбранный интервал и фиксирует ответ сервера. Если сайт перестал отвечать, мониторинг отправляет сообщение ответственному сотруднику.

Причина сбоя может находиться на разных уровнях. Закончились ресурсы VPS, остановился веб-сервер, сломался сертификат, домен перестал разрешаться через DNS или приложение стало возвращать ошибку. Простая проверка доступности не объяснит причину, зато быстро покажет, что проблема началась именно сейчас.

Для малого бизнеса достаточно начать с нескольких проверок:

  • HTTPS-адрес главной страницы;
  • страница входа или другой важный URL;
  • порт почтового сервера, если корпоративная почта размещена на VPS;
  • порт SSH или панели управления, если их доступность нужно контролировать;
  • свободное место и загрузку системы через отдельный контроль сервера.

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

Как установить Uptime Kuma на VPS?

Перед установкой подготовьте чистый VPS, доменное имя или поддомен, а также учётную запись с правами администратора. Для нового сервера сначала задайте имя хоста, обновите пакеты, ограничьте доступ к SSH и настройте резервное копирование конфигурации. Если управление сервером выполняется через панель, сначала проверьте, какие порты она уже заняла; материал о выборе панели управления VPS поможет сравнить такой подход с ручной настройкой: как выбрать панель управления VPS.

Uptime Kuma часто запускают в Docker-контейнере. В таком варианте приложение и его зависимости находятся в отдельной среде, а обновление не затрагивает файлы сайта. Для запуска создают постоянный каталог данных и подключают его к контейнеру. Без постоянного хранилища после пересоздания контейнера можно потерять список мониторов, историю доступности и настройки уведомлений.

После запуска приложение открывают через локальный порт VPS. Для постоянной работы лучше поставить перед ним веб-сервер с обратным прокси и включить HTTPS. Пользователь тогда обращается к адресу вида monitoring.example.by, а сам Uptime Kuma остаётся доступен только через прокси. Панель мониторинга не стоит оставлять открытой на нестандартном порту без ограничения доступа.

Минимальная схема выглядит так:

  • домен или поддомен указывает на IP VPS;
  • веб-сервер принимает HTTPS-запрос;
  • обратный прокси передаёт запрос в Uptime Kuma;
  • Uptime Kuma хранит данные в постоянном каталоге;
  • исходящие соединения к Telegram разрешены правилами сети.

После первого входа создайте отдельную учётную запись для администратора и сохраните резервную копию каталога с данными. Пароль не стоит передавать в общем чате или хранить в файле с открытыми правами.

Как добавить проверку сайта в Uptime Kuma?

В меню создания монитора выберите тип HTTP или HTTPS и укажите полный адрес страницы. Для главной страницы достаточно проверить код ответа. Для важного раздела можно добавить поиск ключевого текста, например названия формы заказа или сообщения о доступности сервиса. Тогда монитор заметит ситуацию, когда веб-сервер отвечает кодом 200, но само приложение показывает ошибку.

Имя монитора должно объяснять, что именно проверяется. Запись «Сайт» быстро становится непонятной, если появятся ещё почта и служебные страницы. Название «Основной сайт, главная страница» сразу связывает уведомление с конкретной задачей.

Что проверять Какой монитор выбрать Когда это полезно
Главную страницу сайта HTTP(s) Нужно знать, открывается ли сайт для посетителя
URL страницы заказа или входа HTTP(s) с проверкой текста Главная страница работает, но приложение сломалось
SSH, SMTP или другой сервис TCP-порт Нужно проверить доступность конкретной службы
DNS-ответ домена DNS Есть подозрение на ошибку разрешения имени
Работу сервиса на самом сервере Push-монитор Сервис должен сам отправлять регулярный сигнал

Интервал проверки выбирают по задаче. Для обычного корпоративного сайта нет смысла создавать частые запросы без причины. Для страницы оформления заказа интервал делают короче, если простой быстро приводит к потерянным обращениям. Учитывайте нагрузку и ограничения провайдера, особенно когда на одном VPS размещено несколько приложений.

Отдельно настройте тайм-аут. Слишком короткое ожидание даст ложные тревоги при кратковременной задержке сети, а слишком длинное отложит сообщение о проблеме. После сохранения монитора откройте страницу вручную и убедитесь, что Uptime Kuma видит ожидаемый код ответа и текст.

Как подключить уведомления Uptime Kuma в Telegram?

Для Telegram создают бота через официального бота регистрации, после чего получают токен. Токен даёт доступ к отправке сообщений от имени бота, поэтому его хранят как пароль и не публикуют в документации или скриншотах. Затем нужно получить идентификатор чата, в который Uptime Kuma будет отправлять события.

В разделе уведомлений Uptime Kuma выберите Telegram, укажите токен и идентификатор чата, затем отправьте тестовое сообщение. Если уведомление не пришло, проверьте, добавлен ли бот в нужный чат, имеет ли он право писать сообщения и разрешены ли исходящие подключения с VPS.

Для небольшой компании лучше создать отдельный рабочий чат мониторинга. В нём оставляют только сообщения о доступности сервисов и назначают человека, который отвечает за реакцию. Личные чаты сотрудника подходят хуже: при отпуске или смене ответственного история инцидентов теряется.

Настройте два события:

  • сообщение о переходе сервиса в состояние «недоступен»;
  • сообщение о восстановлении работы.

Сообщение о восстановлении особенно полезно. Оно показывает, что проблема закончилась, и помогает отделить кратковременный сбой от ситуации, которая требует разбора. В рабочем чате удобно сохранять время начала, время восстановления и название монитора.

Как проверить, что алерты действительно работают?

Тестовая отправка сообщения подтверждает только связь с Telegram. Она не проверяет весь сценарий. После подключения временно укажите в мониторе неправильный адрес или остановите тестовый сервис, если он не влияет на работу клиентов. Uptime Kuma должен зафиксировать недоступность и отправить тревогу.

После этого верните правильный адрес и дождитесь уведомления о восстановлении. Запишите фактическую задержку между сбоем и сообщением. Она зависит от интервала проверки, тайм-аута и сети, поэтому её нужно оценивать на своей инфраструктуре.

Проверьте также ситуацию с перезапуском самого Uptime Kuma. После перезагрузки VPS приложение должно запуститься автоматически, а мониторы и настройки должны сохраниться. Если данные исчезли, контейнер запущен без постоянного тома или каталог имеет неправильные права.

Типичные ошибки при настройке мониторинга

  • Uptime Kuma размещают на том же сервере, который он проверяет. При полном сбое VPS уведомление не уйдёт.
  • Проверяют только код ответа главной страницы. Приложение может вернуть успешный ответ, хотя форма заказа уже не работает.
  • Хранят токен Telegram в открытом файле или отправляют его в общий чат. При утечке токен нужно заменить.
  • Открывают панель Uptime Kuma всему интернету без HTTPS и дополнительной защиты доступа.
  • Не сохраняют каталог данных. После пересоздания контейнера пропадают мониторы и история.
  • Настраивают только сообщение о сбое и забывают уведомление о восстановлении.

3 шага, которые можно сделать сегодня:

  1. Разместить Uptime Kuma на отдельном VPS и сохранить его данные в постоянном каталоге.
  2. Добавить HTTP-проверку главной страницы и отдельной критичной функции сайта.
  3. Подключить Telegram, отправить тест, затем проверить сценарии недоступности и восстановления.

После базовой настройки мониторинг становится частью обычного обслуживания инфраструктуры. Если сайт, почта или приложение требуют нескольких проверок, резервирования и контроля ресурсов, конфигурацию VPS лучше описать отдельно: так проще передать администрирование и восстановить сервер после сбоя.