2024-05-16

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

Столкнувшись с этим решил написать простой скрипт на python, для кого-то он может показаться топорным, но задачу свою выполняет. Принцип следующий – после запуска скрипт каждые 10 минут опрашивает сайт на ошибки и его доступность, если возвращаемый код 200 (сайт доступен и с ним все хорошо), то в командной строке генерируется запись об этом с указанием времени опроса, если сайт недоступен (по умолчанию 5 сек), либо возвращаемая ошибка 502 Bad Gateway или же другие ошибки – скрипт отсылает указанному пользователю аларм об этом


from requests.exceptions import Timeout, ConnectionError

import telebot

import datetime

import schedule

print = (‘Скрипт запущен’)

bot = telebot.TeleBot(“Сюда вписать token бота – кавычки оставить“, parse_mode=None)

i = 1

idtg = ???  #Вместо вопросов вписать id telegram получателя

url = ‘сюда вписать домен или айпи сайта, кавычки оставить, например, https://imaxis.ru или http://192.168.1.2

def func(name):

        global i

        dt = datetime.datetime.today()

        try:

                r = requests.get(url, timeout=5) #timeout = можно изменить время таймаута в секундах

                if r.status_code != 200:

                        bot.send_message(idtg, r.status+code + ‘Service is DOWN‘ + dt)

                else:

                        print(‘Service UP‘)

                        print(dt)

        except Timeout:

                bot.send_message(idtg,  ‘Service time-out‘)

        except  ConnectionError:

                bot.send_message(idtg,  ‘Service error connection‘)

        except:

                bot.send_message(idtg,  ‘Error unknown‘)

schedule.every(600).seconds.do(func, name=’schedule’) #время опроса в секундах

while True:

    schedule.run_pending()

Запустить скрипт можно и на windows и на linux с установленным python3 и доустановленными библиотеками

pip install requests

pip install schedule

pip install telebot

При желании можно скомпилировать в exe для винды

Скачать скрипт 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *