Exemplo n.º 1
0
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
Exemplo n.º 2
0
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)