网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

如何使用paramiko监控Oraclealert日志

小编给大家分享一下如何使用paramiko监控Oracle alert日志,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

贺兰网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。成都创新互联公司从2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司

环境设置

Linux系统为 Centos 6.8

Python环境为 Python 3.6

连接Unix类服务器模块: paramiko

使用的命令

我们使用grep命令来判断alert日志中是否有ORA Error及Checkpoint报警

监控alert日志程序

如下程序使用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))

验证结果

如何使用paramiko监控Oracle alert日志

如何使用paramiko监控Oracle alert日志

正常情况下如果有ORA等错误会输出结果

以上是“如何使用paramiko监控Oracle alert日志”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


网页名称:如何使用paramiko监控Oraclealert日志
链接URL:http://bjjierui.cn/article/pesssh.html

其他资讯