您好,登錄后才能下訂單哦!
小編給大家分享一下如何使用paramiko監控Oracle alert日志,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
環境設置
Linux系統為 Centos 6.8
Python環境為 Python 3.6
連接Unix類服務器模塊: paramiko
我們使用grep命令來判斷alert日志中是否有ORA Error及Checkpoint報警
如下程序使用paramiko連接linux/Unix服務器后查看alert日志查看報警關鍵字,當發現錯誤時輸入結果
我們可以for循環批量監控并發送結果到指定的郵箱,這部分就讓大家自己寫了,可參照我以前的文章
這樣即可做到自動化監控了,可大幅減少DBA日常的工作
自動化監控多個Oracle表空間
使用Python發送郵件
程序名稱為:checkoraclelog.py
#!/usr/bin/python #coding=utf8 import paramiko def oraclelog(ssh,path): alert_log=[] command='grep -E \'ORA-|Checkpoint|Error\' '+path stdin,stdout,stderr=ssh.exec_command(command) err=stderr.readlines() if len(err) != 0: print (err) return False else: stdout_content=stdout.readlines() if len(stdout_content)!=0: result='\n'.join(stdout_content) result= 'Oralce log on '+hostname+ ' have errors\n'+'The log path is '+path+'\n'+result alert_log.append(result) return alert_log else: return 'noerror'if __name__ == '__main__': hostname='10.60.14.60' username='root' password='password' try: #使用SSHClient方法定義ssh變量 ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #連接目標服務器 ssh.connect(hostname=hostname,port=22,username=username,password=password) path='/oracle/NP1/saptrace/background/alert_NP1.log' alert_log=oraclelog(ssh,path) ssh.close() if alert_log: if alert_log !='noerror': for i in alert_log: print (i) else: print ('There is no ORA- error on '+hostname) except Exception as e: print (hostname+' '+str(e))
正常情況下如果有ORA等錯誤會輸出結果
以上是“如何使用paramiko監控Oracle alert日志”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。