importsmtplibimportrequestsfromrequests.exceptionsimportTimeout,HTTPErrorfromthreadingimportTimerclassChecker(object):URL_TO_CHECK='http://bmwlog.pp.ua/'CHECK_INTERVAL=3MAIL_USERNAME=''MAIL_PASSWORD=''ALERT_MAIL='bmwant@gmail.com'def__init__(self):""" Override all parameters here """passdefsend_mail(self,mail_text):server=smtplib.SMTP_SSL('smtp.yandex.com',465)server.login(self.MAIL_USERNAME,self.MAIL_PASSWORD)from_addr='monitoring@bmwlog.pp.ua'to_addr=self.ALERT_MAILmsg='From: %s\r\nTo: %s\r\n\r\n%s'%(from_addr,to_addr,mail_text)server.sendmail('misha.behersky@yandex.com',self.ALERT_MAIL,msg)defcheck(self):t=Timer(self.CHECK_INTERVAL,self.check)t.start()try:r=requests.get(self.URL_TO_CHECK,timeout=1)except(HTTPError,Timeout)ase:self.send_mail('Remote is down.\nReason:\n%s'%e)exceptExceptionase:self.send_mail('Checker got into trouble itself.\nReason:\n%s'%e)if__name__=='__main__':checker=Checker()checker.check()
Comments (0)
HTTPSSSH
You can clone a snippet to your computer for local editing.
Learn more.