python监控接口请求

1 #!/usr/bin/env python
2 #coding=utf8
3 import time,os,sched,urllib,httplib
4 import smtplib
5 import string
6
7 schedule = sched.scheduler(time.time, time.sleep)
8 def perform_command(self, inc):
9 schedule.enter(inc, 0, perform_command, (self, inc))
10 #os.system(cmd)
11 monitoring(self)
12 def timming_exe(self, inc = 60):
13 schedule.enter(inc, 0, perform_command, (self, inc))
14 schedule.run()
15
16 def monitoring(self):
17 print("开始监控...")
18 httpClient = None
19 try:
20 params = urllib.urlencode({'name': 'tom', 'age': 22})
21 headers = {"Content-type": "application/x-www-form-urlencoded"
22 , "Accept": "text/plain"}
23
24 httpClient = httplib.HTTPConnection("2xx.x9.2x1.x", 8800, timeout=30)
25 httpClient.request("POST", "/path/pathxxxxxxx", params, headers)
26
27 response = httpClient.getresponse()
28 print (response.status)
29 print (response.reason)
30 #print response.read()
31 #print response.getheaders() #获取头信息
32
33 if response.status == 200:
34 print (u"正常")
35 else:
36 print (u"异常")
37 sendmsg
38 print '邮件已发送....'
39 except Exception,e:
40 print e
41 finally:
42 if httpClient:
43 httpClient.close()
44
45 def sendmsg():
46 FROM="xxx.com"
47 TO="xxx.com"
48 PASS="xxx"
49 HOST="smtp.sina.com"
50 PORT="25"
51 SUBJECT="Interface alarm "
52 TEXT="The alarm information !"
53 BODY= string.join((
54 "From: %s" % FROM,
55 "To: %s" % TO,
56 "Subject: %s" % SUBJECT,
57 "",
58 TEXT
59 ), "\r\n")
60 server=smtplib.SMTP()
61 server.connect(HOST,"25")
62 server.login(FROM,PASS)
63 server.sendmail(FROM,TO,BODY)
64 server.quit()
65
66 print("服务监控>>> 一分钟后开始执行(每10秒):")
67 timming_exe("echo %time%", 10)


浙公网安备 33010602011771号