最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實現(xiàn)實時監(jiān)控文件的方法

 更新時間:2016年08月26日 15:14:25   投稿:lijiao  
這篇文章主要為大家詳細介紹了python實現(xiàn)實時監(jiān)控文件的3種方法,感興趣的小伙伴們可以參考一下

在業(yè)務穩(wěn)定性要求比較高的情況下,運維為能及時發(fā)現(xiàn)問題,有時需要對應用程序的日志進行實時分析,當符合某個條件時就立刻報警,而不是被動等待出問題后去解決,比如要監(jiān)控nginx的$request_time和$upstream_response_time時間,分析出最耗時的請求,然后去改進代碼,這時就要對日志進行實時分析了,發(fā)現(xiàn)時間長的語句就要報警出來,提醒開發(fā)人員要關注,當然這是其中一個應用場景,通過這種監(jiān)控方式還可以應用到任何需要判斷或分析文件的地方,所以今天我們就來看看如何用python實現(xiàn)實時監(jiān)控文件,我給三個方法實例::

第一種:

這個是最簡單的和容易理解的,因為大家都知道linux下有tail命令,所以你可以直接用Popen()函數(shù)去調(diào)用這個命令來執(zhí)行獲取輸出,代碼如下:

logfile='access.log'
command='tail -f ‘+logfile+'|grep “timeout”‘
popen=subprocess.Popen(command,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)
while True:
line=popen.stdout.readline().strip()
print line

第二種:

采用python對文件的操作來實現(xiàn),用文件對象的tell(), seek()方法分別得到當前文件位置和要移動到的位置,代碼如下:

import time
file = open(‘a(chǎn)ccess.log')
while 1:
where = file.tell()
line = file.readline()
if not line:
time.sleep(1)
file.seek(where)
else:
print line,

第三種:

利用python的 yield來實現(xiàn)一個生成器函數(shù),然后調(diào)用這個生成器函數(shù),這樣當日志文件有變化時就打印新的行,代碼如下:

import time
def follow(thefile):
thefile.seek(0,2)
while True:
line = thefile.readline()
if not line:
time.sleep(0.1)
continue
yield line
if __name__ == ‘__main__':
logfile = open(“access-log”,”r”)
loglines = follow(logfile)
for line in loglines:
print line,

最后解釋下seek()函數(shù)的用法,這個函數(shù)接收2個參數(shù):file.seek(off, whence=0),從文件中移動off個操作標記(文件指針),正數(shù)往結束方向移動,負數(shù)往開始方向移動。如果設定了whence參數(shù),就以whence設定的起始位為準,0代表從頭開始,1代表當前位置,2代表文件最末尾位置。

以上就是三個常用方法,具體日志分析的代碼大家可以根據(jù)自己的業(yè)務邏輯去實現(xiàn),完畢。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Python高級特性 切片 迭代解析

    Python高級特性 切片 迭代解析

    這篇文章主要介紹了Python高級特性 切片 迭代解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • Python偏函數(shù)Partial function使用方法實例詳解

    Python偏函數(shù)Partial function使用方法實例詳解

    這篇文章主要介紹了Python偏函數(shù)Partial function使用方法實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • python繪制BA無標度網(wǎng)絡示例代碼

    python繪制BA無標度網(wǎng)絡示例代碼

    今天小編就為大家分享一篇python繪制BA無標度網(wǎng)絡示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python中while和for的區(qū)別總結

    python中while和for的區(qū)別總結

    在本篇內(nèi)容里小編給大家分享的是關于python中while和for的區(qū)別以及相關知識點,需要的朋友們可以學習下。
    2019-06-06
  • opencv python簡易文檔之圖像處理算法

    opencv python簡易文檔之圖像處理算法

    OpenCV是一個開源庫,包含了許多計算機視覺算法,它在計算機視覺和圖像處理中起著重要作用,用于實時操作,其效率足以滿足工業(yè)上的要求,這篇文章主要給大家介紹了關于opencv python簡易文檔之圖像處理算法的相關資料,需要的朋友可以參考下
    2021-08-08
  • Java實現(xiàn)的執(zhí)行python腳本工具類示例【使用jython.jar】

    Java實現(xiàn)的執(zhí)行python腳本工具類示例【使用jython.jar】

    這篇文章主要介紹了Java實現(xiàn)的執(zhí)行python腳本工具類,結合實例形式分析了java使用jython.jar執(zhí)行Python腳本的具體操作技巧,需要的朋友可以參考下
    2018-03-03
  • Python Matplotlib 庫使用指南

    Python Matplotlib 庫使用指南

    這篇文章主要介紹了Python Matplotlib 庫使用基本指南,通過本教程,我們學習了使用 Matplotlib 創(chuàng)建各種類型的圖表和圖形,Matplotlib 提供了豐富的函數(shù)和選項,以滿足不同的數(shù)據(jù)可視化需求,需要的朋友可以參考下
    2024-01-01
  • python實現(xiàn)時間序列自相關圖(acf)、偏自相關圖(pacf)教程

    python實現(xiàn)時間序列自相關圖(acf)、偏自相關圖(pacf)教程

    這篇文章主要介紹了python實現(xiàn)時間序列自相關圖(acf)、偏自相關圖(pacf)教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python完整實現(xiàn)俄羅斯方塊游戲全解

    Python完整實現(xiàn)俄羅斯方塊游戲全解

    俄羅斯方塊是一個最初由阿列克謝帕吉特諾夫在蘇聯(lián)設計和編程的益智類視頻游戲。本文將利用python實現(xiàn)這一經(jīng)典的小游戲,需要的可以參考一下
    2022-03-03
  • Python基于wordcloud及jieba實現(xiàn)中國地圖詞云圖

    Python基于wordcloud及jieba實現(xiàn)中國地圖詞云圖

    這篇文章主要介紹了Python基于wordcloud及jieba實現(xiàn)中國地圖詞云圖,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06

最新評論

凯里市| 金沙县| 贺州市| 胶州市| 嘉义市| 科技| 卢龙县| 青浦区| 龙游县| 宿州市| 嫩江县| 海兴县| 太白县| 武清区| 灵台县| 吴川市| 桓台县| 泾川县| 永新县| 英超| 九龙坡区| 揭东县| 白山市| 布拖县| 类乌齐县| 仪陇县| 万全县| 东海县| 镇安县| 济阳县| 永德县| 辽阳市| 长寿区| 阿瓦提县| 客服| 南乐县| 阳春市| 沾益县| 桐城市| 仪征市| 建平县|