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

Python腳本實時處理log文件的方法

 更新時間:2016年11月21日 09:35:45   作者:Tony_Deng  
Python腳本是用來對實時文件的內容監(jiān)控。接下來通過本文給大家介紹Python腳本實時處理log文件的方法,需要的朋友參考下吧

這個Python腳本是用來對實時文件的內容監(jiān)控,比如 Error 或者 time out 字段都可以進行自定義;算是我的第一個真正的Python腳本,自己感覺還是比較臃腫,不過打算放到blog上記錄一下(還是初學者,大神們勿噴哈),真心希望博友們能夠再指點一下(現在記錄每次的文件大小值是輸出到了一個文件中,并且里面還嵌套了有shell命令,這些我認為都是可以優(yōu)化掉的吧,只是現在我還不知道怎么做);告警是基于zabbix,自定義的模板是120s執(zhí)行一次

#!/usr/local/bin/python3.5
###Destription: 實時讀取log信息
###Author: Danny Deng
###Datetime: 2016-11-17
import re,time,subprocess,os,linecache
#####定義log文件
file_name = "/usr/local/nginx/logs/error.log"
file_number = "/usr/local/zabbix_agent/number.txt"
j = int(0)
seek = int(0)
##判斷過程:文件是否存在---判斷存儲日志大小的文件是否存在---判斷number size 與 filesize的大小
###定義函數按行讀取文件內容
def readline():
####if判斷 seek是否大于0,大于則賦值,否則初始為0
while True:
######定義文件,根據seek值進行每行讀取,每次tell賦值給seek
with open(file_name,'r') as f:
global seek
#seek = seek
f.seek(seek)
data = f.readline()
if data:
seek = f.tell()
yield data
else:
######Python變量轉換為shell變量
global file_number
os.environ['seek'] = str(seek)
os.environ['file_number'] = str(file_number)
os.system('echo $seek > $file_number')
os.system('chown zabbix.zabbix $file_number')
return
def func_for():
j = int(0)
for i in readline():
f_find = re.findall(r"check time out", i,flags=re.IGNORECASE)
if "check time out" in f_find:
j += 1
#####沒有輸出0,有值輸出出現error匹配到的次數值
try:
print(j)
except NameError:
print(int("0"))
###判斷日志文件是否存在
if os.path.isfile(file_name):
###判斷存儲文件內容大小的文件是否存在
if os.path.isfile(file_number):
####存在則讀取文件size大小,賦值給seek_number
seek_number = int(linecache.getline(file_number, 1))
####然后繼續(xù)判斷存儲的文件大小與現在文件大小(確定文件是否是重新生成的)
if os.path.getsize(file_name) >= seek_number and seek_number > 0:
seek = seek_number
func_for()
###若為新文件則,seek 賦值為0
else:
#open(arg1, "a+").write("0")
#seek = int(linecache.getline(file_number, 1))
seek = int(0)
func_for()
####file_number 不存在則新建,并賦值seek變量為0 
else:
#open(file_number, "a+").write("0")
#seek = int(linecache.getline(file_number, 1))
os.environ['file_number'] = str(file_number)
os.system('echo 0 > $file_number')
os.system('chown zabbix.zabbix $file_number')
func_for()
else:
print("Error")
quit()

以上所述是小編給大家介紹的Python腳本實時處理log文件腳本,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

相關文章

  • 虛擬機下載python是否需要聯網

    虛擬機下載python是否需要聯網

    在本篇文章里小編給大家分享的是一篇關于虛擬機下載python是否需要聯網的相關文章,有需要的朋友們可以參考下。
    2020-07-07
  • Python Pygame實戰(zhàn)之飛機大戰(zhàn)的實現

    Python Pygame實戰(zhàn)之飛機大戰(zhàn)的實現

    飛機大戰(zhàn)想必是很多人童年時期的經典游戲,這篇文章主要給大家介紹了關于如何利用python中的Pygame模塊寫一個簡單的飛機大戰(zhàn)小游戲的相關資料,需要的朋友可以參考下
    2022-03-03
  • python_tkinter彈出對話框創(chuàng)建

    python_tkinter彈出對話框創(chuàng)建

    這篇文章主要介紹了python_tkinter彈出對話框實現,tkinter提供了三個模塊,可以創(chuàng)建彈出對話窗口,下面詳細介紹,需要的小伙伴可以參考一下,希望對你的學習有所幫助
    2022-03-03
  • Python Pillow Image.save 保存為jpg圖片壓縮問題

    Python Pillow Image.save 保存為jpg圖片壓縮問題

    Pillow 庫支持多種圖片格式,Pillow 能夠很輕松地實現圖片格式之間的轉換。本文就來詳細的介紹一下Image.save的具體使用,感興趣的可以了解一下
    2021-11-11
  • flask中響應錯誤的處理及errorhandler的應用方式

    flask中響應錯誤的處理及errorhandler的應用方式

    這篇文章主要介紹了flask中響應錯誤的處理及errorhandler的應用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 解決Django后臺ManyToManyField顯示成Object的問題

    解決Django后臺ManyToManyField顯示成Object的問題

    今天小編就為大家分享一篇解決Django后臺ManyToManyField顯示成Object的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • django3.02模板中的超鏈接配置實例代碼

    django3.02模板中的超鏈接配置實例代碼

    在本篇文章里小編給大家整理了關于django3.02模板中的超鏈接配置實例代碼內容,需要的朋友們可以學習參考下。
    2020-02-02
  • python3.9安裝RobotFramework的簡單教程

    python3.9安裝RobotFramework的簡單教程

    python3.9安裝RobotFramework,不同于python2.7和python3.6,使用這兩個版本安裝會出現問題,因為我安裝遇到問題發(fā)現沒有最新的教程,所以打算自己寫一個,同時下面會記錄安裝步驟及使用的方法會出現的一些問題,對python3.9安裝RobotFramework感興趣的朋友一起看看吧
    2023-01-01
  • Python中property函數用法實例分析

    Python中property函數用法實例分析

    這篇文章主要介紹了Python中property函數用法,結合實例形式分析了property函數的功能、參數、使用方法及相關操作注意事項,需要的朋友可以參考下
    2018-06-06
  • Python讀取環(huán)境變量的方法和自定義類分享

    Python讀取環(huán)境變量的方法和自定義類分享

    這篇文章主要介紹了Python讀取環(huán)境變量的方法和自定義類分享,本文直接給出代碼實例,需要的朋友可以參考下
    2014-11-11

最新評論

通渭县| 万安县| 满城县| 聊城市| 乌苏市| 琼结县| 玉龙| 和硕县| 会同县| 通州市| 博乐市| 内黄县| 黔西| 马公市| 沭阳县| 平原县| 广汉市| 息烽县| 治多县| 施甸县| 衡阳市| 伽师县| 孟村| 德令哈市| 靖安县| 大田县| 扎囊县| 弥勒县| 石首市| 宁津县| 霍林郭勒市| 巩义市| 炉霍县| 上栗县| 安顺市| 华蓥市| 马边| 宜君县| 文化| 奉节县| 大关县|