Мониторинг доступности и производительности сайта через Telegram‑бота на белорусском хостинге

Коротко: статья объясняет, зачем контролировать доступность и скорость сайта и как настроить простой Telegram‑бот для оповещений на белорусском хостинге. Подходит для кафе, интернет‑магазинов, салонов и сервисов, которые хотят быстро получать уведомления о проблемах и иметь план реакции.

Что мониторить и почему это важно

Основные метрики: HTTP‑статус, время ответа (TTFB и время полной загрузки), наличие ключевых страниц (корзина, форма заказа), проверка SSL и целостности контента. Для интернет‑магазина в Бресте важна работа корзины; для салона в Витебске — форма записи; для кафе в Мозыре — меню и онлайн‑заказы.

Как сделать: составьте список критичных URL и назначьте пороговые значения. Пример: если ответ сервера превышает 2 секунды для страницы корзины — считать это деградацией и отправлять предупреждение.

Техническая реализация: простой бот и скрипт проверки (реалистичный сценарий)

Сценарий: владелец интернет‑магазина в Гомеле хочет получать оповещения в Telegram и видеть время простоя за сутки. Решение обходит дорогостоящие сервисы и держится на минимальном наборе компонентов: скрипт проверки, хост на белорусском сервере, бот в Telegram.

Как сделать: напишите скрипт на Python или Bash, который выполняет:

  • HTTP‑запрос к контролируемому URL с измерением времени ответа;
  • проверку кода ответа (200–399 считаем OK);
  • проверку наличия важного фрагмента HTML (например, идентификатор кнопки «Оформить»);
  • отправку сообщения в Telegram через Bot API при нарушении порога.

Совет по реализации: используйте библиотеку requests в Python и отправку сообщений через HTTPS‑запрос к Bot API. Храните токен бота в защищённом файле с правами 600 и не выкладывайте в репозитории.

Развёртывание на белорусском хостинге и отказоустойчивость (реалистичный сценарий)

Сценарий: маленькая сеть кафе в Минске хранит сайт на локальном хостинге и хочет реагировать на сбои сети и переключение на резервный сервер без потери оповещений.

Как сделать: разместите мониторинговый скрипт на отдельной виртуальной машине или в контейнере, отличном от основного веб‑сервера. Настройте период запуска через cron или systemd‑timer с интервалом 1–5 минут. Подключите мониторинг к механизму отказоустойчивости — DNS failover или балансировка. Подробности по настройке отказоустойчивости и балансировке доступны в статье про DNS Failover и балансировка для отказоустойчивого сайта в Беларуси.

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

Оповещения и рабочие процессы для малого бизнеса (реалистичный сценарий)

Сценарий: салон красоты в Гродно хочет, чтобы уведомления не терялись и попадали ответственному сотруднику, а также велась простая статистика инцидентов.

Как сделать: настройте Telegram‑бота с возможностью групповой рассылки и личных сообщений. В сообщении указывайте: URL, время, код ошибки, время ответа, скриншот или ссылка на лог. Для приоритизации используйте шаблоны: «критично» — доступность ниже 90% за 5 минут; «предупреждение» — время ответа превышает порог.

Совет по процессу: назначьте владельца инцидента и опишите шаги реакции: проверить хостинг‑панель, перезапустить сервис, сообщить поставщику хостинга. Заведите простой журнал инцидентов в Google Sheets или в блокноте на сервере.

Метрики и отчётность

Записывайте в CSV: метка времени, URL, код ответа, время ответа, примечание. Это поможет найти закономерности: например, падение скорости в часы пик или при обновлениях сайта.

Интеграции и расширения

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

Как сделать: используйте отдельные скрипты для каждого сервиса и общий обработчик оповещений. При добавлении новых проверок не увеличивайте интервал глобально: оставьте критичные проверки чаще, второстепенные реже.

Типичные ошибки

  • Запуск проверок на том же сервере, который проверяется — ложные положительные срабатывания.
  • Отправка длинных логов в Telegram — сообщения теряют смысл; короткие шаблоны лучше.
  • Хранение токенов бота в публичных репозиториях.
  • Отсутствие тестового сценария переключения при отказе — никто не знает, работает ли failover.
  • Игнорирование пиковых нагрузок — ставят порог по среднему времени, а не по пику.

3 шага, которые можно сделать сегодня: 1) Составьте список критичных URL и порогов; 2) Напишите простой скрипт проверки и протестируйте локально; 3) Разместите скрипт на отдельном аккаунте на хостинге и подключите Telegram‑бота для оповещений.

Полезные ссылки: руководство по автоматизации SSL‑сертификатов доступно в материале про Автоматизация SSL‑сертификатов на белорусском хостинге, а чек‑лист переезда сайта на локальный хостинг — в статье Переезд сайта малого бизнеса на белорусский хостинг — чек‑лист.


🗓️

Вернуться на главную →