利用Python来实时监控我的文件!女朋友一动种子文件就自动隐藏!

在业务稳定性要求比较高的情况下,运维为能及时发现问题,有时需要对应用程序的日志进行实时分析,当符合某个条件时就立刻报警,而不是被动等待出问题后去解决,比如要监控 Nginx 的 $request_time 和$upstream_response_time 时间,分析出最耗时的请求,然后去改进代码,这时就要对日志进行实时分析了,发现时间长的语句就要报警出来,提醒开发人员要关注,当然这是其中一个应用场景,通过这种监控方式还可以应用到任何需要判断或分析文件的地方,所以今天我们就来看看如何用 python 实现实时监控文件,我给三个方法实例:

第一种:

这个是最简单的和容易理解的,因为大家都知道 linux 下有 tail 命令,所以你可以直接用 Popen() 函数调用这个命令来执行获取输出代码如下:

利用Python来实时监控我的文件!女朋友一动种子文件就自动隐藏!

进群:548377875 即可获取大量的学习资料哦!

第二种:

采用 python 对文件的操作来实现,用文件对象的 tell(),seek() 方法分别得到当前文件位置和要移动到的位置,代码如下:

利用Python来实时监控我的文件!女朋友一动种子文件就自动隐藏!

第三种:

利用 python 的 yield 来实现一个生成函数,然后调用这个生成函数,这样当日志文件有变化时就打印新的行,代码如下:

利用Python来实时监控我的文件!女朋友一动种子文件就自动隐藏!

最后解释下 seek() 函数用法,这个函数接收 2 个参数:file.seek(off,whence=0 ),从文件中移动 off 个操作标记文件指针),正数往结束方向移动,负数往开始方向移动。如果设定了 whence 参数,就以 whence 设定的起始位为准,0 代表从头开始,1 代表当前位置,2 代表文件最末尾位置。

以上就是三个常用方法,具体日志分析的代码大家可以根据自己的业务逻辑去实现,完毕。(原文链接:)

私信小编 01 02 03 04 05 即可获取数十套PDF哦以及大量的学习资料哦!

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...