【Python】通过python hp ilo对机器的状态进行监

作者: IT派森 | 来源:发表于2019-08-10 22:32 被阅读3次

    <通过python hp ilo对机器的状态进行监控>

    标签: <无>

    1. [代码][通过python hp ilo对机器的状态进行监控Python]代码
    
    #!/usr/bin/python2.7
     
    import hpilo
    import sys
    import time
    import os
    import json
    import argparse
     
    def check_log(fname):
        if not os.path.exists(fname):
            os.mknod("/tmp/ilo_error.log")
     
    check_log('/tmp/ilo_error.log')
     
     
    avg = argparse.ArgumentParser()
    avg.add_argument('-H',help="Plz input destination IP")
    avg.add_argument('-U',help="Plz input destination port")
    avg.add_argument('-P',help="Plz input connect user")
    qq = avg.parse_args()
     Python资源分享qun 784758214 ,内有安装包,PDF,学习视频,这里是Python学习者的聚集地,零基础,进阶,都欢迎
    ls = os.linesep
    rs = hpilo.Ilo(qq.H, qq.U, qq.P)
    li = rs.get_server_event_log()
    the_time = (time.time() - 259200)
    save_list = []
    yes = 1
    error_num = 0
    for y in li:
        for z, k in y.items():
            if z == 'description':
                err_rs = k.split(':')
                if err_rs[0] == 'POST Error':
                    error_info = y['description']
                    error_time = y['initial_update']
                    error_time_strp = time.strptime(error_time, "%m/%d/%Y %H:%M")
                    error_times = int(time.mktime(error_time_strp))
                    read_liens = open('/tmp/ilo_error.log','r')
                    if the_time < error_times:
                        for m in read_liens:
                            m = json.loads(m)
                            if not len(m) == 0:
                                for line in m:
                                    #print line[1],error_times,line[2],error_info,line[0]
                                    if line[1] == error_times and line[2] == error_info and  line[0] < 3:
                                        print "ERROR: %s" % error_info
                                        error_num = line[0] + 1
                                        save_list.append([error_num, error_times, error_info])
                                        error_num += 1
                                        yes = 0
                                        break
                                    elif line[1] == error_times and line[2] == error_info and  line[0] == 3:
                                        save_list.append(line)
                                        yes = 0
                                if yes == 1:
                                    print "ERROR: %s" % error_info
                                    save_list.append([1, error_times, error_info])
                            else:
                                print "ERROR: %s" % error_info
                                save_list.append([1, error_times, error_info])
                                error_num += 1
                    read_liens.close()
    if error_num == 0:
        print "OK!"
        exit(0)
    else:    
        fobj = open('/tmp/ilo_error.log','w')
        fobj.writelines(json.dumps(save_list))
        fobj.close()
        exit(1)
    Python资源分享qun 784758214 ,内有安装包,PDF,学习视频,这里是Python学习者的聚集地,零基础,进阶,都欢迎
    

    相关文章

      网友评论

        本文标题:【Python】通过python hp ilo对机器的状态进行监

        本文链接:https://www.haomeiwen.com/subject/ufeaqctx.html