首页 > 编程语言 > 详细

python-门户应用状态检查脚本

时间:2014-07-31 12:19:17      阅读:709      评论:0      收藏:0      [点我收藏+]

本周用python实现了一个门户应用状态检查脚本。

主要作用是快速收集应用状态,自动收集预置checkpoint的状态,在出现异常时提升问题定位效率。

已实现以下功能:
1、进程核查
2、GC情况核查
3、峰值秒PV核查
4、TCP连接数核查
5、负载情况核查
6、system error话单核查
7、watchdog状态核查
8、存储使用率核查
9、error日志核查

bubuko.com,布布扣


主要难点:
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 in ckeys.replace("\n","").split(" ") if i!=""]
 
    res = []
    for in cvalue:
        p1=[i for 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、优化为插件化开发方式,定义好插件规范,可以增加该脚本的可用性和拓展性;





python-门户应用状态检查脚本,布布扣,bubuko.com

python-门户应用状态检查脚本

原文:http://www.cnblogs.com/zhangbo2012/p/c64a557fd23ea0a303caf2e0eaf4acec.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!