def _datapoint_labels(idx_host, idx_agent, labels): """Get datapoint IDXes for a host / agent with specific labels. Args: idx_host: Host index idx_agent: Agent index labels: Labels to match Returns: listing: List of datap """ # Initialize key variables listing = [] # Get datapoints the agent is tracking for the host metadata = db_datapoint.datapoint_host_agent(idx_host, idx_agent) for data_dict in metadata: agent_label = data_dict['agent_label'] idx_datapoint = data_dict['idx'] if agent_label in labels: listing.append(idx_datapoint) # Return return listing
def search_host(idx_host, idx_agent): """Function for showing all data for all DIDs. Args: idx_host: IDX of Host idx_agent: IDX of Agent Returns: overview page """ # Initialize key variables data = [] # Get Hostname hostname = db_host.GetIDX(idx_host).hostname() # Get agent details agent_name = db_agent.GetIDX(idx_agent).name() uid = db_agent.GetIDX(idx_agent).uid() # Get a description of the datapoint lang = language.Agent(agent_name) # Get datapoints charting host metrics metadata = db_datapoint.datapoint_host_agent(idx_host, idx_agent) for data_dict in metadata: # Create datapoint object idx_datapoint = data_dict['idx'] timestamp = data_dict['last_timestamp'] source = data_dict['agent_source'] agent_label = data_dict['agent_label'] final_description = '' # Get a description of the datapoint label_description = lang.label_description(agent_label) if bool(label_description) is True: final_description = label_description else: final_description = agent_label # Get datapoint source datex = datetime.fromtimestamp( timestamp).strftime('%H:%M %d-%b-%Y') # Append to data data.append( (hostname, agent_name, source, final_description, idx_datapoint, uid, datex) ) # Sort list by label_description and source data = sorted(data, key=operator.itemgetter(3, 2)) # Render data on screen return render_template( 'search-host.html', idx_host=idx_host, agent_list=data)