统计大文件日志访问量

日志格式:

#Version: 1.0

#Fields: date time time-taken x-c_username bytes c-ip s-ip sc-status cs-method cs-uri-stem cs-uri x-c_sessionid

#Software: WebLogic

#Start-Date: 2017-03-27 00:01:13

2017-03-27 00:01:13 0.043 - 32 10.33.215.218 10.12.216.147:30573 200 POST /appsvr/apv/blazeThreeSwitchForEsg /appsvr/apv/blazeThreeSwitchForEsg -

2017-03-27 00:01:22 0.0050 GROUPUSER 297 10.11.100.136 10.12.216.147:30573 302 GET /index.jsp / ‘B72BYXlSvxQJpBlTwPvVpZ2LtZvQNstnl0fnPpqn2QzSVwSgr224!1792055119!1490544082940‘

2017-03-27 00:01:23 0.269 GROUPUSER 10463 10.11.100.136 10.12.216.147:30573 200 GET /cfs/index.screen /cfs/index.screen ‘B72BYXlSvxQJpBlTwPvVpZ2LtZvQNstnl0fnPpqn2QzSVwSgr224!1792055119!1490544082940‘

2017-03-27 00:01:23 0.07 GROUPUSER 10463 10.11.100.136 10.12.216.147:30573 200 GET /cfs/index.screen /cfs/index.screen ‘B72BYXlSvxQJpBlTwPvVpZ2LtZvQNstnl0fnPpqn2QzSVwSgr224!1792055119!1490544082940‘

2017-03-27 00:01:23 0.0020 GROUPUSER 12830 10.11.100.136 10.12.216.147:30573 200 GET /cfs/top.jsp /cfs/top.jsp ‘B72BYXlSvxQJpBlTwPvVpZ2LtZvQNstnl0fnPpqn2QzSVwSgr224!1792055119!1490544082940‘

2017-03-27 00:01:29 0.0 - 30 10.12.216.2 10.12.216.147:30573 200 GET /f5monweb/f5check.jsp /f5monweb/f5check.jsp -

2017-03-27 00:01:37 0.037 DAIBANGXING471 33 10.53.209.86 10.12.216.147:30573 200 POST /cfs/approval/querySystemHuEndAlert.do /cfs/approval/querySystemHuEndAlert.do ‘tCppYJxJJ1fpfQkT4MGDTNMNZZXtPVT4FKTrxGjrYCSGnkLlg0p8!1792055119!1490334025837‘

2017-03-27 00:02:33 0.011 LUQIAN307 33 10.53.209.65 10.12.216.147:30573 200 POST /cfs/approval/querySystemHuEndAlert.do /cfs/approval/querySystemHuEndAlert.do ‘Q6Q1YXnJlqVdTww1LryvzR84cx4LTNxcKP2YDHHzDhfppKl1CCdh!1792055119!1490530004923‘

2017-03-27 00:02:54 0.033 DAIBANGXING471 33 10.53.209.86 10.12.216.147:30573 200 POST /cfs/approval/querySystemHuEndAlert.do /cfs/approval/querySystemHuEndAlert.do ‘tCppYJxJJ1fpfQkT4MGDTNMNZZXtPVT4FKTrxGjrYCSGnkLlg0p8!1792055119!1490334025837‘

2017-03-27 00:03:18 0.0090 DUXIAOLING239 33 10.53.208.159 10.12.216.147:30573 200 POST /cfs/approval/querySystemHuEndAlert.do /cfs/approval/querySystemHuEndAlert.do ‘5yLbYJSKlyBy1LTYf72XqQFQ2NWnQsFx2FRCWGnnRv6kHSljhP1v!1792055119!1490342474332‘

2017-03-27 00:03:21 0.0010 - 30 10.12.216.1 10.12.216.147:30573 200 GET /f5monweb/f5check.jsp /f5monweb/f5check.jsp -

2017-03-27 00:03:41 0.637 CHENSHU524 33 10.53.185.0 10.12.216.147:30573 200 POST /cfs/approval/querySystemHuEndAlert.do /cfs/approval/querySystemHuEndAlert.do ‘yLB4YJ5PmmshQ5hS27QcPcjB317Kysh8xrR7yZVPmn0vbTbQdyvQ!1792055119!1490352559754‘

2017-03-27 00:03:45 0.0010 - 30 10.33.226.5 cfs-apvWIIWebServer8130.instance.paic.com.cn:30573 200 GET /f5monweb/f5check.jsp /f5monweb/f5check.jsp -

2017-03-27 00:03:59 0.54 DAIBANGXING471 33 10.53.209.86 10.12.216.147:30573 200 POST /cfs/approval/querySystemHuEndAlert.do /cfs/approval/querySystemHuEndAlert.do ‘tCppYJxJJ1fpfQkT4MGDTNMNZZXtPVT4FKTrxGjrYCSGnkLlg0p8!1792055119!1490334025837‘

2017-03-27 00:04:01 0.0 - 30 10.12.216.1 10.12.216.147:30573 200 GET /f5monweb/f5check.jsp /f5monweb/f5check.jsp -

2017-03-27 00:04:01 4.282 - 86 10.33.213.93 10.12.216.147:30573 200 POST /appsvr/apv/preApproved /appsvr/apv/preApproved -

2017-03-27 00:04:01 0.024 WANGZHENZHEN707 33 10.53.209.71 10.12.216.147:30573 200 POST /cfs/approval/querySystemHuEndAlert.do /cfs/approval/querySystemHuEndAlert.do ‘pQYmYXbh4RJWQwmcvvt5yDSpg45qNWxwLRQcnYWThvFhthyQt562!1792055119!1490492282307‘

2017-03-27 00:09:58 0.012 CHENSHU524 33 10.53.185.0 10.12.216.147:30573 200 POST /cfs/approval/querySystemHuEndAlert.do /cfs/approval/querySystemHuEndAlert.do ‘yLB4YJ5PmmshQ5hS27QcPcjB317Kysh8xrR7yZVPmn0vbTbQdyvQ!1792055119!1490352559754‘

2017-03-27 00:10:03 0.02 WANGZHENZHEN707 33 10.53.209.71 10.12.216.147:30573 200 POST /cfs/approval/querySystemHuEndAlert.do /cfs/approval/querySystemHuEndAlert.do ‘pQYmYXbh4RJWQwmcvvt5yDSpg45qNWxwLRQcnYWThvFhthyQt562!1792055119!1490492282307‘

2017-03-27 00:10:03 0.012 DUXIAOLING239 33 10.53.208.159 10.12.216.147:30573 200 POST /cfs/approval/querySystemHuEndAlert.do /cfs/approval/querySystemHuEndAlert.do ‘5yLbYJSKlyBy1LTYf72XqQFQ2NWnQsFx2FRCWGnnRv6kHSljhP1v!1792055119!1490342474332‘

2017-03-27 00:10:09 0.0 - 30 10.12.216.2 10.12.216.147:30573 200 GET /f5monweb/f5check.jsp /f5monweb/f5check.jsp -

2017-03-27 00:10:11 0.014 LUQIAN307 33 10.53.209.65 10.12.216.147:30573 200 POST /cfs/approval/querySystemHuEndAlert.do /cfs/approval/querySystemHuEndAlert.do ‘Q6Q1YXnJlqVdTww1LryvzR84cx4LTNxcKP2YDHHzDhfppKl1CCdh!1792055119!1490530004923‘

import sys,linecache,time
#filename=sys.argv[1]
dateTime=raw_input("Pls enter the date (YYYY-mm-dd):")
#dateTime="2017-03-27"
#filename="D:\Users\WANWEI496\Downloads\cfs-apvWIIWebServer8130-20170327\cfs-apvWIIWebServer8130-20170327\cfs-apvWIIWebServer8130.acc00001"
filename=raw_input("And ur filename:")
lineNum=len(linecache.getlines(filename))
#print
#print "Total: ",lineNum
time.sleep(3)
s=set()
num=0
while True:
	if num < lineNum:
		cacheBig=linecache.getlines(filename)[num]
		if cacheBig.startswith(dateTime):
		 	username=cacheBig.split()[3]
		 	s.add(username)
		 	#print num
		 	num+=1
		 	continue
		else:
			num+=1
		 	continue
	else:
		break
#print s
linecache.clearcache()
s.remove(‘-‘)
print
print "User account: ",len(s)
时间: 2024-12-24 21:52:03

统计大文件日志访问量的相关文章

统计大文件里单词

转载统计大文件里,频数最高的10个单词,(C# TPL DataFlow版) 最近公司搞了一个写程序的比赛,要求从2G的文件里统计出出现频率最高的10个单词. 最开始的想法是使用字典树,后来发现字典树更适合用在找前缀上,在查找没有hash表效率高. 之后使用Hash表+DataFlow完成了功能,2G的文件处理在20秒以内(其实我有信心优化到10秒以内,但是太折腾了). 这是我的设计图: 为什么要形成那么多结果?因为我不想写锁,写锁会降低很多效率,而且也失去了线程的意义,每个线程做自己的工作,

shell在大文件日志中按照时间段快速搜索日志

问题描述: 在大流量线上服务中,日志系统会产生数量庞大的日志,动辄就是几十G.在如此之大的文件中快速搜索日志是运维人员经常遇见的问题.我们经常遇见的问题是查询一段时间内的某些条日志.比如,今天有一个访问失败了,大约是在上午9点,把这条日志找出来,然后查找失败原因. 常见处理方式及缺点: 1.如果文件比较小,100m以内使用grep.awk或者sed进行逐条匹配比较方便,但是文件非常大时,其查找效率是非常低的,运行时间长达几十分钟甚至上小时. 2.使用hadoop大数据处理,查询速度快,效率高.但

POI 读大文件日志

POI的三个目录 usermodel 包含很多类,方便用户使用,但是占用内存大 eventusermodel 使用xml的SAX事件解析,XSSFReader创建时必须使用OPCPackage,pkg这个对象是通过OPCPackage.open(File或者inputStream)创建出来的, 这个过程是将excel文件解析成了xml文档(?),对于一个50M的excel占用内存达到500M左右. 后面解析这个xml时才用到SAX事件, 原文地址:https://www.cnblogs.com/

统计大文件里,频数最高的10个单词,(C# TPL DataFlow版)

最近公司搞了一个写程序的比赛,要求从2G的文件里统计出出现频率最高的10个单词. 最开始的想法是使用字典树,后来发现字典树更适合用在找前缀上,在查找没有hash表效率高. 之后使用Hash表+DataFlow完成了功能,2G的文件处理在20秒以内(其实我有信心优化到10秒以内,但是太折腾了). 这是我的设计图: 为什么要形成那么多结果?因为我不想写锁,写锁会降低很多效率,而且也失去了线程的意义,每个线程做自己的工作, 最后在把每个线程处理的结果汇总起来,这样也符合fork join 的设计. 而

nginx 日志统计接口每个小时访问量

指定时间段增量统计nginx日志不同接口的访问量: #!/bin/bash#此脚本用于统计nginx日志当前时间15分钟之内不同接口(URL)的访问量统计LOG=/usr/local/nginx/logs/interface.access.logTMP=/tmp/url.tmpURLSTATS=/var/log/interface_urlstats.logRECEIVERS="[email protected] [email protected]"#删除临时统计文件[ -f $TMP

多线程读取大文件,尤其是对日志文件分析很有用。

我在之前的公司里工作的时候,他们要求我做一个能够分析IIS日志的程序,可我做来做去,也只能做到,1个G的文件读取在140秒左右.愁了很久,想到了用多线程读取大文件的方法,又发现文件读取流可以有很多个,于是我就开始编写,写出来,其效率 4核CPU,可以达到14秒,提高了10倍. 而且据我测试发现,我4个CPU,用8个线程读取效率最高,所以我想会不会是一个CPU挂2个文件流效率最高,故基本逻辑是这样的,我根据CPU核数,将文件分成8块,分成8块的时候,必定出现,一行被截断的情况,针对这种情况,我采用

PHP几个几十个G大文件数据统计并且排序处理

诸多大互联网公司的面试都会有这么个问题,有个4G的文件,如何用只有1G内存的机器去计算文件中出现次数最多的数字(假设1行是1个数组,例如QQ号 码).如果这个文件只有4B或者几十兆,那么最简单的办法就是直接读取这个文件后进行分析统计.但是这个是4G的文件,当然也可能是几十G甚至几百G的文 件,这就不是直接读取能解决了的. 同样对于如此大的文件,单纯用PHP做是肯定行不通的,我的思路是不管多大文件,首先要切割为多个应用可以承受的小文件,然后批量或者依次分析统计小文件后再把总的结果汇总后统计出符合要

Linux下 分割日志大文件

Linux下分割日志有两种常用命令 dd split(推荐使用) 1.dd: 作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 参数注释: if=filename:输入的文件名 of=finename:输出的文件名 bs=bytes:一次读写的字节数,默认是512bytes skip=blocks:拷贝前,跳过的输入文件的前blocks块,块的大小有bs决定 count=blocks:只拷贝输入文件的前blocks块 比如 现在有一个文件file,大小为116616字节: [ro

【学习】大文件统计与排序(转载)

学习:大文件统计与排序 这篇主要记录一下学习陈硕同学的对下面这道题的算法思想与代码. 题目是这样的: 有10个文件,每个文件1G,每个文件的每行存放的都是用户的query(请自己随机产生),每个文件的query都可能重复.要求你按照query的频度排序. (当然,这里的重点是大文件,所以10个1G的文件,或者1个10G的文件,原理都是一样的) 陈硕的代码在这里: https://gist.github.com/4009225 这是一段非常漂亮的代码,解法与代码都非常值得一看. [解法] 基本步骤