如何使用paramiko监控Oraclealert日志-创新互联
小编给大家分享一下如何使用paramiko监控Oracle alert日志,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
为钟楼等地区用户提供了全套网页设计制作服务,及钟楼网站建设行业解决方案。主营业务为网站制作、成都网站建设、钟楼网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!环境设置
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))
验证结果
正常情况下如果有ORA等错误会输出结果
以上是“如何使用paramiko监控Oracle alert日志”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联-成都网站建设公司行业资讯频道!
网站标题:如何使用paramiko监控Oraclealert日志-创新互联
标题路径:http://cdiso.cn/article/pjcgc.html