用Python寫個程序監控程式

2021-08-31 06:02:30 字數 1003 閱讀 2559

有個應用程式不是很穩定,又暫時找到具體問題,只知道出現錯誤時日誌檔案會反映出來.

該應用定時更新日誌目錄,有兩個日誌檔案:fromclient.log 記錄接收請求,fromserver.log記錄接收服務端返回.

出現問題時一般是fromclient.log日誌在更新,但是fromserver.log就停止了.

靈機一動,何不用python寫個監控日誌的程式,發現程式異常就自動重啟,這樣不至於嚴重影響客戶使用.

多出時間來徹底解決問題.

於是就有了下面的**:

#!/bin/env python

# -*- coding: cp936 -*-

import glob,os,time,stat,sys

deadflag = 60   #判斷程序死掉的秒數

def getfiletime(filename):

return os.stat(filename)[stat.st_ctime]

def main():

path = glob.glob("../log/proxy*")[-1]

clifile = path + "/" + "mt.log"

svrfile = path + "/" + "fromserver.log"

clitime = getfiletime(clifile)

svrtime = getfiletime(svrfile)

print clifile,time.localtime(clitime)

print svrfile,time.localtime(svrtime)

if abs(svrtime-clitime) > deadflag:

print "time is over! will restart!"

os.system("sh /home/esm/bin/restart_tcpproxy.sh")

return

if __name__ == "__main__":

main()

用Python寫個程序監控程式

有個應用程式不是很穩定,又暫時找到具體問題,只知道出現錯誤時日誌檔案會反映出來.該應用定時更新日誌目錄,有兩個日誌檔案 fromclient.log 記錄接收請求,fromserver.log記錄接收服務端返回.出現問題時一般是fromclient.log日誌在更新,但是fromserver.log...

用shell寫個簡單的log監控程式

檢查apache的error log和mysql slow query log,可以及時的發現問題。但在開發和運營的過程中,如果沒有意識到有錯誤發生,我們往往不會主動的檢視log的習慣,而且每天檢視log也不現實。但是不明顯的錯誤不表示沒有錯誤,潛在的問題往往是最嚴重的問題。因此寫個log監控程式很...

用shell寫個簡單的log監控程式

檢查apache的error log和mysql slow query log,可以及時的發現問題。但在開發和運營的過程中,如果沒有意識到有錯誤發生,我們往往不會主動的檢視log的習慣,而且每天檢視log也不現實。但是不明顯的錯誤不表示沒有錯誤,潛在的問題往往是最嚴重的問題。因此寫個log監控程式很...