码迷,mamicode.com
首页 > 编程语言 > 详细

python监控网页状态

时间:2015-03-17 19:27:43      阅读:739      评论:0      收藏:0      [点我收藏+]

标签:

最近公司erp服务器无规律、不间断、时不时抽风,往往都是挂了快个把小时后其它部门的人才打电话过来说服务器挂了。于是用python写了一个简单的网页监控。程序主要监控网页状态码,200为正常,否则视为服务器挂了。每隔70秒查询一次,若发现三次连续的查询中都报错误,则通过预先设定的邮箱发送警告邮件。邮件发送后隔30分钟再次监控设定网页。

 

#coding:utf-8
#author:ljc
#python verson 2.7.9

import smtplib
import urllib
import time


def sendmail():
    mail_to = smtplib.SMTP(smtp.126.com,25)         #设置邮件发送服务器
    mail_to.login("send_mail@126.com","jmj!@#")      #设置发送邮件的帐号,密码
    msg = """From: system <send_mail@126.com>    
To: <receive_mail@126.com>
Subject: webserver_down

web server is down 
"""
    mail_to.sendmail(send_mail@126.com,receive_mail@126.com,msg)
    mail_to.close()


if __name__ == __main__:
print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),‘server monitor is running‘
while 1: count=0 error_status_count=0 while count<3: time.sleep(70) #每隔70秒监控一次服务器 try: status=urllib.urlopen("http://192.168.0.8").code #收集监控网址的网页状态码 if status==200: print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),web server is functional if status<>200: error_status_count+=1 print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),web servier is down ,error status count:,error_status_count,status number,status except: error_status_count+=1 #网页状态错误次数进行累加 print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),web servier is down ,error status count:,error_status_count count+=1 if error_status_count>=3: #网页状态错误超过3次自动发送报警邮件 print error status count is :,error_status_count,sending email,the program wiil try to monint the server after half an hour sendmail() time.sleep(1800) #邮件发送后半小时再后再次监控网页

 

python监控网页状态

标签:

原文地址:http://www.cnblogs.com/id404/p/4345059.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!