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

Limits

Each API operation can be called up to 10 times per second. An Alibaba Cloud account and the RAM users within the account share the quota.

Precautions

The storage duration of the monitoring data of each cloud service is related to the Period parameter (statistical period). A larger value of the Period parameter indicates that the queried monitoring data is distributed in a larger time range and the storage duration of the monitoring data is longer. The following list describes the specific relationships:

  • If the value of the Period parameter is less than 60 seconds, the storage duration is seven days.
  • If the value of the Period parameter is 60 seconds, the storage duration is 31 days.
  • If the value of the Period parameter is 300 seconds, the storage duration is 91 days.

Usage notes

Note Different from DescribeMetricList, the DescribeMetricData operation provides statistical features. You can set the Dimension parameter to {"instanceId": "i-abcdefgh12****"} to aggregate all data of your Alibaba Cloud account.

This topic provides an example on how to query the monitoring data of the cpu_idle metric for Elastic Compute Service (ECS). The namespace of ECS 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.

Namespace String Yes acs_ecs_dashboard

The namespace of the cloud service.

For more information about the namespaces of cloud services, see Appendix 1: Metrics.

MetricName String Yes cpu_idle

The metric that is used to monitor the cloud service.

For more information about the metrics of cloud services, see Appendix 1: Metrics.

Period String No 60

The statistical period of the monitoring data.

Valid values: 15, 60, 900, and 3600.

Unit: seconds.

Note
  • If this parameter is not specified, monitoring data is queried based on the period in which metric values are reported.
  • Statistical periods vary based on the metrics that are specified by MetricName. For more information, see Appendix 1: Metrics.
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
  • Time format: YYYY-MM-DDThh:mm:ssZ
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
  • Time format: YYYY-MM-DDThh:mm:ssZ
Note We recommend that you use UNIX timestamps to prevent time zone-related issues.
Dimensions String No [{"instanceId":"i-2ze2d6j5uhg20x47****"}]

The monitoring dimensions of the specified resource.

Set the value to a collection of key:value pairs. Example: {"userId":"120886317861****"} or {"instanceId":"i-2ze2d6j5uhg20x47****"}.

Note You can query a maximum of 50 instances in a single request.
Express String No {"groupby":["userId","instanceId"]}

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

Note 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 per page.

Default value: 1000.

Note The maximum value of the Length parameter in a request is 1440.

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

Response parameters

Parameter Type Example Description
Code String 200

The status code.

Note The status code 200 indicates that the request was successful.
Message String The specified resource is not found.

The error message.

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

The request ID.

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.
Period String 60

The statistical period of the monitoring data.

Valid values: 15, 60, 900, and 3600.

Unit: seconds.

Examples

Sample requests

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

Sample success responses

XML format

HTTP/1.1 200 OK
Content-Type:application/xml

<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

HTTP/1.1 200 OK
Content-Type:application/json

{
  "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

HTTP status code Error code Error message Description
404 ResourceNotFound The specified resource is not found. The specified resource is not found.

For a list of error codes, see Service error codes.