读取Apache访问日志,查看每一个独立客户端连接获得的字节数
ubuntu中apache2的日志文件位于:
/var/log/apache2
代码:
# coding=utf-8 import sys''' 数据 127.0.0.1 - - [10/Jan/2017:10:08:16 +0800] "POST /cgi-bin/login.py HTTP/1.1" 200 335 "-" "curl/7.35.0" ''' def dictify_logline(line):split_line = line.split()return {"remote_address": split_line[0],"status": split_line[8],"bytes_sent": split_line[9]}def generate_log_report(logfile):report_dict = {}for line in logfile:line_dict = dictify_logline(line)print line_dicttry:bytes_send = int(line_dict["bytes_sent"])except ValueError:continue#统计每一个ip,对应发送的字节数 report_dict.setdefault(line_dict["remote_address"],[]).append(bytes_send)return report_dictif __name__ == "__main__":if not len(sys.argv) > 1:sys.exit(1)infile_name = sys.argv[1]try:infile = open(infile_name, 'r')except IOError:print 'You must specify a valid file to parse'sys.exit(1)log_report = generate_log_report(infile)print log_reportinfile.close()#正则表达式提取数据 import re log_line_re = re.compile('''(?P<remote_address>\S+) #IP ADDRESS \s+ #whitespace \S+ #remote logname \s+ #whitepsace \S+ #remote user \s+ #whitespace \[[^\[\]]+\] #time \s+ #whitespace "[^"]+" #first line of request \s+ #whitesapce (?P<status>\d+) \s+ #whitespace (?P<bytes_sent>-|\d+) \s* ''', re.VERBOSE)def dictify_logline(line):m = log_line_re.match(line)if m:groupdict = m.groupdict()if groupdict['bytes_sent'] == '-':groupdict['bytes_sent'] = '0'return groupdictelse:return {"remote_address": None,"status": None,"bytes_sent": "0"}
效果:
转载于:https://www.cnblogs.com/hupeng1234/p/6713785.html
读取Apache访问日志,查看每一个独立客户端连接获得的字节数相关推荐
- Apache用户认证、域名跳转、Apache访问日志
httpd的用户认证 注意: 本章使用浏览器进行检测的前提是在物理机hosts文件添加虚拟机IP和虚拟主机域名. 配置用户认证 编辑httpd配置文件/usr/local/apache2.4/conf ...
- Linux centos7 VMware Apache访问日志不记录静态文件、访问日志切割、静态元素过期时间...
一.Apache访问日志不记录静态文件 网站大多元素为静态文件,如图片.css.js等,这些元素可以不用记录 vim /usr/local/apache2.4/conf/extra/httpd-vho ...
- Linux CentOS7 VMware LAMP架构Apache用户认证、域名跳转、Apache访问日志
一.Apache用户认证 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把111.com那个虚拟主机编辑成如下内容 <Virtu ...
- 11.18 Apache用户认证 11.19/11.20 域名跳转 11.21 Apache访问日志
2019独角兽企业重金招聘Python工程师标准>>> 11.18 Apache用户认证 htpasswd命令 >htpasswd命令是Apache的Web服务器内置工具,用于 ...
- apache访问日志
apache访问日志 [root@chy ~]# ls /usr/local/apache2.4/logs/ access_log error_log httpd.pid (查看apache日志路径, ...
- 分析apache访问日志
# # 分析apache访问日志 # 编写一个apche日志分析脚本 # 1. 统计每个客户端访问apache服务器的次数 # 2. 将统计信息通过字典的方式显示出来 # 3. 分别统计客户端是 ...
- linux阿帕奇日志文件,apache访问日志 logstash 配置文件实例1
apache访问日志 logstash 配置文件实例1 日志格式: LogFormat "%{clientip}i %l %u %t \"%r\" %>s %b \ ...
- Apache访问日志详解
想要知道什么人在什么时候浏览了网站的哪些内容吗?查看Apache的访问日志就可以知道.访问日志是Apache的标准日志,本文详细解释了访问日志的内容以及相关选项的配置. 一.访问日志的格式 Apach ...
- python 统计分析apache日志_python分析apache访问日志脚本分享
#!/usr/bin/env python # coding=utf-8 #------------------------------------------------------ # Name: ...
最新文章
- shell脚本编程之更多结构化命令
- sizeof和strlen()区别
- python itertool_函数式编程的Python实践(2):Itertool
- Java list接口
- 会议交流 | IJCKG 2021 日程表(北京时间)
- 五、顺序访问性能测试
- mysql select 返回列_mySQL – 使用select返回多行来更新多个列
- Linux 内核源码获取
- 团队管理35-管理方法论积累
- 腾讯实习生招聘之总体感悟
- 2016年东莞市小学生信息学竞赛试题 17倍
- 【OpenGL ES】着色语言GLSL
- Illegal instruction 问题处理
- 关于AWB的肤色问题
- c语言程序输出s是什么,C语言中printf格式化输出函数
- 异步获取到图虫上的图片
- 张赐荣:计算机网络快速入门教程
- OpenglES2.0 for Android:来做个地球吧
- Tableau 人言可畏:快速捕获客户对产品的关键评价
- html在线客服插件,在线客服插件
热门文章
- 最简单的基于FFmpeg的移动端例子:Android 视频解码器-单个库版
- oracle联机文档使用,Sqlplus 联机文档学习
- python定时启动代码_python每天定时运行某程序代码
- 4个mos管驱动的全桥电路原理_逆变器工作原理
- sql 跨数据库 连表
- 搭建 Harbor 1.10.6 高可用集群
- ztree隐藏指定节点后面的(重命名和删除)图标
- oracle 回滚空间查询,Oracle回滚段空间回收步骤
- checkbox 点击搜索失去焦点_早些年植入三焦点晶体矫正老花的人,现在怎么样了?...
- 电气装置安装工程接地装置施工及验收规范_(册说明)电气设备安装工程