Queries the monitoring data of a metric for a specified cloud service.

Note Different from DescribeMetricList, the DescribeMetricData operation provides statistical features. You can set the Dimensions parameter to {"userId:"xxxx"} to aggregate all data of the specified user.

This topic provides an example to show how to query the monitoring data of the cpu_idle metric for Elastic Compute Service (ECS) whose namespace is acs_ecs_dashboard.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

Request parameters

Parameter Type Required Example Description
Action String Yes DescribeMetricData

The operation that you want to perform. Set the value to DescribeMetricData.

MetricName String Yes cpu_idle

The name of the metric. For more information, see Appendix 1: Metrics.

Namespace String Yes acs_ecs_dashboard

The namespace of the cloud service. For more information, see Appendix 1: Metrics.

Period String No 60

The statistical period of monitoring data. Unit: seconds. Valid values: 15, 60, 900, and 3600.

Note If this parameter is not specified, monitoring data is queried based on the period in which metric values are reported.
StartTime String No 1618368900000

The start of the time range to query monitoring data.

  • If the StartTime and EndTime parameters are not specified, the monitoring data of the last statistical period is queried.
  • If the StartTime and EndTime parameters are specified, the monitoring data of the last statistical period in the specified time range is queried. The following examples demonstrate how to determine the period in which monitoring data is queried:
    • If you set the Period parameter to 15, the specified time range must be less than or equal to 20 minutes. For example, if you set the StartTime parameter to 2021-05-08 08:10:00 and the EndTime parameter to 2021-05-08 08:30:00, the monitoring data of the last 15 seconds in the time range is queried.
    • If you set the Period parameter to 60 or 900, the specified time range must be less than or equal to 2 hours. For example, if you set the Period parameter to 60, the StartTime parameter to 2021-05-08 08:00:00, and the EndTime parameter to 2021-05-08 10:00:00, the monitoring data of the last 60 seconds in the time range is queried.
    • If you set the Period parameter to 3600, the specified time range must be less than or equal to two days. For example, if you set the StartTime parameter to 2021-05-08 08:00:00 and the EndTime parameter to 2021-05-10 08:00:00, the monitoring data of the last 3,600 seconds in the time range is queried.

The following formats are supported:

  • UNIX timestamp: the number of milliseconds that have elapsed since 00:00:00 Thursday, January 1, 1970
  • UTC time: the UTC time that follows the YYYY-MM-DDThh:mm:ssZ format
Note
  • You must set the StartTime parameter to a point in time that is later than 00:00:00 Thursday, January 1, 1970. Otherwise, this parameter is invalid.
  • We recommend that you use UNIX timestamps to prevent time zone-related issues.
EndTime String No 1618368960000

The end of the time range to query monitoring data.

  • If the StartTime and EndTime parameters are not specified, the monitoring data of the last statistical period is queried.
  • If the StartTime and EndTime parameters are specified, the monitoring data of the last statistical period in the specified time range is queried. The following examples demonstrate how to determine the period in which monitoring data is queried:
    • If you set the Period parameter to 15, the specified time range must be less than or equal to 20 minutes. For example, if you set the StartTime parameter to 2021-05-08 08:10:00 and the EndTime parameter to 2021-05-08 08:30:00, the monitoring data of the last 15 seconds in the time range is queried.
    • If you set the Period parameter to 60 or 900, the specified time range must be less than or equal to 2 hours. For example, if you set the Period parameter to 60, the StartTime parameter to 2021-05-08 08:00:00, and the EndTime parameter to 2021-05-08 10:00:00, the monitoring data of the last 60 seconds in the time range is queried.
    • If you set the Period parameter to 3600, the specified time range must be less than or equal to two days. For example, if you set the StartTime parameter to 2021-05-08 08:00:00 and the EndTime parameter to 2021-05-10 08:00:00, the monitoring data of the last 3,600 seconds in the time range is queried.

The following formats are supported:

  • UNIX timestamp: the number of milliseconds that have elapsed since 00:00:00 Thursday, January 1, 1970
  • UTC time: the UTC time that follows the YYYY-MM-DDThh:mm:ssZ format
Note We recommend that you use UNIX timestamps to prevent time zone-related issues.
Dimensions String No [{"instanceId": "i-abcdefgh12****"}]

The dimensions that specify the resources whose monitoring data you want to query.

Set the value to a collection of key-value pairs. A typical key-value pair is instanceId:i-2ze2d6j5uhg20x47****.

Note Dimensions must be formatted as a JSON string in a specified order.
Express String No null

The expression that is used to compute the query results in real time.

Only the groupby expression is supported. This expression is similar to the GROUP BY statement that is used in databases.

Length String No 1000

The number of entries to return on each page. Default value: 1000.

For more information about common request parameters, see Common parameters.

Response parameters

Parameter Type Example Description
Code String 200

The HTTP status code.

Note The status code 200 indicates that the call is successful.
Datapoints String [{\"timestamp\":1618368900000,\"Average\":95.8291666666667,\"Minimum\":65.48,\"Maximum\":100.0},{\"timestamp\":1618368960000,\"Average\":95.8683333333333,\"Minimum\":67.84,\"Maximum\":100.0}]

The monitoring data. The value includes the following fields:

  • timestamp: the timestamp when the alert was triggered.
  • userId: the ID of the user for which the alert was triggered.
  • instanceId: the ID of the instance for which the alert was triggered.
  • Minimum, Average, and Maximum: the aggregation methods.
Message String The specified resource is not found.

The error message.

Period String 60

The statistical period of monitoring data. Unit: seconds. Valid values: 15, 60, 900, and 3600.

RequestId String 6A5F022D-AC7C-460E-94AE-B9E75083D027

The ID of the request.

Examples

Sample requests

http(s)://[Endpoint]/?Action=DescribeMetricData
&MetricName=cpu_idle
&Namespace=acs_ecs_dashboard
&<Common request parameters>

Sample success responses

XML format

<DescribeMetricDataResponse>
	  <RequestId>7598FEED-3B79-4B4A-AD01-435F34DA8EDC</RequestId>
	  <Period>60</Period>	
      <Datapoints>[{\"timestamp\":1618368900000,\"Average\":95.8291666666667,\"Minimum\":65.48,\"Maximum\":100.0},{\"timestamp\":1618368960000,\"Average\":95.8683333333333,\"Minimum\":67.84,\"Maximum\":100.0}]</Datapoints>
	  <Code>200</Code>
</DescribeMetricDataResponse>

JSON format

{
	"RequestId": "7598FEED-3B79-4B4A-AD01-435F34DA8EDC",
	"Period": "60",
	"Datapoints": "[{\"timestamp\":1618368900000,\"Average\":95.8291666666667,\"Minimum\":65.48,\"Maximum\":100.0},{\"timestamp\":1618368960000,\"Average\":95.8683333333333,\"Minimum\":67.84,\"Maximum\":100.0}]",
	"Code": "200"
}

Error codes

HttpCode Error code Error message Description
404 ResourceNotFound The specified resource is not found. The error message returned because the specified resource is not found.

For a list of error codes, visit the API Error Center.