def graph_glob(rrds_dir, imgs_dir): glob_rrds_dir = os.path.join(rrds_dir, 'glob') try: mkdirs(glob_rrds_dir) except: raise load_rrd_path = os.path.join(glob_rrds_dir, 'load.rrd') mem_rrd_path = os.path.join(glob_rrds_dir, 'mem.rrd') swap_rrd_path = os.path.join(glob_rrds_dir, 'swap.rrd') nw_rrd_path = os.path.join(glob_rrds_dir, 'nw.rrd') iops_rrd_path = os.path.join(glob_rrds_dir, 'iops.rrd') disk_rrd_path = os.path.join(glob_rrds_dir, 'disk.rrd') glob_imgs_dir = os.path.join(imgs_dir, 'glob') try: mkdirs(glob_imgs_dir) except: raise load_img_path = os.path.join(glob_imgs_dir, 'load.png') mem_img_path = os.path.join(glob_imgs_dir, 'mem.png') swap_img_path = os.path.join(glob_imgs_dir, 'swap.png') nw_img_path = os.path.join(glob_imgs_dir, 'nw.png') iops_img_path = os.path.join(glob_imgs_dir, 'iops.png') disk_img_path = os.path.join(glob_imgs_dir, 'disk.png') try: if os.path.exists(load_rrd_path): load.graph(load_rrd_path, load_img_path) if os.path.exists(mem_rrd_path): mem.graph(mem_rrd_path, mem_img_path) if os.path.exists(swap_rrd_path): swap.graph(swap_rrd_path, swap_img_path) if os.path.exists(nw_rrd_path): nw.graph(nw_rrd_path, nw_img_path) if os.path.exists(iops_rrd_path): iops.graph(iops_rrd_path, iops_img_path) if os.path.exists(disk_rrd_path): disk.graph(disk_rrd_path, disk_img_path) except: raise
def update_glob(rrds_dir, glob_moni): glob_rrds_dir = os.path.join(rrds_dir, 'glob') try: mkdirs(glob_rrds_dir) except: raise load_rrd_path = os.path.join(glob_rrds_dir, 'load.rrd') mem_rrd_path = os.path.join(glob_rrds_dir, 'mem.rrd') swap_rrd_path = os.path.join(glob_rrds_dir, 'swap.rrd') nw_rrd_path = os.path.join(glob_rrds_dir, 'nw.rrd') iops_rrd_path = os.path.join(glob_rrds_dir, 'iops.rrd') disk_rrd_path = os.path.join(glob_rrds_dir, 'disk.rrd') try: if 'load' in glob_moni.keys() and glob_moni['load']: load.update(load_rrd_path, glob_moni['load']) if 'mem' in glob_moni.keys() and glob_moni['mem']: mem.update(mem_rrd_path, glob_moni['mem']) if 'swap' in glob_moni.keys() and glob_moni['swap']: swap.update(swap_rrd_path, glob_moni['swap']) if 'nw' in glob_moni.keys() and glob_moni['nw']: nw.update(nw_rrd_path, glob_moni['nw']) if 'iops' in glob_moni.keys() and glob_moni['iops']: iops.update(iops_rrd_path, glob_moni['iops']) if 'disk' in glob_moni.keys() and glob_moni['disk']: disk.update(disk_rrd_path, glob_moni['disk']) except: raise
def GET(self): try: id = web.input().id except: id = 1 moni_nodes = bridge_moni.node(id=id) ######################################################### node = bridge_node.node_list(id=id)[0] img_urls = [] node_dir = os.path.join(ua_conf.rrd_imgs_dir, str(node['rack']), str(node['id'])) try: mkdirs(node_dir) except: raise load_img_path = os.path.join(node_dir, 'load.png') mem_img_path = os.path.join(node_dir, 'mem.png') swap_img_path = os.path.join(node_dir, 'swap.png') nw_img_path = os.path.join(node_dir, 'nw.png') iops_img_path = os.path.join(node_dir, 'iops.png') img_urls.append(load_img_path) img_urls.append(mem_img_path) img_urls.append(swap_img_path) img_urls.append(nw_img_path) img_urls.append(iops_img_path) ############################################################# return render.node_dtls(node=moni_nodes[0], img_urls=img_urls)
def update_nodes(rrds_dir, nodes_moni): """ :param node: dict of the node, like: {'id':1, 'rack':1}, :param node: dict of the node would be updated into rrd, likes: {'load':[], 'mem':[], 'swap':[], 'nw':[], 'iops':[]} """ for node in nodes_moni: node_dir = os.path.join(rrds_dir, str(node['rack']), str(node['id'])) try: mkdirs(node_dir) except: raise load_rrd_path = os.path.join(node_dir, 'load.rrd') mem_rrd_path = os.path.join(node_dir, 'mem.rrd') swap_rrd_path = os.path.join(node_dir, 'swap.rrd') nw_rrd_path = os.path.join(node_dir, 'nw.rrd') iops_rrd_path = os.path.join(node_dir, 'iops.rrd') disk_rrd_path = os.path.join(node_dir, 'disk.rrd') try: if 'load' in node.keys() and node['load']: load.update(load_rrd_path, node['load']) if 'mem' in node.keys() and node['mem']: mem.update(mem_rrd_path, node['mem']) if 'swap' in node.keys() and node['swap']: swap.update(swap_rrd_path, node['swap']) if 'nw' in node.keys() and node['nw']: nw.update(nw_rrd_path, node['nw']) if 'iops' in node.keys() and node['iops']: iops.update(iops_rrd_path, node['iops']) if 'disk' in node.keys() and node['disk']: disk.update(disk_rrd_path, node['disk']) except: raise
def update_racks(rrds_dir, racks_moni): for rack_id in racks_moni.keys(): rack_rrds_dir = os.path.join(rrds_dir, str(rack_id), 'rack') try: mkdirs(rack_rrds_dir) except: raise load_rrd_path = os.path.join(rack_rrds_dir, 'load.rrd') mem_rrd_path = os.path.join(rack_rrds_dir, 'mem.rrd') swap_rrd_path = os.path.join(rack_rrds_dir, 'swap.rrd') nw_rrd_path = os.path.join(rack_rrds_dir, 'nw.rrd') iops_rrd_path = os.path.join(rack_rrds_dir, 'iops.rrd') disk_rrd_path = os.path.join(rack_rrds_dir, 'disk.rrd') try: if 'load' in racks_moni[rack_id].keys() and racks_moni[rack_id]['load']: load.update(load_rrd_path, racks_moni[rack_id]['load']) if 'mem' in racks_moni[rack_id].keys() and racks_moni[rack_id]['mem']: mem.update(mem_rrd_path, racks_moni[rack_id]['mem']) if 'swap' in racks_moni[rack_id].keys() and racks_moni[rack_id]['swap']: swap.update(swap_rrd_path, racks_moni[rack_id]['swap']) if 'nw' in racks_moni[rack_id].keys() and racks_moni[rack_id]['nw']: nw.update(nw_rrd_path, racks_moni[rack_id]['nw']) if 'iops' in racks_moni[rack_id].keys() and racks_moni[rack_id]['iops']: iops.update(iops_rrd_path, racks_moni[rack_id]['iops']) if 'disk' in racks_moni[rack_id].keys() and racks_moni[rack_id]['disk']: disk.update(disk_rrd_path, racks_moni[rack_id]['disk']) except: raise
def local_create(rrd_path, cmd): if not rrd_path.endswith('.rrd'): raise Exception('Error: wrong rrd file path.') rrd_dir = '/'.join(rrd_path.split('/')[0:-1]) try: mkdirs(rrd_dir) except: raise if not os.path.exists(rrd_path): try: local_exec(cmd) except: raise
def graph_nodes(rrds_dir, imgs_dir, node=None): """ :param node: dict of the node, like: {'id':1, 'rack':1} """ if node: nodes = [node] else: try: nodes = bridge_node.node_list() except: raise for n in nodes: node_dir = os.path.join(rrds_dir, str(n['rack']), str(n['id'])) try: mkdirs(node_dir) except: raise load_rrd_path = os.path.join(node_dir, 'load.rrd') mem_rrd_path = os.path.join(node_dir, 'mem.rrd') swap_rrd_path = os.path.join(node_dir, 'swap.rrd') nw_rrd_path = os.path.join(node_dir, 'nw.rrd') iops_rrd_path = os.path.join(node_dir, 'iops.rrd') disk_rrd_path = os.path.join(node_dir, 'disk.rrd') imgs_node_dir = os.path.join(imgs_dir, str(n['rack']), str(n['id'])) try: mkdirs(imgs_node_dir) except: raise load_img_path = os.path.join(imgs_node_dir, 'load.png') mem_img_path = os.path.join(imgs_node_dir, 'mem.png') swap_img_path = os.path.join(imgs_node_dir, 'swap.png') nw_img_path = os.path.join(imgs_node_dir, 'nw.png') iops_img_path = os.path.join(imgs_node_dir, 'iops.png') disk_img_path = os.path.join(imgs_node_dir, 'disk.png') try: if os.path.exists(load_rrd_path): load.graph(load_rrd_path, load_img_path) if os.path.exists(mem_rrd_path): mem.graph(mem_rrd_path, mem_img_path) if os.path.exists(swap_rrd_path): swap.graph(swap_rrd_path, swap_img_path) if os.path.exists(nw_rrd_path): nw.graph(nw_rrd_path, nw_img_path) if os.path.exists(iops_rrd_path): iops.graph(iops_rrd_path, iops_img_path) if os.path.exists(disk_rrd_path): disk.graph(disk_rrd_path, disk_img_path) except: raise
def graph_racks(rrds_dir, imgs_dir, rack=None): if rack: racks = [rack] else: # ro = RackOpt() # racks = ro.select() try: racks = bridge_node.rack_list() except: raise for rack in racks: # print "rack:", rack rack_rrds_dir = os.path.join(rrds_dir, str(rack['id']), 'rack') try: mkdirs(rack_rrds_dir) except: raise load_rrd_path = os.path.join(rack_rrds_dir, 'load.rrd') mem_rrd_path = os.path.join(rack_rrds_dir, 'mem.rrd') swap_rrd_path = os.path.join(rack_rrds_dir, 'swap.rrd') nw_rrd_path = os.path.join(rack_rrds_dir, 'nw.rrd') iops_rrd_path = os.path.join(rack_rrds_dir, 'iops.rrd') disk_rrd_path = os.path.join(rack_rrds_dir, 'disk.rrd') rack_imgs_dir = os.path.join(imgs_dir, str(rack['id']), 'rack') try: mkdirs(rack_imgs_dir) except: raise load_img_path = os.path.join(rack_imgs_dir, 'load.png') mem_img_path = os.path.join(rack_imgs_dir, 'mem.png') swap_img_path = os.path.join(rack_imgs_dir, 'swap.png') nw_img_path = os.path.join(rack_imgs_dir, 'nw.png') iops_img_path = os.path.join(rack_imgs_dir, 'iops.png') disk_img_path = os.path.join(rack_imgs_dir, 'disk.png') try: if os.path.exists(load_rrd_path): load.graph(load_rrd_path, load_img_path) if os.path.exists(mem_rrd_path): mem.graph(mem_rrd_path, mem_img_path) if os.path.exists(swap_rrd_path): swap.graph(swap_rrd_path, swap_img_path) if os.path.exists(nw_rrd_path): nw.graph(nw_rrd_path, nw_img_path) if os.path.exists(iops_rrd_path): iops.graph(iops_rrd_path, iops_img_path) if os.path.exists(disk_rrd_path): disk.graph(disk_rrd_path, disk_img_path) except: raise
def local_create(rrd_path, cmd): if not rrd_path.endswith(".rrd"): raise Exception("Error: wrong rrd file path.") rrd_dir = "/".join(rrd_path.split("/")[0:-1]) try: mkdirs(rrd_dir) except: raise if not os.path.exists(rrd_path): try: local_exec(cmd) except: raise
def POST(self): input = web.input() try: nodes = bridge_node.node_list() except: print "-------------- %s , get message error," % (edog_host) raise web.internalerror(message="%s, get message error," % (edog_host)) # print nodes if not nodes: return render.node_rrd(tip='No node in uss!', img_urls=[]) img_urls = [] for n in nodes: node_dir = os.path.join(ua_conf.rrd_imgs_dir, str(n['rack']), str(n['id'])) try: mkdirs(node_dir) except: raise load_img_path = os.path.join(node_dir, 'load.png') mem_img_path = os.path.join(node_dir, 'mem.png') swap_img_path = os.path.join(node_dir, 'swap.png') nw_img_path = os.path.join(node_dir, 'nw.png') iops_img_path = os.path.join(node_dir, 'iops.png') disk_img_path = os.path.join(node_dir, 'disk.png') if input.attr == 'load': img_urls.append([n['ip'], load_img_path]) elif input.attr == 'mem': img_urls.append([n['ip'], mem_img_path]) elif input.attr == 'swap': img_urls.append([n['ip'], swap_img_path]) elif input.attr == 'nw': img_urls.append([n['ip'], nw_img_path]) elif input.attr == 'iops': img_urls.append([n['ip'], iops_img_path]) elif input.attr == 'disk': img_urls.append([n['ip'], disk_img_path]) else: img_urls.append([n['ip'], load_img_path]) return render.node_rrd(tip='', img_urls=img_urls)
def GET(self): img_urls = [] glob_imgs_dir = os.path.join(ua_conf.rrd_imgs_dir, 'glob') try: mkdirs(glob_imgs_dir) except: raise load_img_path = os.path.join(glob_imgs_dir, 'load.png') mem_img_path = os.path.join(glob_imgs_dir, 'mem.png') swap_img_path = os.path.join(glob_imgs_dir, 'swap.png') nw_img_path = os.path.join(glob_imgs_dir, 'nw.png') iops_img_path = os.path.join(glob_imgs_dir, 'iops.png') disk_img_path = os.path.join(glob_imgs_dir, 'disk.png') img_urls.append(load_img_path) img_urls.append(mem_img_path) img_urls.append(swap_img_path) img_urls.append(nw_img_path) img_urls.append(iops_img_path) img_urls.append(disk_img_path) ############################################################# #下面这条语句加上后会造成刷新的时间短于预设的值。 # web.header('Cache-Control', 'no-cache, must-revalidate') return render.glob_rrd(tip='', img_urls=img_urls)
def update_racks(rrds_dir, racks_moni): for rack_id in racks_moni.keys(): rack_rrds_dir = os.path.join(rrds_dir, str(rack_id), 'rack') try: mkdirs(rack_rrds_dir) except: raise load_rrd_path = os.path.join(rack_rrds_dir, 'load.rrd') mem_rrd_path = os.path.join(rack_rrds_dir, 'mem.rrd') swap_rrd_path = os.path.join(rack_rrds_dir, 'swap.rrd') nw_rrd_path = os.path.join(rack_rrds_dir, 'nw.rrd') iops_rrd_path = os.path.join(rack_rrds_dir, 'iops.rrd') disk_rrd_path = os.path.join(rack_rrds_dir, 'disk.rrd') try: if 'load' in racks_moni[rack_id].keys( ) and racks_moni[rack_id]['load']: load.update(load_rrd_path, racks_moni[rack_id]['load']) if 'mem' in racks_moni[rack_id].keys( ) and racks_moni[rack_id]['mem']: mem.update(mem_rrd_path, racks_moni[rack_id]['mem']) if 'swap' in racks_moni[rack_id].keys( ) and racks_moni[rack_id]['swap']: swap.update(swap_rrd_path, racks_moni[rack_id]['swap']) if 'nw' in racks_moni[rack_id].keys( ) and racks_moni[rack_id]['nw']: nw.update(nw_rrd_path, racks_moni[rack_id]['nw']) if 'iops' in racks_moni[rack_id].keys( ) and racks_moni[rack_id]['iops']: iops.update(iops_rrd_path, racks_moni[rack_id]['iops']) if 'disk' in racks_moni[rack_id].keys( ) and racks_moni[rack_id]['disk']: disk.update(disk_rrd_path, racks_moni[rack_id]['disk']) except: raise
def POST(self): input = web.input() try: nodes = bridge_node.node_list() except: print "-------------- %s , get message error,"%(edog_host) raise web.internalerror(message = "%s, get message error,"%(edog_host)) # print nodes if not nodes: return render.node_rrd(tip='No node in uss!', img_urls=[]) img_urls = [] for n in nodes: node_dir = os.path.join(ua_conf.rrd_imgs_dir, str(n['rack']), str(n['id'])) try: mkdirs(node_dir) except: raise load_img_path = os.path.join(node_dir, 'load.png') mem_img_path = os.path.join(node_dir, 'mem.png') swap_img_path = os.path.join(node_dir, 'swap.png') nw_img_path = os.path.join(node_dir, 'nw.png') iops_img_path = os.path.join(node_dir, 'iops.png') disk_img_path = os.path.join(node_dir, 'disk.png') if input.attr == 'load': img_urls.append([n['ip'],load_img_path]) elif input.attr == 'mem': img_urls.append([n['ip'],mem_img_path]) elif input.attr == 'swap': img_urls.append([n['ip'],swap_img_path]) elif input.attr == 'nw': img_urls.append([n['ip'],nw_img_path]) elif input.attr == 'iops': img_urls.append([n['ip'],iops_img_path]) elif input.attr == 'disk': img_urls.append([n['ip'],disk_img_path]) else: img_urls.append([n['ip'],load_img_path]) return render.node_rrd(tip='', img_urls=img_urls)
class Log(WsgiLog): '''对wsgi进行了定制,把TimeRotatingFileHandler 换成了RotatingFileHandler ''' def __init__(self, application): WsgiLog.__init__( self, application, logformat = '%(asctime)s-%(message)s', tofile = True, toprint = True, file = ua_main_log_file, ) if __name__ == "__main__": mkdirs(os.path.dirname(ua_main_log_file)) with open(ua_main_log_file, 'a') as f: print "ua_path", ua_path print os.getcwd() if not ua_path == os.getcwd(): f.write("your pwd is not %s, please cd %s \n"%(ua_path, ua_path)) sys.exit() print 'edog_host:%s'%(edog_host) print 'edog_port:%s'%(edog_port) f.write('edog_host:%s \n'%(edog_host)) f.write('edog_port:%s \n'%(edog_port)) if not os.path.isdir(os.path.dirname(ua_main_pid_file)): os.makedirs(os.path.dirname(ua_main_pid_file)) if os.path.isfile(ua_main_pid_file): with open(ua_main_pid_file, "r") as f: old_pid = f.read().strip()
) app = web.application(urls, locals()) if not os.path.isdir(os.path.dirname(ear_log_path)): os.makedirs(os.path.dirname(ear_log_path)) ear_log = get_log("ear", ear_log_path) alert_db = LocalSqliteDB('alert', db_dir, sql_dir) alert_db = os.path.join(db_dir, 'alert.db') ASYNC_EVENTS_LOG_PATH = os.path.join(ua_data_path, 'store/log/async_events.log') async_events_log_dir = os.path.dirname(ASYNC_EVENTS_LOG_PATH) if not os.path.exists(async_events_log_dir): mkdirs(async_events_log_dir) def get_async_log(): my_logger = logging.getLogger("async_log") my_logger.setLevel(logging.DEBUG) i = 10 #单位是一兆。 handler = logging.handlers.RotatingFileHandler(ASYNC_EVENTS_LOG_PATH, maxBytes=1024000 * i, backupCount=5) handler.setLevel(logging.DEBUG) formatter = logging.Formatter("%(message)s") handler.setFormatter(formatter) my_logger.addHandler(handler) return my_logger
render = render_jinja('webapps/ear/templates', encoding='utf-8',) app = web.application(urls, locals()) if not os.path.isdir(os.path.dirname(ear_log_path)): os.makedirs(os.path.dirname(ear_log_path)) ear_log = get_log("ear", ear_log_path) alert_db = LocalSqliteDB('alert', db_dir, sql_dir) alert_db = os.path.join(db_dir, 'alert.db') ASYNC_EVENTS_LOG_PATH = os.path.join(ua_data_path, 'store/log/async_events.log') async_events_log_dir = os.path.dirname(ASYNC_EVENTS_LOG_PATH) if not os.path.exists(async_events_log_dir): mkdirs(async_events_log_dir) def get_async_log(): my_logger = logging.getLogger("async_log") my_logger.setLevel(logging.DEBUG) i = 10 #单位是一兆。 handler = logging.handlers.RotatingFileHandler( ASYNC_EVENTS_LOG_PATH, maxBytes = 1024000*i, backupCount = 5 ) handler.setLevel(logging.DEBUG) formatter = logging.Formatter("%(message)s") handler.setFormatter(formatter) my_logger.addHandler(handler) return my_logger async_log = get_async_log()