python简单日志分析

其实Python编程语言(http://www.maiziedu.com/course/python-px/)功能很强大,能对网站进行Apache日志分析,从运营的角度如果一个只做内容的网站只看访问量是不够的,还需要关注用户打开的那些网站地址最多,打开的地址越多表明这个文章就是热点文章,最开始的自动标热功能就是这么来的,所以一般公司都会有详细的后台统计系统,不过对我们一般人来说,如果只是自己搭建个小站,实在没必要去再开发个系统,当然用第三方的统计系统也能解决问题,关键就看你放不放心了,假如我要看每天打开的链接地址最多的是那些?其实不用借助任何第三方系统,自己写个脚本也就实现了,代码如下:

importcollections

logfile =open("logfile.log", "r")

clean_log=[]

for line inlogfile:

try:

clean_log.append(line[line.index("GET")+4:line.index("HTTP")])

except:

pass

counter =collections.Counter(clean_log)

for count incounter.most_common(50):

print(str(count[1]) + " " + str(count[0]))

logfile.close()

注意哟,我这是分析的apache日志,其实分析什么不重要,重要的是思路和python模块的灵活运用,所以今天来讲解下collections模块的用法,脚本解释,首先打开你的日志,定义一个列表,通过切片将访问的地址加入到列表中,Counter类的目的是用来计算值出现的次数,它是一个无序的容器类型,以字典的键值对形式存储,其中元素作为key,其计数作为value,counter.most_common(),返回一个列表,需要一个参数n,如果n没有被指定,则返回所有元素。当多个元素计数值相同时,按照字母序排列,这里指定是50,表示要找访问50次的地址,然后就是print出来,最后关闭文件,脚本结束,这篇就到这里。

时间: 2024-08-13 00:07:56

python简单日志分析的相关文章

rsyslog+loganalyzer简单日志分析

rsyslog:是一个快速处理收集系统日志的程序,提供了高性能.安全功能和模块化设计.rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地 loganalyzer:是一款syslog日志和其他网络事件数据的Web前端,提供对日志的简单浏览.搜索.基本分析和一些图表报告的功能 准备环境 server:192.168.242.139        (接收日志的服务器) client:192.168.242.140         (发送日志的客户端,将产生的用户登陆认证日志

python 简单日志框架 自定义logger

转载请注明: 仰望高端玩家的小清新 http://www.cnblogs.com/luruiyuan/ 通常我们在构建 python 系统时,往往需要一个简单的 logging 框架.python 自带的 logging 框架的确十分完善,但是本身过于复杂,因此需要自行封装来满足我们的高(zhuang)端(b)需求 1. 常用的格式化字符串: 这是我比较常用的格式化字符串,不同的人可能有不同的习惯 1 # 第一种,月日年的输出 2 DEFAULT_DATE_FMT = '%a, %p %b %d

python通过日志分析加入黑名单

#coding=utf-8 import os,time while True: ip_list = [] src_log = '/opt/lampp/logs/access_log' new_log = '/opt/lampp/logs/access_log_%s'%time.strftime('%Y%m%d%H%M')#分割每分钟日志 os.system('cat {s_log} > {n_log} && > {s_log}'.format(s_log=src_log,n_

打造基于hadoop的网站日志分析系统(5)之spark在日志分析系统里的简单应用

1.下载spark和运行 wget http://apache.fayea.com/apache-mirror/spark/spark-1.0.0/spark-1.0.0-bin-hadoop2.tgz 我这里下载的是1.0.0版,由于我们只是测试spark的用法所以不需要配置spark集群,只需把下好的文件解压,进入bin/文件夹. spark支持scala,java和python. scala和java输入命令:./spark-shell python 输入命令 ./pyspark 进入控制

Python+MySQL实现web日志分析

(本文已不再同步更新,最新代码请见github)日志分析在web系统中故障排查.性能分析方面有着非常重要的作用.目前,开源的ELK系统是成熟且功能强大的选择.但是部署及学习成本亦然不低,这里我实现了一个方法上相对简单(但准确度和效率是有保证的)的实现.另外该脚本的侧重点不是通常的PV,UV等展示,而是短期内(如三天历史or一周历史)提供细粒度的异常和性能分析. 先说一下我想实现这个功能的驱动力(痛点)吧:我们有不少站点,前边有CDN,原站前面是F5,走到源站的访问总量日均PV约5000w.下面是

#IT明星不是梦#利用Python进行网站日志分析

网站的访问日志是一个非常重要的文件,通过分析访问日志,能够挖掘出很多有价值的信息.本文介绍如何利用Python对一个真实网站的访问日志进行分析,文中将综合运用Python文件操作.字符串处理.列表.集合.字典等相关知识点.本文所用的访问日志access_log来自我个人的云服务器,大家可以从文末的附件中下载. 1.提取指定日期的日志 下面是一条典型的网站访问日志,客户端访问网站中的每个资源都会产生一条日志. 193.112.9.107 - - [25/Jan/2020:06:32:58 +080

Python写WEB日志分析程序的一些思路

1.背景 刚到一家公司需要写一个实时分析tshark捕捉到的数据,tshark一直往文本里面写数据,写一个程序要实时获取到添加的数据并进行分析处理最后入库.此时思绪狂飞,想了一些比较挫的方法. 本人想到的方法: 1.每隔一定时间去查看下文件的mtime,如果有改动则读取数据,并记录读取的行数.下次再去读这个文件的数据则上次记录的行数开始继续读.当文件行数太大的时候这个程序的效率就很慢了,也可以记录上次读取的字节数,然后使用linux下的open系统系统中的seek从指定位置处读取.但是要是用C语

python日志分析

微秒   毫秒 datetime seek定位指针 从行尾到行首 fd.seek(-2,1)  1  当前位置 fd.tell() fd.seek(-2,2)  2   最后位置 fd.tell() fd.seek(0,0)   0  最前位置 read(1)读一位    read() 全部都读 tac与cat    行首到行尾 reversed   翻转字符串 只读一部分    通过时间判断 200 404  503  十分钟之内   第八列  apache.log 1.首先匹配时间格式, D

PYTHON上海分享活动小记---SQUID日志分析项目开发

上周末有幸跑到上海为小伙伴们分享了<SQUID日志分析项目>,主要是带大家用PYTHON迅速实现一个SQUID日志分析平台的前后端开发,一天的课程太紧张,导致有些细节不能完全实现,但整体思路啥的基本都OK啦,可惜的是由于电脑没配置好,导致没法录像....,要不然就可以放到网上与大家一起分享了,现在只能上几张图了... 最后感谢 波波同学,无偿负责组织策划了这次分享活动,感谢柏林,提供场地支持. 感谢大家花周末时间参加这个活动,希望此次分享对各位有所帮助.. PYTHON上海分享活动小记---S