Скрипт для мониторинга доступности сайтов. После запуска скрипт работает до прерывания его работы пользователем. Уведомления рассылаются только в случае смены статуса доступности сервера. Работа скрипта логируется в консоль или файл monitor.log
. Уведомления отправляются в телеграм канал от имени бота.
Скрипт умеет обрабатывать следующие состояния:
- ошибку ConnectionError
- ошибку Timeout
- код ответа 200
- остальные коды ответа (текст "Ошибка с кодом {код ответа сервра} - {url}")
- Установленный Python 3.7
- Установленный инструмент для работы с виртуальными окружениями virtualenv
pip install virtualenv
git clone https://github.com/arkuz/site_monitor
cd site_monitor
virtualenv env
env/scripts/activate
pip install -r requirements.txt
http://127.0.0.1:5000/blog/
http://yandex.ru
http://google.com
Для получения уведомлений в телеграм необходимо:
- Создать бота через
@BotFather
- Создать беседу в телеграм
- Добавить бота в беседу
- Добавить всех пользователей, которые хотят получать уведомления, в беседу созданную на шаге 2
Скрипт monitor.py
принимает 6 обязательных позиционных параметров:
path Расположение файла со списком url адресов
delay Задержка в секундах между опросами
proxy_telegram Прокси для telegram, формат socks5://user:pass@host:port
bot_api_key Ключ API для бота telegram
chat_id Идентификатор чата, формат - @chat_name
log_to_file Логировать в файл если равно 1, при любом другом цифровом значении
лог в консоль
python monitor.py urls.txt 60 socks5://login:[email protected]:1080 111111111:AAHH7k7pklz9ZFBcTucu8e2OWb43OKcl4UE @my_group 0
2019-12-08 16:17:40.208031+03:00 - INFO - Опрос адресов ...
2019-12-08 16:17:40.208031+03:00 - INFO - Опрос завершен ...