コード例 #1
0
ファイル: admin_model.py プロジェクト: code-hippo/baadal2.0
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
コード例 #2
0
ファイル: admin_model.py プロジェクト: DhruvinPatel/baadal2.0
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
コード例 #3
0
ファイル: admin_model.py プロジェクト: DhruvinPatel/baadal2.0
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
コード例 #4
0
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
コード例 #5
0
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
コード例 #6
0
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
コード例 #7
0
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
コード例 #8
0
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
コード例 #9
0
ファイル: admin_model.py プロジェクト: DhruvinPatel/baadal2.0
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