Changes between Version 17 and Version 18 of OperationalMonitoring/DatastorePolling


Ignore:
Timestamp:
03/17/14 14:27:04 (6 years ago)
Author:
rirwin@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OperationalMonitoring/DatastorePolling

    v17 v18  
    88This page describes the API to be used to poll Local datastores for monitoring data.   The API will be developed with a polling mechanism first.  Overview:
    99
    10  * Polls are done from the Aggregator to the Local datastore via a REST API which returns JSON text.  All JSON text is
     10 * Polls are done from the collector to the Local datastore via a REST API which returns JSON text.  All JSON text is
    1111
    12  * First, the Aggregator polls a Local datastore at '/info/' of the local store url to get information about what the datastore has.  This is done through multiple polls, outlined below. 
     12 * First, the Collector polls a Local datastore at '/info/' of the local store url to get information about what the datastore has.  This is done through multiple polls, outlined below. 
    1313
    14  * Second, the Aggregator polls for time-series data at '/data/' to get event-based or measurement data.  The query contains a set of event types, a set of object IDs, and timestamp filters, outlined below.
     14 * Second, the collector polls for time-series data at '/data/' to get event-based or measurement data.  The query contains a set of event types, a set of object IDs, and timestamp filters, outlined below.
    1515
    1616== Info Queries ==
    1717
    18 The aggregator retrieves from a config local datastore (to be developed and is hardcoded for now), a set of urls of local datastores that are associated with one or more aggregate managers (AMs).  This allows the aggregator to poll local datastores for information about the data associated with each local datastore and AM at <datastore_url>/info/aggregate/<aggregate_id>.  The information returned is a list of properties about the aggregate as well as a list of nodes, slivers, and VLANs (slivers and VLANs not implemented as of 17-Feb).   Here is  [wiki:OperationalMonitoring/DataSchema#Dataaboutanaggregate a detailed example of an aggregate info query].
     18The collector retrieves from a config local datastore (to be developed and is hardcoded for now), a set of urls of local datastores that are associated with one or more aggregate managers (AMs).  This allows the collector to poll local datastores for information about the data associated with each local datastore and AM at <datastore_url>/info/aggregate/<aggregate_id>.  The information returned is a list of properties about the aggregate as well as a list of nodes, slivers, and VLANs (slivers and VLANs not implemented as of 17-Feb).   Here is  [wiki:OperationalMonitoring/DataSchema#Dataaboutanaggregate a detailed example of an aggregate info query].
    1919
    20 The aggregator will then query for information about particular objects one at a time (i.e., a node).  The query returns a list of properties about the object as well as a list of associated objects (i.e., a node's interfaces).  In this example, a node info query will be at <datastore_url>/info/node/<node_id>.  Here is a [wiki:OperationalMonitoring/DataSchema#Dataaboutanode a detailed example of a node info query].  The aggregator would repeat for other nodes it received in the list in the aggregate info query.
     20The collector will then query for information about particular objects one at a time (i.e., a node).  The query returns a list of properties about the object as well as a list of associated objects (i.e., a node's interfaces).  In this example, a node info query will be at <datastore_url>/info/node/<node_id>.  Here is a [wiki:OperationalMonitoring/DataSchema#Dataaboutanode a detailed example of a node info query].  The collector would repeat for other nodes it received in the list in the aggregate info query.
    2121
    22 Depending on what the aggregator is supporting above it in the form of different monitoring applications, it may continue querying the local datastore about objects or resources it has data about.  They are of similar form.  Here are links to examples:
     22Depending on what the collector is supporting above it in the form of different monitoring applications, it may continue querying the local datastore about objects or resources it has data about.  They are of similar form.  Here are links to examples:
    2323
    2424 * [wiki:OperationalMonitoring/DataSchema#Dataaboutaninterface An example interface query]
    2525 * [wiki:OperationalMonitoring/DataSchema#DataaboutaGENIsliver An example sliver query]
    2626
    27 If the aggregator is tracking sliver and slice info, the aggregator may also be directed to a slice authority local datastore, which is a different datastore than one containing shared host nodes.  Here is a [wiki:OperationalMonitoring/DataSchema#Dataaboutasliceauthority detailed example slice query], and here is a [wiki:OperationalMonitoring/DataSchema#DataaboutaGENIuser detailed example of a user query].  Both of these queries are of similar form with <datastore_url>/info/slice/<slice_id> and <datastore_url>/info/user/<user_id> respectively.
     27If the collector is tracking sliver and slice info, the collector may also be directed to a slice authority local datastore, which is a different datastore than one containing shared host nodes.  Here is a [wiki:OperationalMonitoring/DataSchema#Dataaboutasliceauthority detailed example slice query], and here is a [wiki:OperationalMonitoring/DataSchema#DataaboutaGENIuser detailed example of a user query].  Both of these queries are of similar form with <datastore_url>/info/slice/<slice_id> and <datastore_url>/info/user/<user_id> respectively.
    2828
    2929As of 17-Feb, we currently do not support querying multiple objects in a single info query.  For example, <datastore_url>/info/node/ will not return all the nodes' info at that local datastore.
     
    3131== Data Queries ==
    3232
    33 Once an aggregator has information about the objects it wants to query, it can begin querying at <datastore_url>/data/.  The data queries require three filters and passed in a python dictionary format:
     33Once an collector has information about the objects it wants to query, it can begin querying at <datastore_url>/data/.  The data queries require three filters and passed in a python dictionary format:
    3434
    3535 * "eventType": is a list of events or measurements to query.  In the reference implementation these equate to database tables.  This page contains [wiki:OperationalMonitoring/DataForUseCases a list of eventTypes]
     
    5959== Security ==
    6060
    61 Each Local store authenticates and encrypts data to Aggregators using certificates.
     61Each Local store authenticates and encrypts data to collectors using certificates.
    6262
    6363