1. Operations
2. appliance
3. monitoring

## appliance monitoring: query

Get monitoring data.

### Request:

#### HTTP request

GET https://{server}/rest/appliance/monitoring/query
?item.interval=MINUTES30
&item.end_time=2015-01-01T22:13:05.651Z
&item.names.1=obj-103
&item.names.2=obj-103
&item.start_time=2015-01-01T22:13:05.651Z
&item.function=COUNT

#### Request Query Parameters:

Name | Type | Description
--- | --- | ---
bold = required
item | monitored_item_data_request | MonitoredItemDataRequest Structure.
item.names | string[] | monitored item IDs Ex: CPU, MEMORY When clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: `com.vmware.appliance.monitoring`. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: `com.vmware.appliance.monitoring`.
item.interval | string | interval between values in hours, minutes Defines interval between the values in hours and mins, for which aggregation will apply Value is one of: MINUTES30: Thirty minutes interval between values. One week is 336 values. HOURS2: Two hours interval between values. One month has 360 values. MINUTES5: Five minutes interval between values (finest). One day would have 288 values, one week is 2016. DAY1: 24 hours interval between values. One year has 365 values. HOURS6: Six hour interval between values. One quarter is 360 values.
item.function | string | aggregation function Defines aggregation function Value is one of: COUNT: Aggregation takes count per period (sum) MAX: Aggregation takes maximums per period AVG: Aggregation takes average per period MIN: Aggregation takes minimums per period
item.start_time | date_time | Starting time
item.end_time | date_time | Ending time

### Response:

#### HTTP Status Code: 200

#### Representations:

- JSON
- XML

{
"value": [
{
"data": [
"string",
"string"
],
"end_time": "2015-01-01T22:13:05.651Z",
"function": "COUNT",
"interval": "MINUTES30",
"name": "obj-103",
"start_time": "2015-01-01T22:13:05.651Z"
},
{
"data": [
"string",
"string"
],
"end_time": "2015-01-01T22:13:05.651Z",
"function": "COUNT",
"interval": "MINUTES30",
"name": "obj-103",
"start_time": "2015-01-01T22:13:05.651Z"
}
]
}
<?xml version="1.0" ?>
<ns0:Query-Result xmlns:ns0="http://vmware.com/appliance/monitoring" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<value-array>
<array-item>
<interval>MINUTES30</interval>
<end_time>2015-01-01T22:13:05.651Z</end_time>
<name>obj-103</name>
<data-array>
<array-item>string</array-item>
<array-item>string</array-item>
</data-array>
<start_time>2015-01-01T22:13:05.651Z</start_time>
<function>COUNT</function>
</array-item>
<array-item>
<interval>MINUTES30</interval>
<end_time>2015-01-01T22:13:05.651Z</end_time>
<name>obj-103</name>
<data-array>
<array-item>string</array-item>
<array-item>string</array-item>
</data-array>
<start_time>2015-01-01T22:13:05.651Z</start_time>
<function>COUNT</function>
</array-item>
</value-array>
</ns0:Query-Result>

#### Response Type:

Name | Type | Description
--- | --- | ---
bold = required
value | monitored_item_data[] | list of MonitoredItemData structure.
value[].name | string | Monitored item IDs Ex: CPU, MEMORY, STORAGE_TOTAL When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: `com.vmware.appliance.monitoring`. When operations return a value of this structure as a result, the field will be an identifier for the resource type: `com.vmware.appliance.monitoring`.
value[].interval | string | interval between values in hours, minutes Defines interval between the values in hours and mins, for which aggregation will apply Value is one of: MINUTES30: Thirty minutes interval between values. One week is 336 values. HOURS2: Two hours interval between values. One month has 360 values. MINUTES5: Five minutes interval between values (finest). One day would have 288 values, one week is 2016. DAY1: 24 hours interval between values. One year has 365 values. HOURS6: Six hour interval between values. One quarter is 360 values.
value[].function | string | aggregation function Defines aggregation function Value is one of: COUNT: Aggregation takes count per period (sum) MAX: Aggregation takes maximums per period AVG: Aggregation takes average per period MIN: Aggregation takes minimums per period
value[].start_time | date_time | Starting time
value[].end_time | date_time | Ending time
value[].data | string[] | list of values

#### Errors:

HTTP Status Code | Type | Description
--- | --- | ---
500 | error | Generic error