查询监控数据
功能介绍
查询指定时间范围指定指标的指定粒度的监控数据,可以通过参数指定需要查询的数据维度。
URI
GET /V1.0/{project_id}/metric-data?namespace={namespace}&metric_name={metric_name}&dim.{i}=key,value&from={from}&to={to}&period={period}&filter={filter}
- 参数说明
表1 参数说明 名称
是否必选
说明
project_id
是
项目ID。
获取方式请参见获取项目ID。
表2 查询检索参数 名称
是否必选
参数类型
说明
namespace
是
String
服务的命名空间,例如弹性云服务器命名空间。
格式为service.item;service和item必须是字符串,必须以字母开头,只能包含0-9/a-z/A-Z/_,service.item总长度最短为3,最大为32。
metric_name
是
String
指标名称,可通过查询指标列表获取已有的告警规则的指标名。
from
是
String
查询数据起始时间,UNIX时间戳,单位毫秒。建议from的值相对于当前时间向前偏移至少1个周期。由于聚合运算的过程是将一个聚合周期范围内的数据点聚合到周期起始边界上,如果将from和to的范围设置在聚合周期内,会因为聚合未完成而造成查询数据为空,所以建议from参数相对于当前时间向前偏移至少1个周期。以5分钟聚合周期为例:假设当前时间点为10:35,10:30~10:35之间的原始数据会被聚合到10:30这个点上,所以查询5分钟数据点时from参数应为10:30或之前。
说明:云监控会根据所选择的聚合粒度向前取整from参数。
to
是
String
查询数据截止时间UNIX时间戳,单位毫秒。from必须小于to。
period
是
Integer
监控数据粒度。
取值范围:
- 1,实时数据
- 300,5分钟粒度
- 1200,20分钟粒度
- 3600,1小时粒度
- 14400,4小时粒度
- 86400,1天粒度
filter
是
String
数据聚合方式,支持的聚合方式如下:
- average:聚合周期内指标数据的平均值。
- max:聚合周期内指标数据的最大值。
- min:聚合周期内指标数据的最小值。
- sum:聚合周期内指标数据的求和值。
- variance:聚合周期内指标数据的方差。
说明:聚合运算的过程是将一个聚合周期范围内的数据点根据相应的聚合算法聚合到周期起始边界上,以5分钟聚合周期为例:假设当前时间点为10:35,则10:30~10:35之间的原始数据会被聚合到10:30这个时间点。
dim
是
String
指标的维度,目前最大支持3个维度,维度编号从0开始;维度格式为dim.{i}=key,value,key的最大长度32,value的最大长度为256。
以下维度说明仅为实例,具体是否支持多维度请参见各服务中维度说明,例如弹性云服务器维度维度中的instance_id。
单维度:dim.0=instance_id,i-12345
多维度:dim.0=instance_id,i-12345&dim.1=instance_name,i-1234
- 样例:
请求样例一:查看弹性云服务器ID为6f3c6f91-4b24-4e1b-b7d1-a94ac1cb011d的CPU使用率在2019-04-30 20:00:00到2019-04-30 22:00:00时间内,周期为20分钟的监控数据。
GET https://{云监控的endpoint}/V1.0/{project_id}/metric-data?namespace=SYS.ECS&metric_name=cpu_util&dim.0=instance_id,6f3c6f91-4b24-4e1b-b7d1-a94ac1cb011d&from=1556625600000&to=1556632800000&period=1200&filter=min
请求消息
无
响应消息
- 响应参数
- 响应样例
{ "datapoints": [ { "average": 0, "timestamp": 1442341200000, "unit": "Count" } ], "metric_name": "cpu_util" }
返回值
错误码
请参考返回错误码说明。