def reloadBackend(self): if self.result['code'] != 300: return self.cursor.execute("select MONITOR_ID from monitor where NAME = '%s' and PRODUCT = '%s'" % (self.monitorName, self.product)) result = self.cursor.fetchall() if result != None: monitor_id = result[0][0] zmonlib.controlBackend(monitor_id) self.result = {'code':200,'txt':u'提交成功'} else: self.result = {'code':400,'txt':u'重启后端失败'}
def reloadBackend(self): if self.result['code'] != 300: return self.cursor.execute( "select MONITOR_ID from monitor where NAME = '%s' and PRODUCT = '%s'" % (self.monitorName, self.product)) result = self.cursor.fetchall() if result != None: monitor_id = result[0][0] zmonlib.controlBackend(monitor_id) self.result = {'code': 200, 'txt': u'提交成功'} else: self.result = {'code': 400, 'txt': u'重启后端失败'}
def deleteMonitor(self): monitorId = self.input["id"] sql = "select NAME,PRODUCT from monitor where MONITOR_ID = '%s'" % monitorId result = zmonlib.ExecSql(sql) try: self.monitorName = result[0][0] self.product = result[0][1] except: self.result = {"code": 400, "txt": "get monitor faile"} cmd = ["ZMON_DELETE", str(self.monitorName), str(self.product)] # 停掉采集进程 zmonlib.controlBackend(monitorId, "ZMON_DELETE") # 删除关联的正则 regularIds = zmonlib.getRegularIds(monitorId) for regularId in regularIds: self.deleteRegular(regularId) # 删除监控和机器名的关联 result = self.deleteHostMonitor(monitorId) # 删除监控项 sql = "delete from monitor where MONITOR_ID = '%s'" % monitorId zmonlib.ExecSql(sql) # 删除redis中的数据 zmonlib.deleteRedis(str(self.product), str(self.monitorName)) self.result = {"code": 200, "txt": u"删除成功"}
def deleteMonitor(self): monitorId = self.input['id'] sql = "select NAME,PRODUCT from monitor where MONITOR_ID = '%s'" % monitorId result = zmonlib.ExecSql(sql) try: self.monitorName = result[0][0] self.product = result[0][1] except: self.result = {'code': 400, 'txt': 'get monitor faile'} cmd = ['ZMON_DELETE', str(self.monitorName), str(self.product)] #停掉采集进程 zmonlib.controlBackend(monitorId, 'ZMON_DELETE') #删除关联的正则 regularIds = zmonlib.getRegularIds(monitorId) for regularId in regularIds: self.deleteRegular(regularId) #删除监控和机器名的关联 result = self.deleteHostMonitor(monitorId) #删除监控项 sql = "delete from monitor where MONITOR_ID = '%s'" % monitorId zmonlib.ExecSql(sql) #删除redis中的数据 zmonlib.deleteRedis(str(self.product), str(self.monitorName)) self.result = {'code': 200, 'txt': u'删除成功'}
def updateMonitor(self): #读用户提交的数据 monitorId = self.input.get('id', None) logPath = self.input.get('LOGPATH', None) grep = self.input.get('GREP', None) grepv = self.input.get('GREPV', None) if monitorId == None or logPath==None or grep==None or grepv==None: self.result = {'code':400,'txt':u'未知监控项'} return #更新monitor sql = "update monitor set LOGPATH='%s',GREP='%s',GREPV='%s' where MONITOR_ID = '%s'" % (logPath, grep.replace('\\','\\\\'), grepv.replace('\\','\\\\'), monitorId) zmonlib.ExecSql(sql) #重启后端 ret = zmonlib.controlBackend(monitorId) if ret: self.result = {'code':200,'txt':u'修改成功'} else: self.result = {'code':400,'txt':u'重启后端失败'}
def updateMonitor(self): #读用户提交的数据 monitorId = self.input.get('id', None) logPath = self.input.get('LOGPATH', None) grep = self.input.get('GREP', None) grepv = self.input.get('GREPV', None) if monitorId == None or logPath == None or grep == None or grepv == None: self.result = {'code': 400, 'txt': u'未知监控项'} return #更新monitor sql = "update monitor set LOGPATH='%s',GREP='%s',GREPV='%s' where MONITOR_ID = '%s'" % ( logPath, grep.replace('\\', '\\\\'), grepv.replace( '\\', '\\\\'), monitorId) zmonlib.ExecSql(sql) #重启后端 ret = zmonlib.controlBackend(monitorId) if ret: self.result = {'code': 200, 'txt': u'修改成功'} else: self.result = {'code': 400, 'txt': u'重启后端失败'}
class Update(object): def __init__(self, input): self.input = input self.result = {'code': 300, 'txt': u'未知错误'} def update(self): if self.input['from'] == 'monitor': self.updateMonitor() elif self.input['from'] == 'hostlist': self.updateHost() elif self.input['from'] == 'regularlist': self.updateRegular() return json.dumps(self.result) def updateHost(self): pass def updateMonitor(self): #读用户提交的数据 monitorId = self.input.get('id', None) logPath = self.input.get('LOGPATH', None) grep = self.input.get('GREP', None) grepv = self.input.get('GREPV', None) if monitorId == None or logPath == None or grep == None or grepv == None: self.result = {'code': 400, 'txt': u'未知监控项'} return #更新monitor sql = "update monitor set LOGPATH='%s',GREP='%s',GREPV='%s' where MONITOR_ID = '%s'" % ( logPath, grep.replace('\\', '\\\\'), grepv.replace( '\\', '\\\\'), monitorId) zmonlib.ExecSql(sql) #重启后端 ret = zmonlib.controlBackend(monitorId) if ret: self.result = {'code': 200, 'txt': u'修改成功'} else: self.result = {'code': 400, 'txt': u'重启后端失败'} def updateRegular(self): #读用户提交的数据 monitorId = self.input.get('monitorid', None) if monitorId == None: self.result = {'code': 400, 'txt': u'未知监控项'} return regularId = self.input.get('id', None) if regularId == None: self.result = {'code': 400, 'txt': u'未知正则表达式ID'} return regularEx = self.input.get('regularex', None) if regularEx == None: self.result = {'code': 400, 'txt': u'未知正则表达式'} return #正则表达式是否正确 try: r = re.compile(regularEx) except Exception, e: raise web.internalerror(u'正则表达式有误,请注意检查,错误信息:[%s]' % e) return #更新正则 sql = "update regular set EXPRESSION='%s' where REGULAR_ID = '%s'" % ( regularEx.replace('\\', '\\\\'), regularId) zmonlib.ExecSql(sql) #重启后端 ret = zmonlib.controlBackend(monitorId) if ret: self.result = {'code': 200, 'txt': u'修改成功'} else: self.result = {'code': 400, 'txt': u'重启后端失败'}