Watchdog сервис предназначен для решения задачи проверки работаспособности развёрнутых и поддерживаемых сайтов. Проверка происходит в виде запросов GET к главным страницам сайтов.
- Есть ли вообще в пространстве имён
DNSэтот сайт. - Отдаёт ли ответ
200наGETзапрос. - Получение
контрольной фразыс главной страницы сайта.
контрольная фраза - как правило уникальный редко изменяемый реквизит. Например, номер телефона, адрес электронной почты или георгафический адрес редакции.
Параметры все параметры представлены в settings.py:
TOKEN- token телеграм бота. Пример "5124231563:AAE3723-HrMJP7pmBMRM_xc8wByZsN9dfzA".CHAT_ID- идентификатор чата. Пример 422944053.CHECK_BOT_SEC- период в секундах проверки работоспособности сервисаwatchdog. Сервис отправляет сообщенияI'm aliveв чат бота, для уверенности, что сервис в работоспособном состоянии. Пример 3600.data- словарь со списком данных проверяемых сайтов:host-urlсайта. Пример "https://kvgazeta.ru".check_text- текст, который нужно получить при проверке с главной страници сайта. Пример "662720, п. Шушенское, ул. Ленина, 65".check_times- количество раз проверка сайта должна получить отрицательный результат, после чего увовень логирования становитьсяCRITICALи отправляется сообщение, что сайт не доступен в чат телеграм бота. Пример 3.check_period_sec- период проверки сайта в секундах. Пример 60.
INFO- проверка сайта прошла успешно. Всё нормально.ERROR- сайт не прошел проверку, но количество проверок с отрицательным результатом не превышает указанных вcheck_times.CRITICAL- количество проверок с отрицательным результатом равно или превышает указанных вcheck_times. При этом отправляется сообщение в чат телеграм бота.
docker-compose build
docker-compose up -dС помощью бота @BotFather создать нового бота:
/newbotTOKEN сообщается после успешного создания нового бота.
Пример:
https://api.telegram.org/bot5124231563:AAE3723-HrMJP7pmBMRM_xc8wByZsN9dfzA/getUpdatesгде "5124231563:AAE3723-HrMJP7pmBMRM_xc8wByZsN9dfzA" это TOKEN