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



    原创内容
    转载请注明出处:www.cnblogs.com/zhangbo2012/
    QQ:369029696  EMAIL:zhangbo2012@outlook.com

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





  • 相关阅读:
    WPF中的Command事件绑定
    WPF的EventAggregator的发布和订阅
    IE浏览器如何调试Asp.net的 js代码
    MVVM模式用依赖注入的方式配置ViewModel并注册消息
    SQL处理数组,字符串转换为数组
    C#在函数内部获取函数的参数
    JS判断字符串长度(中文长度为2,英文长度为1)
    .net一般处理程序(httphandler)实现文件下载功能
    SQL分页获取数据
    URI编码解码
  • 原文地址:https://www.cnblogs.com/zhangbo2012/p/c64a557fd23ea0a303caf2e0eaf4acec.html
Copyright © 2020-2023  润新知