import time,datetime
import sys
import os.path
import re
import smtplib
from email.mime.text import MIMEText
#定义日志的日期名称
date = time.strftime('%F')
#定义要过滤的日志名字
log_file = 'localhost_access_log.%s.txt' % date
#记录日志读取过的指针位置
seek_file = '/tmp/log_check_seek.tmp'
global data
#计算uri 下的time range
time_range = int(match.groupdict()['request_time'])
if time_range in range(0,4):
data[request_uri]['time_range']['3s'] += 1
data['time_range']['3s'] += 1
elif time_range in range(4,6):
data[request_uri]['time_range']['5s'] += 1
data['time_range']['5s'] += 1
elif time_range in range(6,11):
data[request_uri]['time_range']['10s'] += 1
data['time_range']['10s'] += 1
elif time_range in range(11,60):
data[request_uri]['time_range']['11s+'] += 1
data['time_range']['11s+'] += 1
content = []
alert = []
for k in data.keys():
if k not in ['code','time_range']:
tt = k
total_sum = 0
for t in sorted(data[k]['code'].keys()):
total_sum += data[k]['code'][t]
tt += " " + str(t) + ":" + str(data[k]['code'][t])
if data[k]['code'].has_key(200):
success_code = data[k]['code'][200]/total_sum*100
else:
data[k]['code'][200]=0
success_code = data[k]['code'][200]/total_sum*100
for rr in sorted(data[k]['time_range'].keys()):
tt += " " + rr + ":" + str(data[k]['time_range'][rr])
success_time = data[k]['time_range']['3s']/total_sum*100
if success_time < 90:
alert.append(tt)
if success_code < 99:
alert.append(tt)
content.append(tt)
msg = '\x0a\x0d'.join(alert)
print msg
if len(alert) > 0:
if send_mail(mailto_list,"TV_tomcat_Alert-Report",msg):
print 'send ok'
else:
print 'send err'
seek = f.tell()
with open(seek_file,'w') as f:
f.write(time.strftime('%F %X')+"\n")
f.write(str(seek)+"\n")