- 浏览: 2652915 次
- 来自: 杭州
文章分类
- 全部博客 (1188)
- webwork (4)
- 网摘 (18)
- java (103)
- hibernate (1)
- Linux (85)
- 职业发展 (1)
- activeMQ (2)
- netty (14)
- svn (1)
- webx3 (12)
- mysql (81)
- css (1)
- HTML (6)
- apache (3)
- 测试 (2)
- javascript (1)
- 储存 (1)
- jvm (5)
- code (13)
- 多线程 (12)
- Spring (18)
- webxs (2)
- python (119)
- duitang (0)
- mongo (3)
- nosql (4)
- tomcat (4)
- memcached (20)
- 算法 (28)
- django (28)
- shell (1)
- 工作总结 (5)
- solr (42)
- beansdb (6)
- nginx (3)
- 性能 (30)
- 数据推荐 (1)
- maven (8)
- tonado (1)
- uwsgi (5)
- hessian (4)
- ibatis (3)
- Security (2)
- HTPP (1)
- gevent (6)
- 读书笔记 (1)
- Maxent (2)
- mogo (0)
- thread (3)
- 架构 (5)
- NIO (5)
- 正则 (1)
- lucene (5)
- feed (4)
- redis (17)
- TCP (6)
- test (0)
- python,code (1)
- PIL (3)
- guava (2)
- jython (4)
- httpclient (2)
- cache (3)
- signal (1)
- dubbo (7)
- HTTP (4)
- json (3)
- java socket (1)
- io (2)
- socket (22)
- hash (2)
- Cassandra (1)
- 分布式文件系统 (5)
- Dynamo (2)
- gc (8)
- scp (1)
- rsync (1)
- mecached (0)
- mongoDB (29)
- Thrift (1)
- scribe (2)
- 服务化 (3)
- 问题 (83)
- mat (1)
- classloader (2)
- javaBean (1)
- 文档集合 (27)
- 消息队列 (3)
- nginx,文档集合 (1)
- dboss (12)
- libevent (1)
- 读书 (0)
- 数学 (3)
- 流程 (0)
- HBase (34)
- 自动化测试 (1)
- ubuntu (2)
- 并发 (1)
- sping (1)
- 图形 (1)
- freemarker (1)
- jdbc (3)
- dbcp (0)
- sharding (1)
- 性能测试 (1)
- 设计模式 (2)
- unicode (1)
- OceanBase (3)
- jmagick (1)
- gunicorn (1)
- url (1)
- form (1)
- 安全 (2)
- nlp (8)
- libmemcached (1)
- 规则引擎 (1)
- awk (2)
- 服务器 (1)
- snmpd (1)
- btrace (1)
- 代码 (1)
- cygwin (1)
- mahout (3)
- 电子书 (1)
- 机器学习 (5)
- 数据挖掘 (1)
- nltk (6)
- pool (1)
- log4j (2)
- 总结 (11)
- c++ (1)
- java源代码 (1)
- ocr (1)
- 基础算法 (3)
- SA (1)
- 笔记 (1)
- ml (4)
- zokeeper (0)
- jms (1)
- zookeeper (5)
- zkclient (1)
- hadoop (13)
- mq (2)
- git (9)
- 问题,io (1)
- storm (11)
- zk (1)
- 性能优化 (2)
- example (1)
- tmux (1)
- 环境 (2)
- kyro (1)
- 日志系统 (3)
- hdfs (2)
- python_socket (2)
- date (2)
- elasticsearch (1)
- jetty (1)
- 树 (1)
- 汽车 (1)
- mdrill (1)
- 车 (1)
- 日志 (1)
- web (1)
- 编译原理 (1)
- 信息检索 (1)
- 性能,linux (1)
- spam (1)
- 序列化 (1)
- fabric (2)
- guice (1)
- disruptor (1)
- executor (1)
- logback (2)
- 开源 (1)
- 设计 (1)
- 监控 (3)
- english (1)
- 问题记录 (1)
- Bitmap (1)
- 云计算 (1)
- 问题排查 (1)
- highchat (1)
- mac (3)
- docker (1)
- jdk (1)
- 表达式 (1)
- 网络 (1)
- 时间管理 (1)
- 时间序列 (1)
- OLAP (1)
- Big Table (0)
- sql (1)
- kafka (1)
- md5 (1)
- springboot (1)
- spring security (1)
- Spring Boot (3)
- mybatis (1)
- java8 (1)
- 分布式事务 (1)
- 限流 (1)
- Shadowsocks (0)
- 2018 (1)
- 服务治理 (1)
- 设计原则 (1)
- log (0)
- perftools (1)
最新评论
-
siphlina:
课程——基于Python数据分析与机器学习案例实战教程分享网盘 ...
Python机器学习库 -
san_yun:
leibnitz 写道hi,我想知道,无论在92还是94版本, ...
hbase的行锁与多版本并发控制(MVCC) -
leibnitz:
hi,我想知道,无论在92还是94版本,更新时(如Puts)都 ...
hbase的行锁与多版本并发控制(MVCC) -
107x:
不错,谢谢!
Latent Semantic Analysis(LSA/ LSI)算法简介 -
107x:
不错,谢谢!
Python机器学习库
使用python写了一个分析URL请求时间的脚本
import re r = re.compile("\d+") f = open("log","r") head = re.compile("HEAD /[a-zA-Z/]*") options = re.compile("OPTIONS /[a-zA-Z/0-9?=&]*") post = re.compile("[POST|GET] /[a-zA-Z0-9/]*") hc = re.compile("[HTTP/1.1|HTTP/1.0]\" \d*") ma = re.compile(":7199 [0-9.]*") result = {} for read in f.readlines(): url=http_code=http_time = None if options.search(read): #print options.search(read).group() continue match = post.search(read) if match: url = str(match.group())[2:].strip() if not url and head.search(read): url = str(head.search(read).group())[5:].strip() url = r.sub("0",url) if url[len(url)-1:]!='/': url = url+'/' match = hc.search(read) if match: http_code = str(match.group())[3:] match = ma.search(read) if match: http_time = str(match.group())[6:] if len(http_time)==0: http_time = 0 else: http_time = float(http_time) if not result.get(url): if not http_time: http_time=0 result[url] = {"url":url,"http_time":http_time,"http_count":1,"http_code":{http_code:1}} else: if not http_time: http_time=0 if result[url]["http_code"].get(http_code) is None: result[url]["http_code"][http_code] = 1 else: result[url]["http_code"][http_code] = result[url]["http_code"][http_code]+1 result[url]["http_count"] = result[url]["http_count"]+1 ht = result[url]["http_time"] +http_time result[url]["http_time"] = ht list = [] for r in result: http_count = result[r]["http_count"] result[r]["http_time"] = result[r]["http_time"]/http_count list.append(result[r]) list.sort(cmp=lambda x,y : cmp(x["http_count"], y["http_count"]),reverse=True) for x in list: print "|%s |%s |%s |%s|" %(x["url"],x["http_count"],x["http_time"],x["http_code"])
日志:
175.145.249.158 - null - null - [01/Jun/2012:14:59:09 +0800]"GET /object/comments/1/20/?comment_message_id=8719418&1338533947531 HTTP/1.1" 200 365 "http://www.duitang.com/people/mblog/8719418/detail/?next=8719523" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.52 Safari/536.5" 0.047 192.168.172.8:8080 0.047 .
203.145.159.148 - null - null - [01/Jun/2012:14:59:10 +0800]"GET /album/470553/masn/p/2/24/ HTTP/1.1" 200 15751 "http://www.duitang.com/album/470553/?from=detail_right" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.77 Safari/535.7" 0.607 192.168.172.8:8080 0.607 .
219.229.109.49 - ymylcf - 2e3ee5b52a33eb2f8badf49f2be60fb6 - [01/Jun/2012:14:59:10 +0800]"GET /hot/masn/?page=4&page_size=24&_type=&begin_time=1338533938 HTTP/1.1" 200 19434 "http://www.duitang.com/topics/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.151 Safari/535.19" 1.619 192.168.172.10:8080 1.619 .
218.249.50.150 - %E8%8C%B92805819 - a6b134828a8489862de77668876840d4 - [01/Jun/2012:14:59:11 +0800]"GET /people/663035/ HTTP/1.1" 302 5 "http://www.duitang.com/myhome/" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.168 Safari/535.19 QIHU 360EE" 0.006 192.168.172.7:8080 0.006 .
输出:
|/blog/unread/ |11782 |0.0367470718044 |{'200': 11623, '302': 146, '502': 1, '499': 1, '500': 11}|
|/people/mblog/0/detail/ |9720 |0.314687345679 |{'200': 8870, '301': 187, '302': 52, '404': 529, '403': 54, '499': 24, '502': 4}|
|/blogs/tag/hot/0/ |8613 |0.406990711715 |{'301': 4310, '499': 6, '200': 4297}|
|/api/blog/detail/ |2103 |0.0471583452211 |{'200': 2034, '499': 68, '500': 1}|
|/album/0/masn/p/0/0/ |2081 |0.847947621336 |{'200': 2062, '499': 8, '301': 11}|
|/search/ |1785 |0.793348459384 |{'200': 1783, '499': 2}|
|/hot/masn/ |1620 |1.07875864198 |{'200': 1618, '499': 2}|
发表评论
-
python读取图片exif信息
2014-11-06 10:53 2400f = open("/home/admin/tlo ... -
Python程序的执行原理
2014-04-14 15:44 17231. 过程概述 Python先把代码(.py文件)编译成字 ... -
如何创建一个短链服务
2013-12-26 16:23 0参考: http://stackoverflow.com ... -
python 解析命令参数(argument)组件argparse
2013-12-11 17:35 1400参考: http://youngsterxyf.githu ... -
pyhon命令行工具optparse
2013-11-10 16:27 1028使用python optparse 可以创建命令行工具,下面 ... -
Python在豆瓣的应用
2013-10-21 10:46 1194Python在豆瓣的应用,hongqiangning分享 ... -
用python爬虫抓站的一些技巧总结
2013-10-10 14:12 1680学用python也有3个多月了,用得最多的还是各类爬虫 ... -
python小技巧
2013-10-10 11:50 7321. 声明长度256的数组 a=[0]*256 ... -
使用tesseract-ocr破解网站验证码
2013-10-09 10:25 1212原文:使用tesseract-ocr破解网站验证码 ... -
和豆瓣CMGS交流
2013-06-20 17:36 5838蒋云鹏: 在?CMGS: 在蒋 ... -
python乱码问题('ascii' codec can't encode character u'\u4e2d' in position 0)
2013-05-20 19:03 4245>>> k = u'中' >> ... -
python shell 交互模式
2013-04-28 22:17 1628python 通过code模块可以很容易的进入交互模式: ... -
jython和gunicorn性能测试对比
2013-04-13 13:03 1291helloworld,笔记本上: gunicorn ... -
python的mysql客户端-MySQLdb
2013-04-04 10:13 1153平时的主要编程语言是Java,开发时也主要用Mysql,经常 ... -
Python几种并发实现方案的性能比较
2013-03-18 21:14 2956原文:http://www.elias.cn/P ... -
python汉字和Unicode码(utf-8)之间的转换(Pack/Unpack)
2013-03-18 21:13 1642保证你要转换的字符串编码为UTF8,如果不是,请iconv ... -
python反序列化的坑
2013-01-06 18:06 1278今天遇到python一个坑,调用memcached的get_m ... -
sqlalchemy connection pool.py 源代码
2012-12-29 22:58 2235把 sqlalchemy pool源代码copy下来,有空看看 ... -
SQLAlchemy简单介绍
2012-12-28 22:41 0文档参考:http://docs.sqlalchemy.org ... -
pymysql简单使用
2012-12-28 12:38 2118import pymysql conn = pymysq ...
相关推荐
本文将深入探讨使用Python进行日志分析的基本方法,以"python 分析日志(初本)"为主题,结合提供的两个Python脚本文件——read_file.py和read.py,来讲解如何有效地读取、解析和分析日志文件。 首先,让我们从基础...
Python分析日志文件,日志可以是apache、nginx的访问日志,也可以是自定义生成的日志 统计数据入库 将Python分析日志得到的统计数据放到MySQL库中 利用Flask渲染页面 利用Flask框架,生成路由和渲染图表页面 ...
标题“工作积累(6)-使用python进行log分析”指出,这个话题主要关注如何利用Python语言对日志(log)数据进行分析。在IT行业中,日志文件是系统、应用程序或服务运行过程中产生的记录,用于追踪错误、调试问题、监控...
在Python中进行Apache日志分析时,我们需要关注以下几个关键点: 1. **日志文件读取**:首先,我们需要使用Python的内置模块`open()`来打开日志文件,并以适当的模式(如'r'表示读取)进行读取。接着,我们可以逐行...
Python分析日志文件,日志可以是apache、nginx的访问日志,也可以是自定义生成的日志 ### 统计数据入库 将Python分析日志得到的统计数据放到MySQL库中 ### 利用Flask渲染页面 利用Flask框架,生成路由和渲染图表...
在IT领域,日志文件分析是一项重要的任务,它可以帮助我们理解系统的运行情况,排查错误,优化性能。Python作为一门强大的脚本语言...通过这些技术,我们可以高效地管理和分析日志数据,为系统监控和故障排查提供便利。
本示例着重于使用Python进行IIS(Internet Information Services)和Tomcat服务器的日志批量分析。IIS是Microsoft提供的Web服务器,而Tomcat是基于Java的开源Web应用服务器,它们都会记录详细的访问日志,这些日志...
4. **统计分析**:分析日志数据,例如计算访问频率、最常访问的页面、错误率等。`pandas`提供了丰富的统计函数,可以轻松完成这些任务。 5. **结果可视化**:将分析结果以图表形式展示,有助于直观理解。可以使用`...
这篇博文"Python 实时日志监控"可能详细介绍了如何利用Python进行实时的日志分析和管理。 在Python中,内置的`logging`模块是实现日志功能的基础。这个模块提供了一套完整的日志记录系统,包括定义日志级别(如...
Python大作业基于python的web日志分析工具项目源码+注释.zipPython大作业基于python的web日志分析工具项目源码+注释.zipPython大作业基于python的web日志分析工具项目源码+注释.zipPython大作业基于python的web日志...
【Python-基于Python实现的Linux后台日志监控小项目】 在IT运维中,实时监控Linux系统的后台日志是一项至关重要的任务。它可以帮助我们快速发现系统异常、错误信息以及潜在的安全问题。本项目“Python-基于Python...
基于python实现的web日志分析工具 注: 同目录下新建一个logs目录,存放需要分析的日志文件 -------- 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载...
这篇我们将讨论如何利用Python解析日志文件并将其导出到Excel,这对于数据分析、故障排查和监控系统状态非常有用。 首先,解析日志文件通常涉及到字符串处理和正则表达式。Python的标准库`re`提供了正则表达式的...
Python的`pandas`库非常适合处理和分析日志数据,可以快速筛选、聚合和统计日志信息。 为了实现IP归属地查询,我们需要一个IP数据库,如MaxMind的GeoLite2,它可以提供国家、地区等地理信息。Python的`geoip2`库...
在数字电视头端日志分析系统中,Python语言的应用展示了其在数据处理和软件开发上的灵活性和强大功能。数字电视头端系统负责处理和分发电视信号,其日志文件记录了大量关于系统运行和服务状态的信息。由于这些信息非...
总结来说,这个工具为Python开发者提供了一种直观的方式来管理和分析日志,尤其是当项目使用SocketHandler进行日志传输时,它能提供实时监控和分析的能力。通过图形化界面,开发者可以更有效地排查错误,提升开发...
标题 "Python-NginxApacheIIS日志分析自动生成Excel报表" 暗示了这个项目是关于使用Python解析和分析Nginx、Apache及IIS服务器的日志,并且能够生成详细的Excel报告。Nginx、Apache和IIS是三种常见的Web服务器,它们...
Python日志规范是软件开发中一个非常重要的环节,它确保了程序在运行过程中产生的信息能够被有效记录、管理和分析。良好的日志规范可以帮助开发者更好地理解程序的状态,定位和解决问题,同时也有助于维护团队间的...