def zoom_info(g_type): avg_ram_host=[] avg_cpu_host=[] root_info={} total_ram_host=[] total_cpu_host=[] total_hdd_host=[] if g_type=="host": graph_name="HOST DETAILS" hostvmlist = get_vm_groupby_hosts() else: graph_name="ORGANISATION DETAILS" hostvmlist = get_vm_groupby_organisations() root_info['name']=graph_name parent_util=[] for o_row in hostvmlist: rows=o_row['details'] if rows: child_info={} child_util=[] if g_type=="host": rrd_file_name=o_row['host_ip'].replace(".","_") util_data=fetch_rrd_data(rrd_file_name, period=VM_UTIL_24_HOURS, period_no=24) hdd=round(float(o_row['host_HDD'])/1024,2) host_info= " (RAM: "+str(o_row['host_RAM'])+" GB CPU: "+str( o_row['host_CPUs'])+" core HDD: "+str(hdd) + " TB)" host_ram_util=round(((util_data[0]/(o_row['host_RAM'] * 1024*1024*1024))*100), 2) host_cpu_util=round((float(util_data[1])*100)/(float(int(o_row['host_CPUs'])*5*60*1000000000)),2) child_info["name"]=str(o_row['host_ip'])+" "+str(host_info) + ":: UTILIZATION MEM: " +str(host_ram_util) +"% " +" CPU: "+str(host_cpu_util) + "%" avg_ram_host.append(host_ram_util) avg_cpu_host.append(host_cpu_util) total_ram_host.append(o_row['host_RAM']) total_cpu_host.append(o_row['host_CPUs']) total_hdd_host.append(hdd) else: child_info["name"]=o_row['org_name'] for row in rows: vm_info={} vm_util=[] rrd_file_name=row['identity'] util_data=fetch_rrd_data(rrd_file_name, period=VM_UTIL_24_HOURS, period_no=24) ram_utilization=round(((util_data[0]/(float(row["RAM"].split(" ")[0])* 1024*1024*1024))*100), 2) cpu_utilization=round((float(util_data[1])*100)/(float(int(row['vcpus'].split(" ")[0])*5*60*1000000000)),2) vm_info['name']=str(row['name']) + " ("+ str(row['RAM'])+" "+str( row['vcpus'])+" "+str(row['hdd']) + "GB) mem: " + str(ram_utilization) + "% cpu: " + str(cpu_utilization) + "%" child_util.append(vm_info) child_info["children"]=child_util parent_util.append(child_info) if g_type=="host": avg_ram=get_avg_utilizations_hosts(avg_ram_host) avg_cpu=get_avg_utilizations_hosts(avg_cpu_host) avl_ram=sum(total_ram_host) avl_cpu=sum(total_cpu_host) avl_hdd=sum(total_hdd_host) all_host_info= " (RAM: "+str(avl_ram)+" GB CPU: "+str(avl_cpu)+" core HDD: "+str(avl_hdd) + " TB)" root_info['name']="HOST DETAILS :" + str(all_host_info) + " :: UTILIZATION MEM: " + str(round(avg_ram,2)) + "% CPU: " + str(round(avg_cpu,2)) +"%" root_info['children']=parent_util return root_info
def get_host_util_data(util_period): hosts = db(db.host.status == HOST_STATUS_UP).select() host_util_dict = {} for host_info in hosts: host_identity = str(host_info.host_ip.private_ip).replace('.','_') util_result = fetch_rrd_data(host_identity, int(util_period)) total_mem_kb = host_info.RAM * GIGABYTE mem_util=(util_result[0]/float(total_mem_kb))*100 cpu_percent = round((float(util_result[1])*100)/(float(int(host_info.CPUs)*5*60*1000000000)),2) element = {'Memory' : str(round(mem_util,2)) + "%", 'CPU' : str(cpu_percent) + "%"} logger.debug(element) host_util_dict[host_info.id] = element return host_util_dict
def get_vm_util_data(util_period): vms = db(db.vm_data.status.belongs(VM_STATUS_RUNNING, VM_STATUS_SUSPENDED, VM_STATUS_SHUTDOWN)).select() vmlist = [] for vm in vms: util_result = fetch_rrd_data(vm.vm_identity, util_period) logger.debug(str(vm.vm_name)+ str(util_result)) cpu_percent = round((float(util_result[1])*100)/(float(int(vm.vCPU)*5*60*1000000000)),2) element = {'vm_id' : vm.id, 'vm_name' : vm.vm_name, 'memory' : round(((util_result[0]/(vm.RAM * 1024*1024))*100), 2), 'cpu' : cpu_percent, 'diskr' : round(util_result[2], 2), 'diskw' : round(util_result[3], 2), 'nwr' : round(util_result[4], 2), 'nww' : round(util_result[5], 2)} vmlist.append(element) return vmlist
def get_host_util_data(util_period): hosts = db(db.host.status == HOST_STATUS_UP).select() host_util_dict = {} for host_info in hosts: host_identity = str(host_info.host_ip).replace('.', '_') util_result = fetch_rrd_data(host_identity, int(util_period)) total_mem_kb = host_info.RAM * GIGABYTE mem_util = (util_result[0] / float(total_mem_kb)) * 100 element = { 'Memory': str(round(mem_util, 2)) + "%", 'CPU': str(round(util_result[1], 2)) + "%" } host_util_dict[host_info.id] = element return host_util_dict
def zoom_info(g_type): avg_ram_host=[] avg_cpu_host=[] root_info={} total_ram_host=[] total_cpu_host=[] total_hdd_host=[] if g_type=="host": graph_name="HOST DETAILS" hostvmlist = get_vm_groupby_hosts() else: graph_name="ORGANISATION DETAILS" hostvmlist = get_vm_groupby_organisations() root_info['name']=graph_name parent_util=[] for o_row in hostvmlist: rows=o_row['details'] if rows: child_info={} child_util=[] if g_type=="host": rrd_file_name=o_row['host_ip'].replace(".","_") util_data=fetch_rrd_data(rrd_file_name, period=VM_UTIL_24_HOURS, period_no=24) hdd=round(float(o_row['host_HDD'])/1024,2) host_info= " (RAM: "+str(o_row['host_RAM'])+" GB CPU: "+str( o_row['host_CPUs'])+" core HDD: "+str(hdd) + " TB)" host_ram_util=round(((util_data[0]/(o_row['host_RAM'] * 1024*1024*1024))*100), 2) host_cpu_util=round((float(util_data[1])*100)/(float(int(o_row['host_CPUs'])*5*60*1000000000)),2) child_info["name"]=str(o_row['host_ip'])+" "+str(host_info) + ":: UTILIZATION MEM: " +str(host_ram_util) +"% " +" CPU: "+str(host_cpu_util) + "%" child_info["children"]=child_util parent_util.append(child_info) if g_type=="host": avg_ram=get_avg_utilizations_hosts(avg_ram_host) avg_cpu=get_avg_utilizations_hosts(avg_cpu_host) avl_ram=sum(total_ram_host) avl_cpu=sum(total_cpu_host) avl_hdd=sum(total_hdd_host) all_host_info= " (RAM: "+str(avl_ram)+" GB CPU: "+str(avl_cpu)+" core HDD: "+str(avl_hdd) + " TB)" root_info['name']="HOST DETAILS :" + str(all_host_info) + " :: UTILIZATION MEM: " + str(round(avg_ram,2)) + "% CPU: " + str(round(avg_cpu,2)) +"%" root_info['children']=parent_util return root_info
def get_vm_util_data(util_period): vms = db( db.vm_data.status.belongs(VM_STATUS_RUNNING, VM_STATUS_SUSPENDED, VM_STATUS_SHUTDOWN)).select() vmlist = [] for vm in vms: util_result = fetch_rrd_data(vm.vm_identity, util_period) element = { 'vm_id': vm.id, 'vm_name': vm.vm_name, 'memory': round(util_result[0] / (vm.RAM * MEGABYTE), 2), 'cpu': round(util_result[1], 2), 'diskr': round(util_result[2], 2), 'diskw': round(util_result[3], 2), 'nwr': round(util_result[4], 2), 'nww': round(util_result[5], 2) } vmlist.append(element) return vmlist
def tree_info(g_type): logger.debug("fetching info.....................") root_info={} child_list=[] if g_type=="host": graph_name="HOST DETAILS" hostvmlist = get_vm_groupby_hosts() else: graph_name="ORGANISATION DETAILS" hostvmlist = get_vm_groupby_organisations() root_info["name"]=graph_name for o_row in hostvmlist: rows=o_row['details'] if rows: child_info={} child_util=[] c_inf=[] c_info={} if g_type=="host": rrd_file_name=o_row['host_ip'].replace(".","_") util_data=fetch_rrd_data(rrd_file_name, period=VM_UTIL_24_HOURS, period_no=24) host_info= str(o_row['host_RAM'])+"GB "+str( o_row['host_CPUs'])+"core "+str(o_row['host_HDD']) + "GB" c_info['name']=str(o_row['host_ip']) +"("+ str(host_info)+")" child_info["name"]="CPU "+str(util_data[0]) +"% MEM " +str(round(((util_data[1]/(o_row['host_RAM'] * 1024*1024))*100), 2)) +"% -- DISK READ " +str(round(util_data[2], 2))+ "% -- DISK WRITE " +str(round(util_data[3], 2))+"% --NET READ" + str(round(util_data[4], 2)) +"% -- NET WRITE" +str(round(util_data[5], 2)) else: child_info["name"]=o_row['org_name'] for row in rows: vm_info={} vm_util=[] cpu_info={} mem_info={} disk_info={} net_info={} rrd_file_name=row['identity'] util_data=fetch_rrd_data(rrd_file_name, period=VM_UTIL_24_HOURS, period_no=24) logger.debug(util_data) cpu=row["vcpus"] ram=row["RAM"] hdd=row["hdd"] cpu_info['size']=3938 mem_info['size']=3938 disk_info['size']=3938 net_info['size']=3938 ram_utilization=round((util_data[1]/float(ram.split(" ")[0])*1024*1024*100), 2) logger.debug(ram_utilization) cpu_info['name']="cpuinfo: " + str(cpu) + "----Utilization---> " + str(util_data[0]) + "%" mem_info['name']="meminfo: " +str(ram) + "----Utilization--->" + str(ram_utilization) + "%" disk_info['name']="diskinfo: "+str(hdd) + " GB----Utilization Disk read--->" + str(round(util_data[2], 2)) + "% Disk write " + str(round(util_data[3], 2)) +" %" net_info['name']="netinfo: Utilization Network read--->" + str(round(util_data[4], 2)) + "% Nework write--->" + str(round(util_data[5], 2)) + " %" vm_util.append(cpu_info) vm_util.append(mem_info) vm_util.append(disk_info) vm_util.append(net_info) vm_info["name"]="VM Name---->"+ str(row['name']) vm_info["children"]=vm_util child_util.append(vm_info) child_info["children"]=child_util c_inf.append(child_info) c_info['children']=c_inf child_list.append(c_info) root_info['children']=child_list return root_info