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访问日志,查看每一个独立客户端连接获得的字节数相关推荐

  1. Apache用户认证、域名跳转、Apache访问日志

    httpd的用户认证 注意: 本章使用浏览器进行检测的前提是在物理机hosts文件添加虚拟机IP和虚拟主机域名. 配置用户认证 编辑httpd配置文件/usr/local/apache2.4/conf ...

  2. Linux centos7 VMware Apache访问日志不记录静态文件、访问日志切割、静态元素过期时间...

    一.Apache访问日志不记录静态文件 网站大多元素为静态文件,如图片.css.js等,这些元素可以不用记录 vim /usr/local/apache2.4/conf/extra/httpd-vho ...

  3. Linux CentOS7 VMware LAMP架构Apache用户认证、域名跳转、Apache访问日志

    一.Apache用户认证 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把111.com那个虚拟主机编辑成如下内容 <Virtu ...

  4. 11.18 Apache用户认证 11.19/11.20 域名跳转 11.21 Apache访问日志

    2019独角兽企业重金招聘Python工程师标准>>> 11.18 Apache用户认证 htpasswd命令 >htpasswd命令是Apache的Web服务器内置工具,用于 ...

  5. apache访问日志

    apache访问日志 [root@chy ~]# ls /usr/local/apache2.4/logs/ access_log error_log httpd.pid (查看apache日志路径, ...

  6. 分析apache访问日志

    # # 分析apache访问日志 # 编写一个apche日志分析脚本 # 1.  统计每个客户端访问apache服务器的次数 # 2.  将统计信息通过字典的方式显示出来 # 3.  分别统计客户端是 ...

  7. linux阿帕奇日志文件,apache访问日志 logstash 配置文件实例1

    apache访问日志 logstash 配置文件实例1 日志格式: LogFormat "%{clientip}i %l %u %t \"%r\" %>s %b \ ...

  8. Apache访问日志详解

    想要知道什么人在什么时候浏览了网站的哪些内容吗?查看Apache的访问日志就可以知道.访问日志是Apache的标准日志,本文详细解释了访问日志的内容以及相关选项的配置. 一.访问日志的格式 Apach ...

  9. python 统计分析apache日志_python分析apache访问日志脚本分享

    #!/usr/bin/env python # coding=utf-8 #------------------------------------------------------ # Name: ...

最新文章

  1. shell脚本编程之更多结构化命令
  2. sizeof和strlen()区别
  3. python itertool_函数式编程的Python实践(2):Itertool
  4. Java list接口
  5. 会议交流 | IJCKG 2021 日程表(北京时间)
  6. 五、顺序访问性能测试
  7. mysql select 返回列_mySQL – 使用select返回多行来更新多个列
  8. Linux 内核源码获取
  9. 团队管理35-管理方法论积累
  10. 腾讯实习生招聘之总体感悟
  11. 2016年东莞市小学生信息学竞赛试题 17倍
  12. 【OpenGL ES】着色语言GLSL
  13. Illegal instruction 问题处理
  14. 关于AWB的肤色问题
  15. c语言程序输出s是什么,C语言中printf格式化输出函数
  16. 异步获取到图虫上的图片
  17. 张赐荣:计算机网络快速入门教程
  18. OpenglES2.0 for Android:来做个地球吧
  19. Tableau 人言可畏:快速捕获客户对产品的关键评价
  20. html在线客服插件,在线客服插件

热门文章

  1. 最简单的基于FFmpeg的移动端例子:Android 视频解码器-单个库版
  2. oracle联机文档使用,Sqlplus 联机文档学习
  3. python定时启动代码_python每天定时运行某程序代码
  4. 4个mos管驱动的全桥电路原理_逆变器工作原理
  5. sql 跨数据库 连表
  6. 搭建 Harbor 1.10.6 高可用集群
  7. ztree隐藏指定节点后面的(重命名和删除)图标
  8. oracle 回滚空间查询,Oracle回滚段空间回收步骤
  9. checkbox 点击搜索失去焦点_早些年植入三焦点晶体矫正老花的人,现在怎么样了?...
  10. 电气装置安装工程接地装置施工及验收规范_(册说明)电气设备安装工程