Exemplo n.º 1
0
        for ipLine in fc:
            if ipLine.split():  ## 去掉空行
                if ipLine.startswith("telIP"):
                    sIP = ipLine.split("=")[1].strip()  # 电信公网IP

        if time.gmtime().tm_min == 57 or not sDb.exists(sIP, "ip"):  ## 每小时的第57分钟,初始化公共报警开关
            sDb.initDb10(sIP)

        for srv in srvs:
            srvFlag = srv.split("/")[-1]
            flags.append(srvFlag)   #区服标识 plat_Sid
            if not sDb.exists(srvFlag, "srv"):  ## Redis库中不存在该服区标识,初始化一机多服配置报警开关
                sDb.initDb10(srvFlag)
        fixCfgStat = os.stat(DIRs["FIX_CFG_FILE"])  # 配置文件状态
        if fixCfgStat.st_size < 300:    ## 配置文件大小小于300字节,运行colFixInfo.runCollect()
            colFixInfo = ServerFixInfo()    # 获取本机信息,写入配置文件
            colFixInfo.runCollect()         #生成配置文件fixConfig.py,存放服务器信息
        else:
            if time.time() - fixCfgStat.st_ctime > 1985:  ## 生成时间是1985s以前,运行colFixInfo.runCollect()
                colFixInfo = ServerFixInfo()
                colFixInfo.runCollect()

        colPubInfo = ServerPubliceInfo()
        fixData = colPubInfo.runCollect()   #生成post数据(公共部分)
        runCmd("sh /data/sh/monitor/Alive/shell/runTop.sh")  ## 执行一次top命令,输出到指定文件
        #print fixData
        pool = Pool(18)
        resu = pool.map(batchColData, flags)    #多进程调用batchColData函数,参数为本机区服列表
        pool.close()
        pool.join()
Exemplo n.º 2
0
 def getRaidCard(self):
     try:
         runCmd("sh /data/sh/monitor/Alive/shell/runRaidCli.sh")
     except Exception,err:
         saveLog.error("getRaidCard() run runRaidCli.sh error occured: %s" % str(err))