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

Python腳本實(shí)時處理log文件的方法

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

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

#!/usr/local/bin/python3.5
###Destription: 實(shí)時讀取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的大小
###定義函數(shù)按行讀取文件內(nèi)容
def readline():
####if判斷 seek是否大于0,大于則賦值,否則初始為0
while True:
######定義文件,根據(jù)seek值進(jìn)行每行讀取,每次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變量轉(zhuǎn)換為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,有值輸出出現(xiàn)error匹配到的次數(shù)值
try:
print(j)
except NameError:
print(int("0"))
###判斷日志文件是否存在
if os.path.isfile(file_name):
###判斷存儲文件內(nèi)容大小的文件是否存在
if os.path.isfile(file_number):
####存在則讀取文件size大小,賦值給seek_number
seek_number = int(linecache.getline(file_number, 1))
####然后繼續(xù)判斷存儲的文件大小與現(xiàn)在文件大小(確定文件是否是重新生成的)
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腳本實(shí)時處理log文件腳本,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 虛擬機(jī)下載python是否需要聯(lián)網(wǎng)

    虛擬機(jī)下載python是否需要聯(lián)網(wǎng)

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

    Python Pygame實(shí)戰(zhàn)之飛機(jī)大戰(zhàn)的實(shí)現(xiàn)

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

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

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

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

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

    flask中響應(yīng)錯誤的處理及errorhandler的應(yīng)用方式

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

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

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

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

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

    python3.9安裝RobotFramework的簡單教程

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

    Python中property函數(shù)用法實(shí)例分析

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

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

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

最新評論

汽车| 类乌齐县| 舒城县| 枝江市| 双牌县| 莆田市| 巩义市| 营山县| 奉新县| 桦甸市| 伊宁县| 寻乌县| 西乌珠穆沁旗| 宁化县| 丰宁| 合阳县| 贵港市| 库伦旗| 枣阳市| 泽库县| 东山县| 息烽县| 东丰县| 威远县| 共和县| 托克托县| 秭归县| 工布江达县| 遂平县| 盐源县| 新和县| 疏附县| 泽州县| 东丽区| 绍兴县| 厦门市| 尤溪县| 修水县| 闵行区| 余干县| 瑞昌市|