一個用python寫的自動監控alert日誌告警資訊的小程式
最近在學習python,隨手寫了一個實時監控alert日誌的小程式:
import time
ol = []
nl = []
lweek = ['Mon','Tue','Wed','Thu','Fri','Sat','Sun']
fname = '/home/db/oracle/admin/sms/bdump/alert_sms1.log'
while True:
ol = nl[:]
nl = []
v = ''
k = ''
l = []
f = open(fname)
for line in f:
tl = line.split()
#判斷是否是時間戳,如果是,將前一個時間戳和當前時間戳之間的有警告資訊的內容放到nl中
if ( tl[0] in lweek and int(tl[2]) in range(1,32) and tl[4] == 'CST'):
#根據告警關鍵詞過濾,可以自己根據需要新增
if "ORA-" in v or "Errors" in v or "Deadlock" in v:
s = k + "|" + v
nl.append(s)
v = ''
k = line
#如果不是時間戳,將內容疊加到變數v中
else:
v = v + '|' + line
f.close()
if "ORA-" in v or "Errors" in v or "Deadlock" in v:
s = k + "|" + v
nl.append(s)
#取前後兩次告警資訊的差集並輸出
l = list(set(nl).difference(set(ol)))
if l is not None:
for x in l:
print x
time.sleep(10)
測試:
oracle@bjmbsdb01[/home/db/oracle/admin/sms/bdump]python mon_alert.py
Tue Mar 17 14:15:28 CST 2015
||ORA-1119 signalled during: alter tablespace users add datafile 'a'...
Tue Mar 17 14:16:21 CST 2015
||ORA-1119 signalled during: alter tablespace users add datafile 'a'...
Tue Mar 17 14:15:53 CST 2015
||Global Enqueue Services Deadlock detected. More info in file
| /home/db/oracle/admin/sms/bdump/sms1_lmd0_6620.trc.
Tue Mar 17 14:20:00 CST 2015
||alter tablespace users add datafile 'a'
|ORA-1119 signalled during: alter tablespace users add datafile 'a'...
import time
ol = []
nl = []
lweek = ['Mon','Tue','Wed','Thu','Fri','Sat','Sun']
fname = '/home/db/oracle/admin/sms/bdump/alert_sms1.log'
while True:
ol = nl[:]
nl = []
v = ''
k = ''
l = []
f = open(fname)
for line in f:
tl = line.split()
#判斷是否是時間戳,如果是,將前一個時間戳和當前時間戳之間的有警告資訊的內容放到nl中
if ( tl[0] in lweek and int(tl[2]) in range(1,32) and tl[4] == 'CST'):
#根據告警關鍵詞過濾,可以自己根據需要新增
if "ORA-" in v or "Errors" in v or "Deadlock" in v:
s = k + "|" + v
nl.append(s)
v = ''
k = line
#如果不是時間戳,將內容疊加到變數v中
else:
v = v + '|' + line
f.close()
if "ORA-" in v or "Errors" in v or "Deadlock" in v:
s = k + "|" + v
nl.append(s)
#取前後兩次告警資訊的差集並輸出
l = list(set(nl).difference(set(ol)))
if l is not None:
for x in l:
print x
time.sleep(10)
測試:
oracle@bjmbsdb01[/home/db/oracle/admin/sms/bdump]python mon_alert.py
Tue Mar 17 14:15:28 CST 2015
||ORA-1119 signalled during: alter tablespace users add datafile 'a'...
Tue Mar 17 14:16:21 CST 2015
||ORA-1119 signalled during: alter tablespace users add datafile 'a'...
Tue Mar 17 14:15:53 CST 2015
||Global Enqueue Services Deadlock detected. More info in file
| /home/db/oracle/admin/sms/bdump/sms1_lmd0_6620.trc.
Tue Mar 17 14:20:00 CST 2015
||alter tablespace users add datafile 'a'
|ORA-1119 signalled during: alter tablespace users add datafile 'a'...
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10972173/viewspace-1463041/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 自動化運維-Python監控Oracle告警日誌Oracle運維Python
- 小程式日誌監控工具
- Python監控日誌程式Python
- ORACLE 告警日誌alert過大的處理Oracle
- java獲取redis的日誌資訊和動態監控資訊JavaRedis
- 交換機統一監控和遠端控制:自動發現、自動監控、自動告警、自動修復
- alert日誌中的一條ora警告資訊的分析
- Python監控線上異常圖片地址自動告警Python
- 【alert】每週自動備份alert日誌檔案
- Oracle的告警日誌之v$diag_alert_ext檢視Oracle
- 實時監控儲存過程中應用的日誌資訊儲存過程
- 11g的alert日誌檔案會自動拆分
- 告警日誌出現kewastUnPackStats資訊AST
- 日誌監控
- 獲取一週內的告警日誌(python|Oracle)PythonOracle
- dbms_system.ksdwrt:向告警日誌檔案寫指定資訊
- 5 個用於日誌記錄以及監控的 DevOps 工具dev
- 簡易實現Redis監控自動簡訊告警Redis
- 使用Python寫一個小小的專案監控Python
- Python監控線上異常圖片地址自動告警!有省了一筆人力資源Python
- Oracle 跟蹤/告警/監聽日誌的清理指令碼Oracle指令碼
- python實現自動監控網站併傳送郵件告警薦Python網站
- shell指令碼:自動記憶體監控及日誌備份指令碼記憶體
- 用 python 寫一個自動化部署工具Python
- Mysql事件監控日誌MySql事件
- 用外部表實現Alert日誌的檢視
- Oracle之備份和清理監聽日誌、告警日誌指令碼Oracle指令碼
- oracle alert日誌Oracle
- RAC的告警日誌檔案
- 跟我一起學docker(15)--監控日誌和日誌管理Docker
- 使用zabbix監控oracle的後臺日誌Oracle
- 用外部表的方式查詢alert日誌檔案中ora-錯誤資訊
- 【python 監控報警】python自動發微信監控報警Python
- prometheus監控+alertmanager告警Prometheus
- DG 日誌傳輸監控
- 用zabbix監控oracle dg從庫是否應用日誌的指令碼Oracle應用日誌指令碼
- Zabbix監控虛擬機器服務-告警與自動恢復虛擬機
- 用python寫一個自動化盲註指令碼Python指令碼