脚本类似shell的tail功能,用来统计每分钟的4xx、5xx的状态码数量,统计php执行时间小于1秒、1-5秒、5秒以上的数量,和每秒的并发请求。将结果放到/tmp目录下, 也可以用cacti将结果画图。

#!/usr/bin/env python

import time, os

#-----------------------------

log_file = '/var/log/httpd/cmi_access_log'

#-----------------------------

log_name = log_file.split('/')[-1]

file = open(log_file, 'r')

lt1,to1_5,gt5,status4,status5,concurrent = 0,0,0,0,0,0

Time2 = '0'

st_results = os.stat(log_file)

st_size = st_results[6]

file.seek(st_size)

size = os.path.getsize(log_file)

while 1:

Time = time.strftime("%Y_%m_%d",time.localtime(time.time() - 60))

where = file.tell()

line = file.readline()

L = line.split('"')

Time1 = time.strftime("%Y_%m_%d_%H:%M",time.localtime(time.time() - 60))

if not line:

size = os.path.getsize(log_file)

if size < where:

file = open(log_file, 'r')

else:

time.sleep(1)

file.seek(where)

else:

try:

Phptime = float(L[-2])

url = L[1]

status = L[2][1:4]

if '4' in status[0]:

status4 += 1

elif '5' in status[0]:

status5 += 1

if Time1 in Time2:

if 'f5.php' not in url:

concurrent += 1

if Phptime < 1:

lt1 += 1

elif 1 <= Phptime <= 5:

to1_5 += 1

else:

gt5 += 1

else:

concurrent = concurrent / 60

out = Time1 + "," + str(lt1) + "," + str(to1_5) + "," + str(gt5) + "," + str(status4) + "," + str(status5) + "," + str(concurrent)

F = open('/tmp/' + log_name + '_' + Time + '.data', 'a')

print >> F, out

F.close()

Time2 = Time1

lt1,to1_5,gt5,status4,status5,concurrent = 0,0,0,0,0,0

except:

pass

python 日志分析_python 日志分析统计脚本 | 学步园相关推荐

  1. python bar图_python使用matplotlib绘图 — barChart | 学步园

    matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中.它的文档相当完备,并且 ...

  2. python快速查找_python应用_快速查找 | 学步园

    快速查找 import random def partition(list_object,start,end): random_choice = start#random.choice(range(s ...

  3. python日志记录_Python日志记录

    python日志记录 To start, logging is a way of tracking events in a program when it runs and is in executi ...

  4. python性能差_Python 性能分析大全

    虽然运行速度慢是 Python 与生俱来的特点,大多数时候我们用 Python 就意味着放弃对性能的追求.但是,就算是用纯 Python 完成同一个任务,老手写出来的代码可能会比菜鸟写的代码块几倍,甚 ...

  5. python数据获取与文本分析_python文本分析之处理和理解文本

    前言: 在进行自然语言的建模(NLP)时,我们通常难以处理文字类型的数据,因此在常见的机器学习项目中,数据的格式是结构化的,就算在视觉处理的时候也是一个矩阵或者高维张量的形式.那么文字类型的数据我们应 ...

  6. python log模块_python日志模块logbook使用方法

    python自带了日志模块logging,可以用来记录程序运行过程中的日志信息.同时python还有logbook模块用来取代logging模块,在很多的项目中logbook模块使用也是比较的多,因此 ...

  7. python log模块_Python日志模块-logging

    一.logging模块 日志的作用可以简单总结为以下3点: 1.程序调试 2.了解软件程序运行情况,是否正常 3.软件程序运行故障分析与问题定位 1.日志的等级 不同的应用程序所定义的日志等级可能会有 ...

  8. python logging模块默认日志级别_Python 日志模块logging

    logging模块: logging是一个日志记录模块,可以记录我们日常的操作. logging日志文件写入默认是gbk编码格式的,所以在查看时需要使用gbk的解码方式打开. logging日志等级: ...

  9. python 打印模块_Python 日志打印模块

    1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同 ...

最新文章

  1. ceph-osd无法获取osd map导致osd down掉的解决办法
  2. Centos6.5 安装配置docker
  3. ffmpeg-- audio decoder
  4. 爬虫基本库的使用---urllib库
  5. java object 比较_Java比较两个对象
  6. java https通讯_Kubernetes - HTTPS在服务之间进行通信
  7. 公用机房计算机主板选购,才知道,IDC机房运维工作居然可以如此简单!
  8. 页面的缓存与不缓存设置
  9. 九阴真经 第二层 第6天
  10. sql server 复制_SQL Server复制(合并)–复制什么,什么不复制
  11. 区块链中的基础数据结构
  12. hp服务器引导驱动器,windows-server-2008 – 在没有SmartStart的HP Proliant服务器上安装Windows...
  13. c语言编程电影院票务系统,C++课程设计----电影院售票系统
  14. 【设计模式】-工厂模式->抽象工法模式(源码与类图解析)
  15. snipaste如何滚动截图_试用了20个截图工具,我写下这份超全的软件指南。?
  16. java 股票指标算法库_股票K线指标算法整理(Java封装工具类,K线指标算法工具类)...
  17. 修改IE地址栏Tomcat小猫咪图标
  18. 计算机应用基础(第二版)周南岳,微波电子自旋共振实验中需要将样品谐振腔调节为驻波模式...
  19. markdown在前端的简单使用
  20. 计算机主机声音怎么办,电脑主机声音大,详细教您电脑主机声音大怎么办

热门文章

  1. ERP兵法——从案例透视方法(实施篇下)
  2. SAP中smartforms参数
  3. sy-repid 和 sy-cprog的区别
  4. 开学季,如何用数据保证学生安全?这套方案值得一看
  5. 左手高仿,右手二奢,这届年轻人的奢侈品消费有点迷
  6. 宏光MINI EV收割的年轻人,又被苏宁、小米、欧拉盯上了
  7. 波司登,除了羽绒服还是羽绒服
  8. 百度智能云一周连签三个新基建大单,“非对称竞争”优势凸显?
  9. 6. 以下耦合度中最松散的耦合是_Spring Java中的依赖注入,它是如何工作的?- 知识铺...
  10. 用jk触发器构成二分频电路_深入了解数字电路之时序电路