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

kniaz05

Client
Регистрация
03.01.2021
Сообщения
37
Благодарностей
46
Баллы
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 инструментом не только для парсинга и автоматизации, но и для мониторинга доступности сайтов.
    • Он прост, но решает очень практичную задачу:
    • Экономит время и деньги, предупреждая о проблемах ещё до того, как они станут критичными.
 

Вложения

izubr

Client
Регистрация
11.05.2011
Сообщения
628
Благодарностей
284
Баллы
63
неплохо было бы добавить доп проверку текста, но думаю это легко каждый заинтересованный сделает.
были случаи что отдавало 200, а там белая страница
 

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