Мониторинг сайтов с уведомлением в Telegram

kniaz05

Client
Регистрация
03.01.2021
Сообщения
37
Благодарностей
36
Баллы
18
Введение
Когда сайт перестаёт работать, каждая минута простоя — это потерянные клиенты, деньги и репутация.
Ручная проверка или ожидание жалоб пользователей — не вариант.
Поэтому я сделал шаблон для автоматической проверки доступности сайтов с интервалом в 2 минуты.

Шаблон не только тестирует сайты, но и сразу уведомляет в Telegram, если с ними что-то не так. Это позволяет реагировать на сбои оперативно, ещё до того как их заметят пользователи.


Основная идея
✅ Автоматическая проверка списка сайтов

✅ Анализ кода ответа сервера

✅ Уведомления в Telegram, если сайт недоступен

✅ Гибкая настройка интервала проверки

✅ Масштабируемость: можно проверять 1 сайт или десятки

Переменные проекта
request – результат регулярного выражения, содержащий код ответа

responseCode – заголовок ответа сервера

telegram – строка для отправки уведомлений в Telegram Bot API

site_url – текущая проверяемая ссылка

count – счётчик перебора сайтов

sites_count – общее количество сайтов из списка
chat_id – id чата телеграм

bot_token – токен telegram бота

Алгоритм работы

Инициализация

  • Переменная count = 0
  • Загружается список сайтов из файла links.txt (Должен быть в той-же папке, что и шаблон)
  • Подсчитывается количество строк → сохраняется в sites_count
  • Цикл проверки
  • Берём первую ссылку (site_url)
  • Увеличиваем count на 1
  • Отправляем GET-запрос (только заголовки)
  • Сохраняем ответ в responseCode
  • Обработка ответа
  • С помощью регулярного выражения извлекаем код (200, 404, 500 и т.д.) → сохраняем в request
  • Если код не равен 200 → отправляем уведомление в Telegram:
  • «Не работает {site_url}»
  • Если код 200 → фиксируем, что сайт работает
  • Переход к следующему сайту
  • Проверяем условие: если count < sites_count, берём новую строку из списка и продолжаем
  • Если сайты закончились → обнуляем count и цикл запускается снова через 2 минуты


  • Настройка Telegram для уведомлений

    Чтобы шаблон присылал уведомления о неработающих сайтах, нужно создать Telegram-бота и получить его данные.


    1. Создание бота через @botfather

    Найдите официальный бот @botfather и введите команду /newbot.

    Придумайте имя (например, SiteMonitorBot) и логин (например, site_monitor_bot).

    BotFather выдаст токен бота — строку вида:

    1234567890:AAH-XXXXYYYYZZZZ123456

    Этот токен мы будем использовать в ссылке API (зададим во входных параметрах).

    2. Создание чата для уведомлений

    Создайте группу в Telegram (например, «Мониторинг сайтов»).

    Добавьте туда вашего бота.

    Сделайте его администратором (право «Отправлять сообщения»).

    3. Получение chat_id:

    Перейдите в группу.

    В браузере откройте ссылку:

    https://api.telegram.org/bot<ВАШ_ТОКЕН>/getUpdates

    Напишите любое сообщение в группу.

    В ответе JSON найдите поле chat → id. Например:

    "id": -1002109208512

    4. Сборка рабочей ссылки

    Строка для отправки уведомлений:

    https://api.telegram.org/bot<ВАШ_ТОКЕН>/sendMessage?chat_id=<ВАШ_CHAT_ID>&text=не%20работает%20{-Variable.site_url-}

    Пример:

    https://api.telegram.org/bot1234567890:AAH-XXXXYYYYZZZZ123456/sendMessage?chat_id=-1002109208512&text=не работает {-Variable.site_url-}

    Она уже создана в шаблоне

    5. Проверка

    Вставьте ссылку в браузер. Если всё верно, в группу придёт сообщение:

    не работает <сайт>

    Теперь Zennoposter будет автоматически присылать такие уведомления.

    ⚙ Настройка проекта в Zennoposter

    Чтобы мониторинг работал стабильно, задаём параметры выполнения в диспетчере заданий.

    1. Добавление шаблона

    В диспетчере заданий нажмите «Добавить проект».

    Укажите путь к вашему шаблону мониторинга сайтов.

    2. Вкладка «Проекты в задание» → «Настройки»

    Сколько делать: -1

    Максимум потоков: 1

    3. Вкладка «Остановка»

    Количество успехов: 1

    Количество неуспехов подряд: 5

    Условия прерывания потока: -1

    4. Вкладка «Условия выполнения»

    Как выполнять: каждый день

    Начать: укажите текущую дату и время

    Когда повторять: круглосуточно

    Как повторять: Подряд с паузой 2 минуты

    Завершить: Без конца

    5. Задайте входные параметры (chat_id, токен бота) и запустите шаблон.


    ✅ Результат

    После этих шагов у вас получится полноценный инструмент для мониторинга:

    Работает в фоне круглосуточно.

    Проверяет сразу несколько сайтов.

    Уведомляет в Telegram при проблемах.

    Не требует ручного вмешательства.

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

Вложения

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)