python 写的日志分析

#coding=utf-8

#!/usr/bin/python

import string

import re

import sys

file =  sys.argv[1]

f = open(file, ‘r‘)

ip_url = []

ip = []

url_url = []

while True:

line = f.readline()

if not line:break

line1 = line.split()

clientIP = line1[0]

status = line1[8]

url = line1[6]

ip_url.append(status)

ip.append(clientIP)

url_url.append(url)

ip_list = list(set(ip))

url_list = list(set(url_url))

status_list = list(set(ip_url))

print "#######统计各个访问状态数#############"

dict = {}

for i in status_list:

dict[ip_url.count(i)] = i

cc = sorted(dict.iteritems(), reverse = True )

for key in cc:

print ‘\033[1;31;40m‘

print ‘状态是‘,

print key[1],

print ‘的有‘,

print key[0],

print ‘个‘

print ‘\033[0m‘

print "#######统计各个IP状态数#############"

print ‘\033[1;31;40m‘

print ‘UV是‘,

print len(ip_list),

print ‘个‘

print ‘\033[0m‘

print "#####################################"

dict1 = {}

for i in ip_list:

dict1[ip.count(i)] = i

dd = sorted(dict1.iteritems(), reverse = True )

for key1 in dd:

print ‘\033[1;38;40m‘

print ‘访问IP为‘,

print key1[1],

print ‘的有‘,

print key1[0],

print ‘个‘

print ‘\033[0m‘

print "#######统计各个URL状态数#############"

print ‘\033[1;31;40m‘

print ‘PV是‘,

print len(url_url),

print ‘个‘

print ‘\033[0m‘

print "#####################################"

dict2 = {}

for i in url_list:

dict2[url_url.count(i)] = i

dd = sorted(dict2.iteritems(), reverse = True )

for key1 in dd:

print ‘\033[1;33;40m‘

print ‘访问此URL:‘,

print key1[1],

print ‘的有‘,

print key1[0],

print ‘个‘

print ‘\033[0m‘

执行结果

时间: 2024-10-18 20:20:37

python 写的日志分析的相关文章

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

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

python 经典语句日志分析

#!/usr/bin/python import re def buffer_line(): buf = open("/etc/sae/buffer_1").read() if not buf: return 0 else: return int(re.findall("^\d*", buf)[0]) def set_last_pos(pos): open("/etc/sae/buffer_1", "w").write(str

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

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

如何用python写监控日志函数

def write_log(username,operation): ''' 写日志函数 :param username:用户名 :param operation:用户的操作信息 :return: ''' w_time = time.strftime('%Y-%m-%d %H%M%S') with open('log.txt','a+') as fw: log_content = '%s %s %s \n'%(w_time,username,operation) fw.write(log_con

Python葵花宝典-mysql日志分析

#!/usr/bin/python # -*- coding:utf-8 -*- import re import sys import time import MySQLdb def create_table(): db=MySQLdb.connect(host="localhost", user="root", passwd="mysql", db="slow_log") cursor=db.cursor() cursor

Python葵花宝典-nginx日志分析

#!/usr/bin/python # -*- coding:utf-8 -*- __author__ = 'lvnian' #!/usr/bin env python # coding: utf-8 import MySQLdb as mysql import sys,os,re db = mysql.connect(user="root",passwd="mysql",db="nginx_log",host="192.168.11.

日志分析与splunk浅谈

难易程度:★★★ 阅读点:linux;python;web安全;日志分析; 文章作者:xiaoye 文章来源:i春秋 关键字:网络渗透技术 前言 linux下的日志分析对企业来说非常重要,对我们分析pv或者入侵事件溯源都有很大的价值,今天来简单谈一谈日志分析方向的利器splunk,splunk应该是站在日志分析应用的顶端了,应用广泛功能强大,本文只能简单说说其安装以及应用.p.s:本文环境是自己虚拟机搭建的,不是生产环境,仅仅做演示. 一.Nginx + uWSGI + Python + Dja

python简单日志分析

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

Python+MySQL实现web日志分析

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