Version 13 (modified by 10 years ago) (diff) | ,
---|
-
-
REST calls and JSON Replies for Monitoring Data
-
- Aggregate call and response
- Node call and response
- Link call and response
- Interface call and response
- Interface-VLAN call and response
- Slice authority call and response
- User call and response
- Slice call and response
- Sliver call and response
- External check datastore call and response
- Experiment call and response
- Time-series measurements call and response
- Operational monitoring configuration (opsconfig) call and response
-
-
REST calls and JSON Replies for Monitoring Data
REST calls and JSON Replies for Monitoring Data
Monitoring 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. All of these schemas inherit from the UNIS network resource schema with the exception of the opsconfig schema. This page gives examples of these REST calls and responses. These examples assume the following (fictitious) local datastore URLs. For simplicitly, we show one local datastore per aggregate here, but the architecture does not require that. It is fine to have the data for an aggregate be split among multiple datastores.
https://datastore.geni.net/
: datastore containing configuration data for operational monitoringhttps://datastore.instageni.gpolab.bbn.com/
: datastore for gpo-ig aggregatehttps://datastore.ch.geni.net/
: datastore for ch.geni.net authorityhttps://datastore.externalchecks.geni.net/
: datastore for external checks in the monitoring framework (e.g. inter-aggregate pings, AM external availability)
Aggregate call and response
Retrieves information about an aggregate, including lists of resources and slivers at that aggregate, version information, and where to look for measurements about the aggregate.
General form of the REST call:
https://<datastore-host>/info/aggregate/<aggregate-id>
<aggregate-id> is usually the aggregate's GENI-assigned nickname (short name).
Example REST call for aggregate gpo-ig:
https://datastore.instageni.gpolab.bbn.com/info/aggregate/gpo-ig
The response conforms to the aggregate schema, commented version of the aggregate schema.
{ "$schema": "http://www.gpolab.bbn.com/monitoring/schema/20140828/aggregate#", "id": "gpo-ig", "selfRef": "https://datastore.instageni.gpolab.bbn.com/info/aggregate/gpo-ig", "urn": "urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm", "ts": 1391192685740849, "measRef": "https://datastore.instageni.gpolab.bbn.com/data", "monitoring_version": "v2.0", "operational_status": "production", "resources": [ { "urn": "urn:publicid:IDN+instageni.gpolab.bbn.com+node+pc1", "resource_type": "node", "href": "https://datastore.instageni.gpolab.bbn.com/nodes/instageni.gpolab.bbn.com_node_pc1" }, { "urn": "urn:publicid:IDN+instageni.gpolab.bbn.com+node+pc2", "resource_type": "node", "href": "https://datastore.instageni.gpolab.bbn.com/nodes/instageni.gpolab.bbn.com_node_pc2" } ], "slivers": [ { "urn": "urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+26947", "href": "https://datastore.instageni.gpolab.bbn.com/slivers/instageni.gpolab.bbn.com_sliver_36947" } ] }
Node call and response
Retrieves information about a node.
General form of the REST call:
https://<datastore-host>/info/node/<node object id>
Example REST call for gpo-ig node pc1:
https://datastore.instageni.gpolab.bbn.com/info/node/instageni.gpolab.bbn.com_node_pc1
The response conforms to the node schema, commented version of the node schema.
{ "$schema": "http://www.gpolab.bbn.com/monitoring/schema/20140828/node#", "id": "instageni.gpolab.bbn.com_node_pc1", "ts": 1391192705275101, "selfRef": "https://datastore.instageni.gpolab.bbn.com/nodes/instageni.gpolab.bbn.com_node_pc1", "urn": "urn:publicid:IDN+instageni.gpolab.bbn.com+node+pc1", "ops_monitoring:mem_total_kb": 50331648, "node_type": "server", "virtualization_type": "xen", "interfaces": [ { "urn": "urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc1:eth0", "href": "https://datastore.instageni.gpolab.bbn.com/info/interface/instageni.gpolab.bbn.com_interface_pc1%3Aeth0" }, { "urn": "urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc1:eth1", "href": "https://datastore.instageni.gpolab.bbn.com/info/interface/instageni.gpolab.bbn.com_interface_pc1%3Aeth1" }, { "urn": "urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc1:eth2", "href": "https://datastore.instageni.gpolab.bbn.com/info/interface/instageni.gpolab.bbn.com_interface_pc1%3Aeth2" }, { "urn": "urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc1:eth3", "href": "https://datastore.instageni.gpolab.bbn.com/info/interface/instageni.gpolab.bbn.com_interface_pc1%3Aeth3" } ] }
Link call and response
Retrieves information about a link.
General form of the REST call:
https://<datastore-host>/info/link/<link object id>
Example REST call for arbitrary_id_001:
https://datastore.grnoc.iu.edu/info/link/arbitrary_id_001
The response conforms to the link schema, commented version of the link schema.
{ "$schema": "http://www.gpolab.bbn.com/monitoring/schema/20140828/link#", "selfRef": "https://datastore.instageni.gpolab.bbn.com/info/link/arbitrary_id_001", "urn": "urn:publicid:IDN+instageni.gpolab.bbn.com+link+arbitrary_id_001", "ts": 1391194147100678, "id": "arbitrary_id_001", "endpoints": [ { "urn": "urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:eth1:1750", "href": "https://datastore.instageni.gpolab.bbn.com/info/interface/instageni.gpolab.bbn.com_interface_pc2:eth1:1750" }, { "urn": "urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc1:eth1:1750", "href": "https://datastore.instageni.gpolab.bbn.com/info/interfacevlan/instageni.gpolab.bbn.com_interface_pc1:eth1:1750" } ] }
Interface call and response
Retrieves information about a network interface, a.k.a. port.
General form of the REST call:
https://<datastore-host>/info/interface/<interface object id>
Example REST call for pc1 eth0 at gpo-ig:
https://datastore.instageni.gpolab.bbn.com/info/interface/instageni.gpolab.bbn.com_interface_pc1:eth0
The response conforms to the interface schema, commented version of the interface schema.
{ "$schema": "http://www.gpolab.bbn.com/monitoring/schema/20140828/interface#", "selfRef": "https://datastore.instageni.gpolab.bbn.com/info/interface/instageni.gpolab.bbn.com_interface_pc1:eth0", "urn": "urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc1:eth0", "ts": 1391194147100678, "id": "instageni.gpolab.bbn.com_interface_pc1:eth0", "addresses": [ { "addrtype": "IPv4", "address": "192.1.242.140", "scope": "private" }, { "addrtype": "IPv6", "address": "2001:cdba::3257:9652" } ], "ops_monitoring:role": "control", "ops_monitoring:max_bps": 10000000, "ops_monitoring:max_pps": 1000000 }
Interface-VLAN call and response
Retrieves information about a tagged VLAN subinterface of a network interface.
General form of the REST call:
https://<datastore-host>/info/interfacevlan/<interfacevlan object id>
Example REST call for VLAN 1750 on pc1 eth1:
https://datastore.instageni.gpolab.bbn.com/info/interfacevlan/instageni.gpolab.bbn.com_interface_pc1:eth1:1750
The response conforms to the interfacevlan schema, commented version of the interfacevlan schema.
{ "$schema": "http://www.gpolab.bbn.com/monitoring/schema/20140828/interfacevlan#", "selfRef": "https://datastore.instageni.gpolab.bbn.com/info/interfacevlan/instageni.gpolab.bbn.com_interface_pc1:eth1:1750", "urn": "urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc1:eth1:1750", "ts": 1391194147100678, "id": "instageni.gpolab.bbn.com_interface_pc1:eth1:1750", "tag": 1750, "interface": { "urn": "urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc1:eth1", "href": "https://datastore.instageni.gpolab.bbn.com/info/interface/instageni.gpolab.bbn.com_interface_pc1:eth1" } }
Slice authority call and response
Retrieves information about a slice authority.
General form of the REST call:
https://<datastore-host>/info/slice/<slice object id>
Example REST call for authority of ch.geni.net:
https://datastore.ch.geni.net/info/authority/ch.geni.net
The response conforms to the authority schema, commented version of the authority schema.
{ "$schema": "http://www.gpolab.bbn.com/monitoring/schema/20140828/authority#", "id": "ch.geni.net", "selfRef": "https://datastore.ch.geni.net/info/authority/ch.geni.net", "urn": "urn:publicid:IDN+ch.geni.net+authority+ch", "ts": 1391192685740849, "users": [ { "urn": "urn:publicid:IDN+ch.geni.net+user+tupty", "href": "https://datastore.ch.geni.net/info/user/tupty" } ], "slices": [ { "urn": "urn:publicid:IDN+ch.geni.net:gpo-infra+slice+tuptyexclusive", "href": "https://datastore.ch.geni.net/info/slice/ch.geni.net_gpo-infra_slice_tuptyexclusive" } ] }
User call and response
Retrieves information about a GENI user.
General form of the REST call:
https://<datastore-host>/info/user/<user object id>
Example REST call for user tupty at ch.geni.net:
https://datastore.ch.geni.net/info/user/tupty
The response conforms to the user schema, commented version of the user schema.
{ "$schema": "http://www.gpolab.bbn.com/monitoring/schema/20140828/user#", "id": "tupty", "selfRef": "https://datastore.ch.geni.net/info/user/tupty", "urn": "https://datastore.ch.geni.net/info/user/tupty", "ts": 1391192685740849, "authority": { "urn": "urn:publicid:IDN+ch.geni.net+authority+ch", "href": "https://datastore.ch.geni.net/info/authority/ch.geni.net" }, "fullname": "Tim Exampleuser", "email": "tupty@example.com" }
Slice call and response
Retrieves information about a slice at an authority.
General form of the REST call:
https://<datastore-host>/info/slice/<slice object id>
Example REST call for tuptyexclusive slice:
https://datastore.ch.geni.net/info/slice/ch.geni.net_gpo-infra_slice_tuptyexclusive
The response conforms to the slice schema, commented version of the slice schema.
{ "$schema": "http://www.gpolab.bbn.com/monitoring/schema/20140828/slice#", "id": "ch.geni.net_gpo-infra_slice_tuptyexclusive", "selfRef": "https://datastore.ch.geni.net/info/slice/ch.geni.net_gpo-infra_slice_tuptyexclusive", "urn": "urn:publicid:IDN+ch.geni.net:gpo-infra+slice+tuptyexclusive", "uuid": "8c6b97fa-493b-400f-95ee-19accfaf4ae8", "ts": 1391192685740849, "authority": { "urn": "urn:publicid:IDN+ch.geni.net+authority+ch", "href": "https://datastore.ch.geni.net/info/authority/ch.geni.net" }, "created": 1391626683000000, "expires": 1391708989000000, "members": [ { "urn": "urn:publicid:IDN+ch.geni.net+user+tupty", "href": "https://datastore.ch.geni.net/info/users/tupty", "role": "lead" } ] }
Sliver call and response
Retrieves information about a sliver.
General form of the REST call:
https://<datastore-host>/info/sliver/<sliver object id>
Example REST call for tuptyexclusive instageni sliver:
https://datastore.instageni.gpolab.bbn.com/info/sliver/instageni.gpolab.bbn.com_sliver_26947
The response conforms to the sliver schema, commented version of the sliver schema.
{ "$schema": "http://www.gpolab.bbn.com/monitoring/schema/20140828/sliver#", "id": "instageni.gpolab.bbn.com_sliver_26947", "selfRef": "https://datastore.instageni.gpolab.bbn.com/info/sliver/instageni.gpolab.bbn.com_sliver_26947", "urn": "urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+26947", "uuid": "30752b06-8ea8-11e3-8d30-000000000000", "ts": 1391192685740849, "aggregate": { "urn": "urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm", "href": "https://datastore.instageni.gpolab.bbn.com/info/aggregate/gpo-ig" }, "slice_urn": "urn:publicid:IDN+ch.geni.net:gpo-infra+slice+tuptyexclusive", "slice_uuid": "8c6b97fa-493b-400f-95ee-19accfaf4ae8", "creator": "urn:publicid:IDN+ch.geni.net+user+tupty", "created": 1391626683000000, "expires": 1391708989000000, "resource": { "resource_type": "node", "urn": "urn:publicid:IDN+instageni.gpolab.bbn.com+node+pc1", "href": "urn:publicid:IDN+instageni.gpolab.bbn.com+node+pc1" } }
External check datastore call and response
Retrieves information about a sliver.
General form of the REST call:
https://<datastore-host>/info/externalcheck/<extchk-id>
Example REST call for GPO externalcheck store:
https://externalcheckstore.gpolab.bbn.com/info/externalcheck/gpo
The response conforms to the external check schema, commented version of the external check schema.
{ "$schema": "http://www.gpolab.bbn.com/monitoring/schema/20140828/externalcheck#", "id": "gpo", "selfRef": "https://externalcheckstore.gpolab.bbn.com/info/externalcheck/gpo", "ts": 1391192685740849, "measRef": "https://externalcheckstore.gpolab.bbn.com/data", "experiments": [ { "href": "https://externalcheckstore.gpolab.bbn.com/info/experiment/missouri_ig_to_gpo_ig" } ], "monitored_aggregates": [ { "id": "gpo-ig", "href": "https://datastore.instageni.gpolab.bbn.com/info/aggregate/gpo-ig" }, { "id": "rci-eg", "href": "https://rci-hn.exogeni.net/ops-monitoring/info/aggregate/rci-eg" } ] }
Experiment call and response
Retrieves information data about an operational monitoring experiment for monitoring the dataplane between aggregates.
General form of the REST call:
https://<datastore-host>/info/experiment/<experiment id>
Example REST call for missouri-ig to gpo-ig experiment:
https://datastore.externalchecks.geni.net/info/experiment/missouri-ig_to_gpo-ig_rtt
The response conforms to the experiment schema, commented version of the experiment schema.
{ "$schema": "http://www.gpolab.bbn.com/monitoring/schema/20140828/experiment#", "id": "missouri-ig_to_gpo-ig_rtt", "selfRef": "https://datastore.externalchecks.geni.net/info/experiment/missouri-ig_to_gpo-ig_rtt", "slice_urn": "urn:publicid:IDN+ch.geni.net:gpo-infra+slice+tuptyexclusive", "slice_uuid": "8c6b97fa-493b-400f-95ee-19accfaf4ae8", "ts": 1391192685740849, "source_aggregate": { "urn": "urn:publicid:IDN+instageni.missouri.edu+authority+cm", "href": "https://datastore.instageni.missouri.edu/info/aggregates/missouri-ig" }, "destination_aggregate": { "urn": "urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm", "href": "https://datastore.instageni.gpolab.bbn.com/info/aggregates/gpo-ig" } }
Time-series measurements call and response
Retrieve time series measurements, a.k.a. simply "data" or "events."
General form of the REST call:
https://<datastore-host>/data/?q= {"filters": {"eventType":[<list of measurementNames>], "ts":{"gte":<lower bound timestamp>, "lte":<upper bound timestamp}, "obj":{"type":"<object type name>", "id":[<list of object ids>]}}}
(The above is split into multiple lines for readability; actual calls are all on one line.)
If <list of object ids> is "*", it means "all objects known to the datastore of type <object type name>."
The response is a list "[...]" in which each element conforms to the data: data schema], commented version of the data schema. Each element of the list applies to one (eventType, object id) pair.
Example REST call for CPU utilization metric on pc1:
https://datastore.instageni.gpolab.bbn.com/data/?q={"filters":{"eventType": ["ops_monitoring:cpu_util"],"ts":{"gte":0, "lte": 1391199016651285},"obj":{"type":"node","id":["instageni.gpolab.bbn.com_node_pc1"]}}}
Response:
[ { "$schema": "http://www.gpolab.bbn.com/monitoring/schema/20140828/data#", "id": "cpu_util:instageni.gpolab.bbn.com_node_pc1", "subject": "https://datastore.instageni.gpolab.bbn.com/info/node/instageni.gpolab.bbn.com_node_pc1", "eventType": "ops_monitoring:cpu_util", "description": "CPU utilization percentage", "units": "percent", "tsdata": [ { "ts": 1391198716651283, "v": 45 }, { "ts": 1391198776651284, "v": 44 }, { "ts": 1391198836651284, "v": 44 }, { "ts": 1391198896651284, "v": 47 }, { "ts": 1391198956651284, "v": 46 }, { "ts": 1391199016651285, "v": 47 } ] } ]
Example REST call for percentage of swap available on pc1:
https://datastore.instageni.gpolab.bbn.com/data/?q={"filters":{"eventType": ["ops_monitoring:swap_free"],"ts":{"gt":0,"lt":1391199016651285},"obj":{"type":"node","id":["instageni.gpolab.bbn.com_node_pc1"]}}}
Response:
[ { "$schema": "http://www.gpolab.bbn.com/monitoring/schema/20140828/data#", "id": "swap_free:instageni.gpolab.bbn.com_node_pc1", "subject": "https://datastore.instageni.gpolab.bbn.com/info/node/instageni.gpolab.bbn.com_node_pc1", "eventType": "ops_monitoring:swap_free", "description": "Percentage of swap available", "units": "percent", "tsdata": [ { "ts": 1391198716651283, "v": 95 }, { "ts": 1391198776651284, "v": 95 }, { "ts": 1391198836651284, "v": 95 }, { "ts": 1391198896651284, "v": 95 }, { "ts": 1391198956651284, "v": 95 }, { "ts": 1391199016651285, "v": 95 } ] } ]
Example REST call for memory in active use on pc1:
https://datastore.instageni.gpolab.bbn.com/data/?q={"filters":{"eventType": ["ops_monitoring:mem_active_kb"],"ts":{"gte":0, "lt": 1391299016651285},"obj":{"type":"node","id":["instageni.gpolab.bbn.com_node_pc1"]}}}
Response:
[ { "$schema": "http://www.gpolab.bbn.com/monitoring/schema/20140828/data#", "id": "mem_active_kb:instageni.gpolab.bbn.com_node_pc1", "subject": "https://datastore.instageni.gpolab.bbn.com/info/node/instageni.gpolab.bbn.com_node_pc1", "eventType": "ops_monitoring:mem_active_kb", "description": "Memory in active use", "units": "integer", "tsdata": [ { "ts": 1391198716651283, "v": 20030048 }, { "ts": 1391198776651284, "v": 20031148 }, { "ts": 1391198836651284, "v": 20031148 }, { "ts": 1391198896651284, "v": 22222222 }, { "ts": 1391198956651284, "v": 22222222 }, { "ts": 1391199016651285, "v": 22222222 } ] } ]
Example REST call for bytes per second received by pc1:eth0
:
https://datastore.instageni.gpolab.bbn.com/data/?q={"filters":{"eventType": ["ops_monitoring:rx_bytes"],"ts":{"gte":0, "lte":1391299016651285},"obj":{"type":"interface","id":["instageni.gpolab.bbn.com_node_pc1:eth0"]}}}
Response:
[ { "$schema": "http://www.gpolab.bbn.com/monitoring/schema/20140828/data#", "id": "rx_bps:instageni.gpolab.bbn.com_interface_pc1:eth0", "subject": "https://datastore.instageni.gpolab.bbn.com/info/interface/instageni.gpolab.bbn.com_interface_pc1:eth0", "eventType": "ops_monitoring:rx_bps", "description": "bytes per second received on this interface", "units": "float", "tsdata": [ { "ts": 1391198716651283, "v": 2453.64 }, { "ts": 1391198776651284, "v": 800.2 }, { "ts": 1391198836651284, "v": 2400.3 }, { "ts": 1391198896651284, "v": 1984.3 }, { "ts": 1391198956651284, "v": 0 }, { "ts": 1391199016651285, "v": 0 } ] } ]
Example REST call for boolean metric indicating whether pc1 is available for use according to the aggregate responsible for it:
https://datastore.instageni.gpolab.bbn.com/data/?q={"filters":{"eventType": ["ops_monitoring:is_available"],"ts":{"gte":0, "lte":1391299016651285},"obj":{"type":"node","id":["instageni.gpolab.bbn.com_node_pc1"]}}}
Response:
[ { "$schema": "http://www.gpolab.bbn.com/monitoring/schema/20140828/data#", "id": "is_available:instageni.gpolab.bbn.com_node_pc1", "subject": "https://datastore.instageni.gpolab.bbn.com/info/node/instageni.gpolab.bbn.com_node_pc1", "eventType": "ops_monitoring:is_available", "description": "is the subject node available, according to the aggregate", "units": "boolean", "tsdata": [ { "ts": 1391198716651283, "v": 1 }, { "ts": 1391198776651284, "v": 1 }, { "ts": 1391198836651284, "v": 1 }, { "ts": 1391198896651284, "v": 1 }, { "ts": 1391198956651284, "v": 0 }, { "ts": 1391199016651285, "v": 0 } ] } ]
Example REST call requesting multiple eventTypes and object ids:
https://datastore.instageni.gpolab.bbn.com/data/?q={"filters":{"eventType": ["ops_monitoring:mem_used","ops_monitoring:cpu_util"],"ts":{"gte":1391192225475202,"lt":1391192225480000},"obj":{"type":"node","id":["instageni.gpolab.bbn.com_node_pc1","instageni.gpolab.bbn.com_node_pc2"]}}}}
Response:
[ { "$schema": "http://www.gpolab.bbn.com/monitoring/schema/20140828/data#", "id": "cpu_util:instageni.gpolab.bbn.com_node_pc1", "subject": "https://datastore.instageni.gpolab.bbn.com/info/node/instageni.gpolab.bbn.com_node_pc1", "eventType": "ops_monitoring:cpu_util", "description": "CPU utilization percentage", "units": "percent", "tsdata": [ { "ts": 1391198716651283, "v": 45 }, { "ts": 1391198776651284, "v": 44 }, { "ts": 1391198836651284, "v": 44 }, { "ts": 1391198896651284, "v": 47 }, { "ts": 1391198956651284, "v": 46 }, { "ts": 1391199016651285, "v": 47 } ] } , { "$schema": "http://www.gpolab.bbn.com/monitoring/schema/20140828/data#", "id": "cpu_util:instageni.gpolab.bbn.com_node_pc2", "subject": "https://datastore.instageni.gpolab.bbn.com/info/node/instageni.gpolab.bbn.com_node_pc2", "eventType": "ops_monitoring:cpu_util", "description": "CPU utilization percentage", "units": "percent", "tsdata": [ { "ts": 1391198716651283, "v": 45 }, { "ts": 1391198776651284, "v": 48 }, { "ts": 1391198836651284, "v": 45 }, { "ts": 1391198896651284, "v": 49 }, { "ts": 1391198956651284, "v": 50 }, { "ts": 1391199016651285, "v": 51 } ] } , { "$schema": "http://www.gpolab.bbn.com/monitoring/schema/20140828/data#", "id": "mem_active_kb:instageni.gpolab.bbn.com_node_pc1", "subject": "https://datastore.instageni.gpolab.bbn.com/info/node/instageni.gpolab.bbn.com_node_pc1", "eventType": "ops_monitoring:mem_active_kb", "description": "Memory in active use", "units": "integer", "tsdata": [ { "ts": 1391198716651283, "v": 30030048 }, { "ts": 1391198776651284, "v": 30031148 }, { "ts": 1391198836651284, "v": 30031148 }, { "ts": 1391198896651284, "v": 32222222 }, { "ts": 1391198956651284, "v": 32222222 }, { "ts": 1391199016651285, "v": 32222222 } ] } , { "$schema": "http://www.gpolab.bbn.com/monitoring/schema/20140828/data#", "id": "mem_active_kb:instageni.gpolab.bbn.com_node_pc2", "subject": "https://datastore.instageni.gpolab.bbn.com/info/node/instageni.gpolab.bbn.com_node_pc2", "eventType": "ops_monitoring:mem_active_kb", "description": "Memory in active use", "units": "integer", "tsdata": [ { "ts": 1391198716651283, "v": 20030048 }, { "ts": 1391198776651284, "v": 20031148 }, { "ts": 1391198836651284, "v": 20031148 }, { "ts": 1391198896651284, "v": 22222222 }, { "ts": 1391198956651284, "v": 22222222 }, { "ts": 1391199016651285, "v": 22222222 } ] } ]
Operational monitoring configuration (opsconfig) call and response
Retrieves a variety of configuration information, including:
- locations (URLs) of and information about other datastores
- GENI authorities
- Database schemas used to store monitoring information
- A list of possible event types for time-series measurements
Example REST call for geni-prod, a hypothetical config datastore listing production aggregates and authorities:
https://datastore.geni.net/info/opsconfig/geni-prod
The response conforms to the opsconfig schema, commented version of the opsconfig schema.
{ "$schema": "http://www.gpolab.bbn.com/monitoring/schema/20140828/opsconfig#", "id": "geni-prod", "selfRef": "https://datastore.geni.net/opsconfigs/geni-prod", "ts": 1391192685740849, "aggregatestores": [ { "urn": "urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm", "amtype": "protogeni", "href": "https://datastore.instageni.gpolab.bbn.com/info/aggregate/gpo-ig" } ], "externalcheckstores": [ { "href": "https://externalcheckstore.gpolab.bbn.com/info/externalcheck/gpo" } ], "authorities": [ { "urn": "urn:publicid:IDN+ch.geni.net+authority+ch", "href": "https://datastore.ch.geni.net/authorities/ch.geni.net" } ], "info": [ { "name": "aggregate", "db_schema": [ ["$schema", "varchar"], ["id", "varchar"], ["selfRef","varchar"], ["urn","varchar"], ["ts","int8"], ["measRef","varchar"] ] }, { "name":"node", "db_schema": [ ["$schema", "varchar"], ["id", "varchar"], ["selfRef","varchar"], ["urn","varchar"], ["ts","int8"], ["properties$mem_total_kb","int8"] ] }, { "name": "link", "db_schema": [ ["$schema", "varchar"], ["id", "varchar"], ["selfRef","varchar"], ["urn","varchar"], ["ts","int8"] ] }, { "name": "sliver", "db_schema": [ ["$schema", "varchar"], ["id", "varchar"], ["selfRef","varchar"], ["urn","varchar"], ["uuid","varchar"], ["ts","int8"], ["aggregate_urn","varchar"], ["aggregate_href","varchar"], ["slice_urn","varchar"], ["slice_uuid","varchar"], ["creator","varchar"], ["created","int8"], ["expires","int8"] ] }, { "name":"interface", "db_schema": [ ["$schema", "varchar"], ["id", "varchar"], ["selfRef","varchar"], ["urn","varchar"], ["ts","int8"], ["address_type","varchar"], ["address_address","varchar"], ["properties$role","varchar"], ["properties$max_bps","int8"], ["properties$max_pps","int8"] ] }, { "name": "interfacevlan", "db_schema": [ ["$schema", "varchar"], ["id", "varchar"], ["selfRef","varchar"], ["urn","varchar"], ["ts","int8"], ["tag","int8"], ["interface_urn","varchar"], ["interface_href","varchar"] ] }, { "name": "slice", "db_schema": [ ["$schema", "varchar"], ["id", "varchar"], ["selfRef","varchar"], ["urn","varchar"], ["uuid","varchar"], ["ts","int8"], ["authority_urn","varchar"], ["authority_href","varchar"], ["created","int8"], ["expires","int8"] ] }, { "name":"user", "db_schema": [ ["$schema", "varchar"], ["id", "varchar"], ["selfRef","varchar"], ["urn","varchar"], ["ts","int8"], ["authority_urn","varchar"], ["authority_href","varchar"], ["fullname","varchar"], ["email","varchar"] ] }, { "name":"authority", "db_schema": [ ["$schema", "varchar"], ["id", "varchar"], ["selfRef","varchar"], ["urn","varchar"], ["ts","int8"] ] }, { "name":"externalcheck", "db_schema": [ ["$schema", "varchar"], ["id", "varchar"], ["selfRef","varchar"], ["ts","int8"], ["measRef","varchar"] ] }, { "name":"experiment", "db_schema": [ ["$schema", "varchar"], ["id", "varchar"], ["selfRef","varchar"], ["ts","int8"], ["slice_urn","varchar"], ["slice_uuid","varchar"], ["source_aggregate_urn","varchar"], ["source_aggregate_href","varchar"], ["destination_aggregate_urn","varchar"], ["destination_aggregate_href","varchar"] ] }, { "name":"opsconfig", "db_schema": [ ["$schema", "varchar"], ["id","varchar"], ["selfRef","varchar"], ["ts","int8"] ] }, { "name":"aggregate_resource", "db_schema" : [ ["id","varchar"], ["aggregate_id","varchar"], ["urn","varchar"], ["selfRef","varchar"] ] }, { "name":"aggregate_sliver", "db_schema" : [ ["id","varchar"], ["aggregate_id","varchar"], ["urn","varchar"], ["selfRef","varchar"] ] }, { "name":"link_interfacevlan", "db_schema" : [ ["id","varchar"], ["link_id","varchar"], ["urn","varchar"], ["selfRef","varchar"] ] }, { "name":"sliver_resource", "db_schema" : [ ["id","varchar"], ["sliver_id","varchar"], ["urn","varchar"], ["selfRef","varchar"] ] }, { "name":"node_interface", "db_schema": [ ["id","varchar"], ["node_id","varchar"], ["urn","varchar"], ["selfRef","varchar"] ] }, { "name":"slice_user", "db_schema": [ ["id","varchar"], ["slice_id","varchar"], ["urn","varchar"], ["role","varchar"], ["selfRef","varchar"] ] }, { "name":"authority_user", "db_schema": [ ["id","varchar"], ["authority_id","varchar"], ["urn","varchar"], ["selfRef","varchar"] ] }, { "name":"authority_slice", "db_schema": [ ["id","varchar"], ["authority_id","varchar"], ["urn","varchar"], ["selfRef","varchar"] ] }, { "name":"opsconfig_aggregate", "db_schema": [ ["id","varchar"], ["opsconfig_id","varchar"], ["amtype","varchar"], ["urn","varchar"], ["selfRef","varchar"] ] }, { "name":"opsconfig_authority", "db_schema": [ ["id","varchar"], ["opsconfig_id","varchar"], ["urn","varchar"], ["selfRef","varchar"] ] }, { "name":"opsconfig_event", "db_schema": [ ["object_type","varchar"], ["name","varchar"], ["id","varchar"], ["ts","varchar"], ["v","varchar"], ["units","varchar"] ] }, { "name":"externalcheck_experiment", "db_schema": [ ["id","varchar"], ["externalcheck_id","varchar"], ["selfRef","varchar"] ] } ], "events": { "node": [ { "name": "cpu_util", "id": "varchar", "ts": "int8", "v": "float4", "units": "percent" }, { "name": "mem_used_kb", "id": "varchar", "ts": "int8", "v": "int8", "units": "kilobytes" }, { "name": "swap_free", "id": "varchar", "ts": "int8", "v": "float4", "units": "percent" }, { "name": "is_available", "id": "varchar", "ts": "int8", "v": "int2", "units": "boolean" }, { "name": "disk_part_max_used", "id": "varchar", "ts": "int8", "v": "float4", "units":"percent" } ], "aggregate": [ { "name": "num_vms_allocated", "id": "varchar", "ts": "int8", "v": "int4", "units": "count" }, { "name": "is_available", "id": "varchar", "ts": "int8", "v": "int2", "units": "boolean" } ], "interface": [ { "name": "rx_bps", "id": "varchar", "ts": "int8", "v":"float4", "units":"bps" }, { "name": "tx_bps", "id": "varchar", "ts": "int8", "v":"float4", "units":"bps" }, { "name":"rx_pps", "id": "varchar", "ts": "int8", "v":"float4", "units":"pps" }, { "name":"tx_pps", "id": "varchar", "ts": "int8", "v":"float4", "units":"pps" }, { "name":"rx_eps", "id": "varchar", "ts": "int8", "v":"float4", "units":"pps" }, { "name":"tx_eps", "id": "varchar", "ts": "int8", "v":"float4", "units":"pps" }, { "name":"rx_dps", "id": "varchar", "ts": "int8", "v":"float4", "units":"pps" }, { "name":"tx_dps", "id": "varchar", "ts": "int8", "v":"float4", "units":"pps" } ], "interfacevlan": [ { "name": "rx_bps", "id": "varchar", "ts": "int8", "v":"float4", "units":"bps" }, { "name": "tx_bps", "id": "varchar", "ts": "int8", "v":"float4", "units":"bps" }, { "name":"rx_pps", "id": "varchar", "ts": "int8", "v":"float4", "units":"pps" }, { "name":"tx_pps", "id": "varchar", "ts": "int8", "v":"float4", "units":"pps" }, { "name":"rx_eps", "id": "varchar", "ts": "int8", "v":"float4", "units":"pps" }, { "name":"tx_eps", "id": "varchar", "ts": "int8", "v":"float4", "units":"pps" }, { "name":"rx_dps", "id": "varchar", "ts": "int8", "v":"float4", "units":"pps" }, { "name":"tx_dps", "id": "varchar", "ts": "int8", "v":"float4", "units":"pps" } ], "experiment": [ { "name": "ping_rtt_ms", "id": "varchar", "ts": "int8", "v":"float4", "units":"milliseconds" } ] } }