python 用蟒蛇实现的日志流式分析
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 用蟒蛇实现的日志流式分析相关的知识,希望对你有一定的参考价值。
# 用来产生日志以供测试
$ i=0; while true; do echo $i' hello' >> access.log; let i++; sleep 0.01; done;
# -*- coding: utf-8 -*-
'''
tail一个文件,做流式分析,可以用于日志输出的监控。
此处示例为每3秒输出统计得到的行数和字符数。
'''
import time
import subprocess
import datetime
from threading import Timer
filename = 'access.log'
interval = 3 # 间隔时间
result_init = {
'chars': 0,
'lines': 0,
}
result = dict(result_init)
def readfile(filename):
f = subprocess.Popen(['tail','-c','0','-F',filename], stdout=subprocess.PIPE,stderr=subprocess.PIPE)
while True:
line = f.stdout.readline()
process(line)
def process(line):
'''处理一行'''
global result
result['chars'] += len(line)
result['lines'] += 1
def summary():
global result
print u'【{0:%Y-%m-%d %H:%M:%S}】{2} lines, {3} chars in {1}s'.format(
datetime.datetime.now(),
interval,
result['lines'],
result['chars'])
result = dict(result_init)
Timer(interval, summary, ()).start()
if __name__ == '__main__':
print 'start to analysis...'
Timer(0, readfile, (filename, )).start()
Timer(interval, summary, ()).start()
以上是关于python 用蟒蛇实现的日志流式分析的主要内容,如果未能解决你的问题,请参考以下文章
从无人机 Parrot 2.0 流式传输视频。蟒蛇+简历2
Storm+Kafka实现流式大数据实时日志分析
如何用python绘制彩色蟒蛇
python 蟒蛇日志初始化
python 蟒蛇日志设置
用python怎么把蟒蛇变成彩色?