真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用paramiko監(jiān)控Oraclealert日志

小編給大家分享一下如何使用paramiko監(jiān)控Oracle alert日志,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

賀蘭網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、響應式網(wǎng)站等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)公司從2013年創(chuàng)立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選成都創(chuàng)新互聯(lián)公司

環(huán)境設置

Linux系統(tǒng)為 Centos 6.8

Python環(huán)境為 Python 3.6

連接Unix類服務器模塊: paramiko

使用的命令

我們使用grep命令來判斷alert日志中是否有ORA Error及Checkpoint報警

監(jiān)控alert日志程序

如下程序使用paramiko連接linux/Unix服務器后查看alert日志查看報警關(guān)鍵字,當發(fā)現(xiàn)錯誤時輸入結(jié)果

我們可以for循環(huán)批量監(jiān)控并發(fā)送結(jié)果到指定的郵箱,這部分就讓大家自己寫了,可參照我以前的文章

這樣即可做到自動化監(jiān)控了,可大幅減少DBA日常的工作

自動化監(jiān)控多個Oracle表空間

使用Python發(fā)送郵件

程序名稱為: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))

驗證結(jié)果

如何使用paramiko監(jiān)控Oracle alert日志

如何使用paramiko監(jiān)控Oracle alert日志

正常情況下如果有ORA等錯誤會輸出結(jié)果

以上是“如何使用paramiko監(jiān)控Oracle alert日志”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


新聞標題:如何使用paramiko監(jiān)控Oraclealert日志
鏈接URL:http://weahome.cn/article/pesssh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部