Changes between Version 9 and Version 10 of OperationalMonitoring/DataSchema20


Ignore:
Timestamp:
08/27/14 20:43:53 (5 years ago)
Author:
dwiggins@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OperationalMonitoring/DataSchema20

    v9 v10  
    11[[PageOutline]]
    22
    3 == JSON Schemas for Replies to REST API calls ==
     3== REST calls and JSON Replies for Monitoring Data ==
     4
     5Monitoring data collectors make REST calls to monitoring datastores.  Datastores reply with JSON data that conforms to a JSON schema that is specific to the type of REST call being responded to.
    46All of these schemas inherit from the [http://unis.incntre.iu.edu/schema/20120709/networkresource UNIS network resource schema] with the exception of the opsconfig schema.
    5 
    6  * [http://www.gpolab.bbn.com/monitoring/schema/20140828/opsconfig opsconfig]: operational configuration metadata, including locations of and information about other datastores [http://www.gpolab.bbn.com/monitoring/schema/20140828/opsconfig.schema.jwc opsconfig schema with comments]
    7  * [http://www.gpolab.bbn.com/monitoring/schema/20140828/aggregate aggregate]: data about an aggregate (including lists of resources and slivers at that aggregate, and where to look for measurements about the aggregate) [http://www.gpolab.bbn.com/monitoring/schema/20140828/aggregate.schema.jwc aggregate schema with comments]
    8  * [http://www.gpolab.bbn.com/monitoring/schema/20140828/node node]: data about a node [http://www.gpolab.bbn.com/monitoring/schema/20140828/node.schema.jwc node schema with comments]
    9  * [http://www.gpolab.bbn.com/monitoring/schema/20140828/interface interface]: data about a network interface [http://www.gpolab.bbn.com/monitoring/schema/20140828/interface.schema.jwc interface schema with comments]
    10  * [http://www.gpolab.bbn.com/monitoring/schema/20140828/interfacevlan interfacevlan]: data about a tagged VLAN subinterface of a network interface [http://www.gpolab.bbn.com/monitoring/schema/20140828/interfacevlan.schema.jwc interfacevlan schema with comments]
    11  * [http://www.gpolab.bbn.com/monitoring/schema/20140828/sliver sliver]: data about a sliver at an aggregate [http://www.gpolab.bbn.com/monitoring/schema/20140828/sliver.schema.jwc sliver schema with comments]
    12  * [http://www.gpolab.bbn.com/monitoring/schema/20140828/authority authority]: data about a GENI authority [http://www.gpolab.bbn.com/monitoring/schema/20140828/authority.schema.jwc authority schema with comments]
    13  * [http://www.gpolab.bbn.com/monitoring/schema/20140828/slice slice]: data about a slice at an authority [http://www.gpolab.bbn.com/monitoring/schema/20140828/slice.schema.jwc slice schema with comments]
    14  * [http://www.gpolab.bbn.com/monitoring/schema/20140828/user user]: data about a GENI user at an authority [http://www.gpolab.bbn.com/monitoring/schema/20140828/user.schema.jwc user schema with comments]
    15  * [http://www.gpolab.bbn.com/monitoring/schema/20140828/experiment experiment]: data about an operational monitoring experiment for monitoring the dataplane [http://www.gpolab.bbn.com/monitoring/schema/20140828/experiment.schema.jwc experiment schema with comments]
    16  * [http://www.gpolab.bbn.com/monitoring/schema/20140828/data data]: data about time-series measurements.  Schema based in part on [http://unis.incntre.iu.edu/schema/20120709/metadata] [http://www.gpolab.bbn.com/monitoring/schema/20140828/data.schema.jwc data schema with comments]
    17  * For now, we would use the `ops_monitoring` namespace for operations monitoring, meaning:
    18    * When we add monitoring-relevant optional properties to objects, we'll put them in an `ops_monitoring` dictionary
    19    * When we setup operations monitoring measurements, we'll give them the eventType `ops_monitoring:<something>`
    20 
    21 === Schema usage example ===
    22 
    23 Some example usages of the above schemas follow.  These examples assume the following (fictitious) local datastore URLs.  These are arbitrary, and any place they appear, they can be replaced by whatever name the deployers prefer.  For simplicitly, we show one local datastore per aggregate here, but the architecture does ''not'' require that --- it would be perfectly fine to have one datastore for relational metadata and one for the data itself, or one for certain types of relational metadata and one for others.
     7This page gives examples of these REST calls and responses.
     8These examples assume the following (fictitious) local datastore URLs.
     9For simplicitly, we show one local datastore per aggregate here, but the architecture does ''not'' require that --- it would be perfectly fine to have the data for an aggregate be split among multiple datastores.
    2410 * `https://datastore.geni.net/`: datastore containing configuration data for operational monitoring
    2511 * `https://datastore.instageni.gpolab.bbn.com/`: datastore for gpo-ig aggregate
     
    3218Aggregates are indexed by GENI-agreed short name.
    3319
     20data about an aggregate (including lists of resources and slivers at that aggregate, and where to look for measurements about the aggregate)
    3421Example REST call for aggregate gpo-ig:
    3522{{{
    3623https://datastore.instageni.gpolab.bbn.com/info/aggregate/gpo-ig
    3724}}}
    38 Response conforms to the [http://www.gpolab.bbn.com/monitoring/schema/20140828/aggregate# aggregate schema], [http://www.gpolab.bbn.com/monitoring/schema/20140828/aggregate# commented version of the aggregate schema]
     25Response conforms to the [http://www.gpolab.bbn.com/monitoring/schema/20140828/aggregate# aggregate schema], [http://www.gpolab.bbn.com/monitoring/schema/20140828/aggregate# commented version of the aggregate schema].
    3926{{{
    4027{
     
    135122==== Interface call and response ====
    136123
     124Retrieves information about a network interface, a.k.a. port.
     125
    137126Example REST call for pc1 eth0 (control) at gpo-ig:
    138127{{{
     
    167156
    168157GENI slice authorities are indexed by domain name and described using [http://www.gpolab.bbn.com/monitoring/schema/20140828/authority# the authority schema].  Examples:
    169 
     158data about a GENI authority
    170159
    171160Example REST call for authority of ch.geni.net:
     
    199188==== Interface-VLAN call and response ====
    200189
     190data about a tagged VLAN subinterface of a network interface
     191
    201192Example REST call for VLAN 1750 on pc1 eth1:
    202193{{{
    203194https://datastore.instageni.gpolab.bbn.com/info/interfacevlan/instageni.gpolab.bbn.com_interface_pc1:eth1:1750
    204195}}}
    205 Response conforms to the  [http://www.gpolab.bbn.com/monitoring/schema/20140828/interfacevlan interfacevlan schema], [http://www.gpolab.bbn.com/monitoring/schema/20140828/interfacevlan.schema.jwc commented version of the interfacevlan schema]
     196Response conforms to the  [http://www.gpolab.bbn.com/monitoring/schema/20140828/interfacevlan interfacevlan schema], [http://www.gpolab.bbn.com/monitoring/schema/20140828/interfacevlan.schema.jwc commented version of the interfacevlan schema].
    206197{{{
    207198{
     
    223214
    224215GENI users have an ID based on the username and are described using [http://www.gpolab.bbn.com/monitoring/schema/20140828/user# the GENI user schema].  Examples:
     216data about a GENI user at an authority
    225217
    226218Example REST call for user tupty at ch.geni.net:
     
    248240
    249241GENI slices have an ID based on the URN and are described using [http://www.gpolab.bbn.com/monitoring/schema/20140828/slice# the GENI slice schema].
     242data about a slice at an authority
     243
    250244Example REST call for tuptyexclusive slice:
    251245{{{
     
    280274
    281275GENI sliver have an ID based on the URN and are described using [http://www.gpolab.bbn.com/monitoring/schema/20140828/sliver# the GENI sliver schema].  Examples:
     276data about a sliver at an aggregate [http://www.gpolab.bbn.com/monitoring/schema/20140828/sliver.schema.jwc sliver schema with comments]
     277
    282278Example REST call for tuptyexclusive instageni sliver:
    283279{{{
     
    345341
    346342Operational monitoring measures the dataplane with a set of simple tests between aggregates described using [http://www.gpolab.bbn.com/monitoring/schema/20140828/experiment# the operational monitoring experiment schema].  Examples:
     343data about an operational monitoring experiment for monitoring the dataplane
    347344Example REST call for missouri-ig to gpo-ig experiment:
    348345{{{
     
    373370
    374371Measurements have an opaque ID which is generated by the local datastore which serves them, and must be persistent, so that the caller has the option of asking for the measurement by ID.  They are described using the data schema outlined above.  Examples:
     372[http://www.gpolab.bbn.com/monitoring/schema/20140828/data data]: data about time-series measurements.  Schema based in part on [http://unis.incntre.iu.edu/schema/20120709/metadata] [http://www.gpolab.bbn.com/monitoring/schema/20140828/data.schema.jwc data schema with comments]
    375373Example REST call for CPU utilization metric on pc1:
    376374{{{
     
    571569}}}
    572570
    573 ==== Data about operational monitoring configuration ====
    574 
    575 Operational monitoring configuration data tells collectors where to find local datastores, and includes relevant metadata (like URNs and metadata about datastore or aggregate types) that collectors can use to decide which datastores to query.  It is described using [http://www.gpolab.bbn.com/monitoring/schema/20140828/opsconfig# the opsconfig schema].  Examples:
     571==== Operational monitoring configuration (opsconfig) call and response ====
     572
     573Operational monitoring configuration data tells collectors where to find local datastores, and includes relevant metadata (like URNs and metadata about datastore or aggregate types) that collectors can use to decide which datastores to query.  It is described using [http://www.gpolab.bbn.com/monitoring/schema/20140828/opsconfig# the opsconfig schema].
    576574 * geni-prod: a hypothetical config datastore listing production aggregates and authorities:
     575operational configuration metadata, including locations of and information about other datastores [http://www.gpolab.bbn.com/monitoring/schema/20140828/opsconfig.schema.jwc opsconfig schema with comments]
     576
    577577Example REST call:
    578578{{{
    579579https://datastore.geni.net/info/opsconfig/geni-prod
    580580}}}
    581 Response:
     581Response conforms to the [http://www.gpolab.bbn.com/monitoring/schema/20140828/opsconfig opsconfig schema], [http://www.gpolab.bbn.com/monitoring/schema/20140828/opsconfig.schema.jwc commented version of the opsconfig schema].
    582582{{{
    583583{