def doPrintSwValue(sFlag, swName="isFixing"): ## 获取指定服区,指定开关名称的状态,传入两个参数: ## 1, 服区ID; 2, 开关名称(默认"isFixing") ## sFixing开关状态,返回"ON",表示正在维护; 返回"OFF",表示没有维护. ## 其它开关状态, 返回"ON",表示随时可以报警; 返回"OFF",表示报警已关闭. sDb = opRedis() ## 实例化 Redis库操作类 print sDb.read(sFlag, swName)
def __init__(self): clearCfg() ## 运行前清空配置文件 self.ethFileLists = glob.glob(DIRs['NETWORK_ROOT']+"ifcfg-eth*") #网卡列表 self.sDb = opRedis() ## 实例化 Redis库操作类 self.telIP = '' self.cncIP = '' self.ps1 = ''
def doUpdate(srvFlag, swStatus): ''' 修改指定服区的维护状态,"ON"为正在维护;"OFF"为正常运行 接收两个参数: 1, 服区ID; 2, 维护开关 ''' sDb = opRedis() ## 实例化 Redis库操作类 if not sDb.exists(srvFlag, 'srv'): ## 如果srvFlag不存在,初始化一次 sDb.initDb10(srvFlag) sDb.update(srvFlag, "isFixing", swStatus)
def doTruncate(): sDb = opRedis() ## 实例化 Redis库操作类 rObj = sDb.connect() rObj.flushdb()
from lib.collectMulInfo import ServerMultiInfo reload(sys) sys.setdefaultencoding('utf-8') ## 设置默认编码 saveLog.set_logger(filename="%sdbtx_monitor_alive.log" % DIRs['LOG_DIR']) ## 定义日志文件 def batchColData(srvFlag): colMulInfo = ServerMultiInfo(fixData, srvFlag) # 生成post数据(一机多服部分) colMulInfo.runCollMul() #推送到运维后台 if __name__ == "__main__": """获取本机存在的服列表""" srvs, flags = [x for x in glob.glob("/opt/dbtx/*_S*") if "ross_" not in x], [] ## 列表解析表达式, 过滤掉包含"ross_"的目录 if srvs: sDb = opRedis() ## 实例化 Redis库操作类 fp = open(DIRs['ROLE_TYPE_FILE']) #加载服务器角色文件 fc = fp.readlines() 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)
def __init__(self): self.sDb = opRedis() ## 实例化 Redis库操作类 self.data_for_post = ""
def __init__(self, data, iq): self.srvFlag = iq self.sDb = opRedis() ## 实例化 Redis库操作类 self.data_for_post = data