#!/usr/bin/env python import sys import datetime import socket from file_backwards import * MONTH = { 'Jan':1, 'Feb':2, 'Mar':3, 'Apr':4, 'May':5, 'Jue':6, 'Jul':7, 'Aug':8, 'Sep':9, 'Oct':10, 'Nov':11, 'Dec':12, } def parse_apache_date(datestr): day, month, yearandtime = datestr.split('/') year, hour, minute,second= yearandtime.split(':') return datetime.datetime(int(year),MONTH[month],int(day),int(hour),int(minute)) def countDict(d, k): if k in d: d[k] += 1 else: d[k] = 1 def parse_apache_log(logfile,ten_m): result = {} with open(logfile) as fd: for line in filerev(fd): splited_line = line.split() datestr = splited_line[3][1:] apache_date = parse_apache_date(datestr) if apache_date > ten_m: countDict(result, apache_date.strftime('%s')) else: return result if __name__ == '__main__': now = datetime.datetime.now() timedelta = datetime.timedelta(minutes=10) ten_m_ago = now - timedelta key = 'http.count' data = parse_apache_log(sys.argv[1], ten_m_ago) sock = socket.socket() sock.connect(('127.0.0.1', 2003)) print data for k, v in data.items(): sock.send("%s %d %s\n" % (key, v, k))
apache日志分析(python)
原创
©著作权归作者所有:来自51CTO博客作者muzinan110的原创作品,谢绝转载,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
apache日志分析
apache日志分析
apache character option instead specified unless -
Apache日志分割and日志分析
Apache日志分割and日志分析
Apache 日志分割 and 日志分析