免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5820 | 回复: 5

python怎样对nginx日志进行qps统计 [复制链接]

论坛徽章:
1
天秤座
日期:2014-11-05 16:54:55
发表于 2014-11-18 10:50 |显示全部楼层
python 怎样动态的读取nginx日志文件,然后进行统计

还有就是怎样动态的抓取日志文件中的关键字,error、fatal等。

求指点。。。

论坛徽章:
5
巨蟹座
日期:2014-08-28 18:12:342015年迎新春徽章
日期:2015-03-04 10:01:4415-16赛季CBA联赛之江苏
日期:2016-04-28 09:43:3115-16赛季CBA联赛之吉林
日期:2016-06-22 10:34:4315-16赛季CBA联赛之山西
日期:2016-08-16 16:29:55
发表于 2014-11-18 11:10 |显示全部楼层
本帖最后由 Linux_manne 于 2014-11-18 11:14 编辑

思路差不多这样吧:
打开log文件 同时记录st_mtime 和seek 到文件末 记录 tell ,然后等待  st_mtime 发生变化即大于上一个st_mtime  (该文件就发生了变化) 然后find 你得关键字

  1. line_num = 0
  2. end = 0   
  3. initial = getnewlog(path,logob)   
  4. while True:        
  5.     newest = getnewlog(path,logob)        
  6.     if newest != initial:            
  7.         line_num = 0            
  8.         end = 0
  9.         initial = newest        
  10.     with open(newest) as f:            
  11.         current = os.stat(newest).st_mtime            
  12.         if current > end:               
  13.             end = current               
  14.             f.seek(line_num,0)               
  15.             content = f.readlines()               
  16.             f.seek(0,2)               
  17.             line_num = f.tell()               
  18.             for c in content:                    
  19.             if c.find(pattern_key) != -1:  # 这边弄自己的                     
  20.                 # 处理你得统计什么得
复制代码

论坛徽章:
1
天秤座
日期:2014-11-05 16:54:55
发表于 2014-11-18 11:29 |显示全部楼层
非常感谢指点,我试试。回复 2# Linux_manne


   

论坛徽章:
1
水瓶座
日期:2013-11-04 13:16:13
发表于 2014-11-20 17:12 |显示全部楼层
直接shell  awk 处理妥妥的 ~

论坛徽章:
0
发表于 2014-11-26 10:47 |显示全部楼层
大文件怎么处理,超过10G的

论坛徽章:
0
发表于 2014-11-27 09:57 |显示全部楼层
回复 1# redhatuser

直接shell,grep 吧.除非是结果要入库神马的
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP