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_dict
try:
bytes_send = int(line_dict["bytes_sent"])
except ValueError:
continue
#统计每一个ip,对应发送的字节数
report_dict.setdefault(
line_dict["remote_address"],
[]).append(bytes_send)
return report_dict if __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_report
infile.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'] = ''
return groupdict
else:
return {
"remote_address": None,
"status": None,
"bytes_sent": ""
}

效果:

读取Apache访问日志,查看每一个独立客户端连接获得的字节数的更多相关文章

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

    5月29日任务 课程内容: 11.18 Apache用户认证11.19/11.20 域名跳转11.21 Apache访问日志扩展 apache虚拟主机开启php的短标签 http://ask.apel ...

  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. apache用户认证、域名跳转、Apache访问日志(两种格式)

    1.apache 设置,用户访问时 目录或文件的认证: 对目录的认证: <Directory /var/www/222> //指定认证的目录AllowOverride AuthConfig ...

  5. Python基础(三):简化除法判断、分析apache访问日志、扫描存活主机、利用多线程实现ssh并发访问

    一.简化除法判断 目标: 编写mydiv.py脚本,主要要求如下: 提示用户输入一个数字作为除数 如果用户按下Ctrl+C或Ctrl+D则退出程序 如果用户输入非数字字符,提示用户应该输入数字 如果用 ...

  6. Filebeat+Logstash+ElasticSearch+Kibana搭建Apache访问日志解析平台

    对于ELK还不太熟悉的同学可以参考我前面的两篇文章ElasticSearch + Logstash + Kibana 搭建笔记.Log stash学习笔记(一),本文搭建了一套专门访问Apache的访 ...

  7. apache 访问日志access_log 配置和解析 rotatelogs分割日志

    一.解析访问日志        apache 的访问日志记载着大量的信息,学会高效快捷的读出其中关键信息对我们的工作有极大帮助.       如果Apache的安装方式是默认安装,服务器一运行就会有两 ...

  8. 移动apache访问日志后如何立即生效

    一次偶然测试发现移动了apache下的access_log日志后或者修改了access_log的名称,该移动的日志或修改名称的日志文件仍记录了apache访问信息,即没有实时生效,后来查了资料才知道: ...

  9. 自制模仿apache访问日志文件格式的php日志类

    <?php // 访问日志写入类 @author 王伟 2011.12.14class Log{        //项目跟路径    private $root_path;        //日 ...

随机推荐

  1. [转载]oracle位图索引

    原文URL: http://lzfhope.blog.163.com/blog/static/63639922013119112011947/ 很详细,推荐看5遍

  2. codeforce 853A Planning

    题目地址:http://codeforces.com/problemset/problem/853/A 题目大意: 本来安排了 n 架飞机,每架飞机有 ci 的重要度, 第 i 架飞机的起飞时间为 i ...

  3. oracle之TRUNC函数

    TRUNC(number,num_digits) Number 需要截尾取整的数字. Num_digits 用于指定取整精度的数字.Num_digits 的默认值为 0.如果Num_digits为正数 ...

  4. KMP 详解图

  5. windows内存体系结构 内存查询,读,写(附录源码)

    “进程内存管理器”这个程序实现的最基本功能也就是对内存的读写,之前的两篇文章也就是做的一个铺垫,介绍了内核模式切换和IoDeviceControl函数进行的应用程序与驱动程序通信的问题.接下来就进入正 ...

  6. log4j的配置详解(转)

    转自:http://blog.sina.com.cn/s/blog_5ed94d710101go3u.html 最近使用log4j写log时候发现网上的写的都是千篇一律,写的好的嘛不全,写的全一点的嘛 ...

  7. 电脑同时安装python2和python3, 如何实现切换使用

    由于历史原因,Python有两个大的版本分支,Python2和Python3,又由于一些库只支持某个版本分支,所以需要在电脑上同时安装Python2和Python3,因此如何让两个版本的Python兼 ...

  8. v-text、v-html、v-cloak、v-pre.md

    本篇文章,我们简单的介绍几个Vue内置指令的实现. v-text v-text的用法很简单,以下两个表达式的作用相同. <span v-text="msg"></ ...

  9. 步步入佳境---UI入门(1)--项目建立与实现

    一,本文讲解建立一个空项目,怎么一步一步的创建程序,总体的感觉一下程序流程  1,首先建立一个项目,如下:single view project,我们首先删除CHAppDelegate文件和Main. ...

  10. 详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程

    Himi  原创, 欢迎转载,转载请在明显处注明! 谢谢. 原文地址:http://blog.csdn.net/xiaominghimi/article/details/6937097 //——201 ...