1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
import linecache import re import time,datetime import glob import os import conn w = '''112.224.65.85 - - [20/Aug/2013:00:01:02 +0800] "POST /api/topic/comments HTTP/1.1" 200 3804 "-" "Corax/0.7.0 CFNetwork/609.1.4 Darwin/13.0.0" "-" "1.173" "0.005"''' files_dir = "/home/corax/ops/data/" bak_dir = "/home/corax/ops/data/backup"
def readfile(path): filename = [] files = glob.glob(path + '*.log') return files
def readtime(path): read_time = [] files = glob.glob(path + '*.log') print files for i in files: read_time.append(i.split('_')[1].split('.')[0]) read_time = set(read_time) return read_time
def timestamp(time_file): return time.mktime(time.strptime(time_file,'%Y%b%d %H:%M:%S'))
def datestamp(date_name): return time.strptime(date_name,'%Y%b%d')
def handle_log(log_file): ip = r"?P<ip>[\d.]*" date = r"?P<date>\d+" month = r"?P<month>\w+" year = r"?P<year>\d+" log_time = r"?P<time>\S+" method = r"?P<method>\S+" request = r"?P<request>\S+" status = r"?P<status>\d+" bodyBytesSent = r"?P<bodyBytesSent>\d+" refer = r"""?P<refer> [^\"]* """ userAgent=r"""?P<userAgent> \S* """ forwardr=r"""?P<forwardr> [^\"]* """ request_time=r"""?P<request_time> [^\"]* """ response_time=r"""?P<response_time> [^\"]* """ p = re.compile(r"(%s)\ -\ -\ \[(%s)/(%s)/(%s)\:(%s)\ [\S]+\]\ \"(%s)?[\s]?(%s)?.*?\"\ (%s)\ (%s)\ \"(%s)\"\ \"(%s).*?\"\ \"(%s)\"\ \"(%s)\"\ \"(%s)\"" %(ip, date, month, year, log_time, method, request, status, bodyBytesSent, refer, userAgent, forwardr, request_time, response_time ), re.VERBOSE)
s = time.time()
log_list = [] for l in log_file: f = open(l,'r') file_all = f.read() m = re.findall(p,file_all) for g in m: time_all = '%s%s%s %s'%(g[3], g[2], g[1], g[4]) time_format = timestamp(time_all) date = time.strftime("%Y%m%d",datestamp('%s%s%s'%(g[3], g[2], g[1]))) hour = g[4].split(":")[0] if g[12] != "-": req_time = float(g[12]) else: req_time = None if g[13] != "-" and len(g[13])<=5: res_time = float(g[13]) else: res_time = None log = {'ip':g[0],'time':time_format,'method':g[5],'request':g[6],'status':g[7],'bodyBytesSent':g[8],'refer':g[9],'userAgent':g[10],'forwardr':g[11],'request_time':req_time,'response_time':res_time,'date':int(date),'hour':int(hour)}
conn.db.log.insert(log) f.close() print "mv %s %s "%(l,bak_dir) os.system("mv %s %s "%(l,bak_dir)) print time.time() - s
if __name__ == '__main__': lf = readfile(files_dir) print lf read_time = readtime(files_dir) print read_time handle_log(lf)
|
相关推荐
【标题】中的“管理系统系列--运用SSM写的停车场管理系统,加入了车牌识别和数据分析”表明这是一个基于SSM(Spring、SpringMVC、MyBatis)框架开发的停车场管理系统,且具备车牌识别与数据分析功能。SSM是Java Web...
数据分析是数字化社区管理平台的重要组成部分,可能使用Python的Pandas、NumPy库或者R语言进行数据清洗和分析,使用Echarts、Highcharts等图表库展示数据,帮助管理者洞察社区动态。此外,机器学习技术如分类、聚类...
这涉及到统计分析和图表展示,可以使用Apache POI处理Excel导出,Highcharts或ECharts生成交互式图表。 在技术选型上,JAVA作为企业级开发的首选语言,提供了丰富的开源库和框架,如Spring Boot简化了项目的初始化...
Redisson(分布式锁),dubbo缓存:Redis(日志系统等)数据库:MySQL部署:Tomcat,Nginx,阿里云服务器,七牛云CDN Python相关:百度统计的获取,Flask提供文本分析API其他:MongoDB(目前仅用于记录数据库启动)...
"水温极值可视化平台.zip" 是一个包含与水温监测和数据分析相关的项目。这个项目的重点在于利用Java技术实现一个可视化的平台,帮助用户直观地理解水体中的温度变化,尤其是极端高温或低温的情况。Java作为一种多...
使用 Highcharts 添加数据可视化图表莫里斯.js 15 个最佳 JavaScript 图表库 第 9 周 - 外部工具使用 Mailgun示例发送电子邮件 第 8 周 - 部署到 EC2 准备 Ubuntu 14.04 EC2 实例安装 Nginx、MongoDB、Node.js、NPM ...
8. **报表与数据分析**:系统应提供各类统计报表,如入住率、收入分析等,可能需要利用Excel导出、图表生成库(如Echarts、Highcharts)和数据分析工具。 9. **安全性**:保护客户隐私和防止未授权访问是关键,需要...
8. **报表与统计分析**:系统应具备生成考勤报表的功能,可能利用ECharts、Highcharts等图表库展示出学生的出勤率、迟到次数等统计信息。 9. **版本控制**:开发者会使用Git进行代码版本控制,便于团队协作和代码...
7. **数据可视化**:如果项目包含了数据分析功能,可能还使用了ECharts、Highcharts等工具进行数据可视化,展示用户行为、热门话题等信息。 8. **版本控制**:作为完整源码的一部分,项目很可能是在Git上进行版本...
5. **数据可视化**:后台管理系统可能会用到图表库,如ECharts、Highcharts或D3.js,以便以图形方式展示数据分析结果。 6. **API接口设计**:系统可能对外提供API接口,供其他服务调用,这涉及到API设计规范,如...
2. **数据库设计**:为了存储员工信息、考勤记录等数据,需要设计合理的数据库结构,可能涉及SQL语言、关系数据库管理系统(如MySQL、PostgreSQL)或NoSQL数据库(如MongoDB)。 3. **用户认证与授权**:确保系统的...
6. **数据可视化**:为了清晰地展示爬取到的信息,我们可以利用layui的表格组件显示数据,也可以集成ECharts、Highcharts等图表库,制作柱状图、折线图等,以可视化问题数量、答案长度、评论热度等统计信息。...
8. **数据可视化**:可能使用ECharts、Highcharts等库进行图表展示,如销售数据分析、库存状态等。 9. **测试与调试**:单元测试、集成测试,确保代码质量及功能正确性。 10. **部署与运维**:Docker容器化部署,...
【标题】"一个学校上机管理系统"所涉及的知识点涵盖了多个方面,主要集中在Web开发、数据库管理、用户权限控制和数据分析。以下是对这些知识点的详细解释: 1. **Web开发**:这个系统是一个Web应用程序,可能采用了...
word源码java TechBoard 整理开发中积累的各种开源库、框架、工具、方法等,为...AngularJS、JQuery、ReactJS、EasyUI、Bootstrap、Highcharts、Umediter、Meteor、Ember Python Tornado、Flask、Twisted、Django、Pyra
这部分可能涉及到数据库设计,如MySQL或MongoDB,以及安全措施,如哈希加密和验证码。 3. **股票模拟交易**:核心功能是模拟交易,用户可以买入、卖出股票,查看持股情况、盈亏等。这需要设计交易逻辑,包括买卖...
这通常会用到JavaScript库,如D3.js或Highcharts,来创建交互式的图表和仪表盘,使团队成员能快速理解和分析机器人的性能。 在实际应用中,VentilatorLogging这样的系统对于调试机器人行为、优化控制策略和进行故障...
常见的Web服务器有Apache、Nginx和Node.js等。在这个项目中,可能使用了一个轻量级的Web服务器框架,如Python的Flask或Express.js。 2. **Web界面**:"inculsive web sides"意味着项目包含了Web页面设计,这些页面...
3. **前端可视化库**: 为了绘制趋势图表,项目可能使用了如D3.js、Highcharts或者Chart.js这样的JavaScript图表库。这些库可以帮助创建各种类型的图表,如折线图、柱状图,以便直观地展示Twitter趋势。 4. **OAuth...