首页 > 代码库 > python-门户应用状态检查脚本
python-门户应用状态检查脚本
本周用python实现了一个门户应用状态检查脚本。
主要作用是快速收集应用状态,自动收集预置checkpoint的状态,在出现异常时提升问题定位效率。
已实现以下功能:
1、进程核查
2、GC情况核查
3、峰值秒PV核查
4、TCP连接数核查
5、负载情况核查
6、system error话单核查
7、watchdog状态核查
8、存储使用率核查
9、error日志核查
主要难点:
1、python对shell命令执行结果的解析,因为需要判断是否正常,需要将数据解析成array或dictionary
小技巧汇总:
1、解析shell执行结果,返回dictionary对象
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #解析标题+多行数据 返回dict对象 def resolving_shell_table_data_line(ckeys,cvalue): """ ckeys= "mountpoint free used" cvalue = " /dev/sda2 9.0G 5% /dev/sda3 4.5G 4% /dev/sda7 18G 50%" return [ {‘mountpoint‘:‘/dev/sda2‘,‘free‘:‘9.0G‘,‘used‘:‘5%‘}, {‘mountpoint‘:‘/dev/sda3‘,‘free‘:‘4.5G‘,‘used‘:‘4%‘}, {‘mountpoint‘:‘/dev/sda7‘,‘free‘:‘18G‘,‘used‘:‘50%‘}, ] """ keys = [i for i in ckeys.replace( "\n" ," ").split(" ") if i!=" "] res = [] for p in cvalue: p1 = [i for i in p.replace( "\n" ," ").split(" ") if i!=" "] if len (p1)! = len (keys): log( "error data " ) log(cvalue) log(keys) else : res.append( dict ( zip (keys,p1))) return res |
2、文字转换为数字
1 | string.atof(item[ ‘used‘ ].replace( "%" ,"")) |
不足
1、目前代码复用率不高,达到352行;
2、未实现插件化增加新功能的功能;
前景
1、优化为插件化开发方式,定义好插件规范,可以增加该脚本的可用性和拓展性;
来自为知笔记(Wiz)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。