5.4 监控数据管理
5.4.3 批量查询监控数据
功能介绍
批量查询指定时间范围内指定指标的指定粒度的监控数据,目前最多支持500指标的批 量查询。
调试
您可以在API Explorer中调试该接口。
URI
POST /V1.0/{project_id}/batch-query-metric-data
● 参数说明
表5-87 参数说明
名称 是否必选 说明
project_id 是 项目ID。
获取方式请参见获取项目ID。
请求消息
须知
1. 单次POST请求消息体大小不能超过512KB,否则请求会被服务端拒绝。
2. 对于不同的period取值和查询的指标数量,默认的最大查询区间(to - from)不同,
规则为“指标数量 * (to - from) / 监控周期 ≤ 3000”。
● 当period值为“1”时,监控周期为60*1000ms=60000ms。
● 当period值为"300" 时,监控周期为300*1000ms=300000ms。
● 当period值为"1200" 时,监控周期为1200*1000ms=1200000ms。
● 当period值为"3600" 时,监控周期为3600*1000ms=3600000ms。
● 当period值为"14400" 时,监控周期为14400*1000ms=14400000ms。
● 当period值为"86400" 时,监控周期为86400*1000ms=86400000ms。
例如批量查询300个指标,监控周期为60000ms,可算出(to - from)最大值为
"600000",若设定的请求参数使(to - from)超出最大值,from值会自动调整为
"to-600000"。
● 请求参数
表5-88 请求参数
名称 是否必选 参数类型 说明
metrics 是 Arrays of
objects 指标数据。数组长度最大500。
详细参数请参见表5-89。
from 是 long 查询数据起始时间,UNIX时间
戳,单位毫秒。建议from的值相对 于当前时间向前偏移至少1个周 期。由于聚合运算的过程是将一个 聚合周期范围内的数据点聚合到周 期起始边界上,如果将from和to的 范围设置在聚合周期内,会因为聚 合未完成而造成查询数据为空,所 以建议from参数相对于当前时间向 前偏移至少1个周期。以5分钟聚合 周期为例:假设当前时间点为 10:35,10:30~10:35之间的原始数 据会被聚合到10:30这个点上,所 以查询5分钟数据点时from参数应 为10:30或之前。
说明
云监控会根据所选择的聚合粒度向前 取整from参数。
to 是 long 查询数据截止时间UNIX时间戳,
单位毫秒。from必须小于to。
名称 是否必选 参数类型 说明
period 是 String 监控数据粒度。
枚举值,取值范围:
● "1",原始数据
● "300",5分钟粒度
● "1200",20分钟粒度
● "3600",1小时粒度
● "14400",4小时粒度
● "86400",1天粒度
filter 是 String 数据聚合方式,支持的聚合方式如 下:
● average:聚合周期内指标数据 的平均值。
● max:聚合周期内指标数据的 最大值。
● min:聚合周期内指标数据的最 小值。
● sum:聚合周期内指标数据的 求和值。
● variance:聚合周期内指标数据 的方差。
filter参数的值不会影响原始数据
(period为1)的查询结果。
表5-89 metrics 字段数据结构说明
名称 是否必选 参数类型 说明
namespace 是 String 指标命名空间,格式为
service.item;service和item必须 是字符串,必须以字母开头,只能 包含0-9/a-z/A-Z/_,service.item 总长度最短为3,最大为32。
dimensions 是 Arrays of
objects 指标维度列表。
单个维度为json对象,结构说明如 下:
{
"name": "instance_id",
"value": "33328f02-3814-422e-b688-bfdba93d4050"
}
详细参数请参见表5-90。
名称 是否必选 参数类型 说明
metric_name 是 String 指标名称,必须以字母开头,只能 包含0-9/a-z/A-Z/_,长度最短为 1,最大为64。
表5-90 dimensions 字段数据结构说明
名称 是否必选 参数类型 说明
● 对于dimensions字段的内容,可通过调用查询指标列表接口,在其响应体的相关指标 数据中获取。
● 对于OBS相关指标数据,当进行了相关OBS接口操作时可查询到相关指标数据,否则查 询结果为空。
● 请求样例
请求样例一:查看维度是instance_id为faea5b75-e390-4e2b-8733-9226a9026070的弹性云服务器的监控数据cpu_util和维度 instance_id为06b4020f-461a-4a52-84da-53fa71c2f42b的弹性云服务器的监控 数据network_vm_connections,在2019-04-30 20:00:00到2019-04-30 22:00:00 时间内,原始数据的平均值。
"value": "06b4020f-461a-4a52-84da-53fa71c2f42b"
"from": 1556625600000, "to": 1556632800000, "period": "1", "filter": "average"
}
请求样例二:查看维度是rds_cluster_id为
3c8cc15614ab46f5b8743317555e0de2in01的关系性数据库的监控数据 rds021_myisam_buf_usage和维度是rds_cluster_id为
3b2fa8b55a9b4adca3713962a9d31884in01的关系性数据库的监控数据
rds021_myisam_buf_usage,在2019-04-30 20:00:00到2019-04-30 22:00:00时 间内,原始数据的求和值。
"metric_name": "rds021_myisam_buf_usage"
},
"metric_name": "rds021_myisam_buf_usage"
} ],
"from": 1556625600000, "to": 1556632800000, "period": "1", "filter": "sum"
}
请求样例三:查看维度是instance_id为cd841102-f6b1-407d-a31f-235db796dcbb和proc为b28354b543375bfa94dabaeda722927f的主机监控 的监控数据proc_specified_count,在2019-04-30 20:00:00到2019-04-30
22:00:00时间内,周期为20分钟时,指标数据的最小值。
"from": 1556625600000, "to": 1556632800000, "period": "1200", "filter": "min"
}
响应消息
● 响应参数
表5-91 响应参数
名称 参数类型 说明
metrics Arrays of
objects 指标数据。
详细参数请参见表5-92。
表5-92 metrics 字段数据结构说明
名称 参数类型 说明
unit String 指标单位。
datapoints Arrays of
objects 指标数据列表。由于查询数据时,云监控会根据所 选择的聚合粒度向前取整from参数,所以
datapoints中包含的数据点有可能会多于预期。
详细参数请参见表5-94。
namespace String 指标命名空间,格式为service.item;service和 item必须是字符串,必须以字母开头,只能包含 0-9/a-z/A-Z/_,service.item总长度最短为3,最大 为32。
dimensions Arrays of
objects 指标维度列表。
单个维度为json对象,结构说明如下:
{
"name": "instance_id",
"value": "33328f02-3814-422e-b688-bfdba93d4050"
}
详细参数请参见表5-93。
metric_nam
e String 指标名称,必须以字母开头,只能包含0-9/a-z/A-Z/_,长度最短为1,最大为64。
表5-93 dimensions 字段数据结构说明
名称 参数类型 说明
name String 监控维度名称,例如弹性云服务器的维度为 instance_id。各服务维度请参考支持监控的服务列 表,可参考维度中key字段。
必须以字母开头,只能包含0-9/a-z/A-Z/_/-,长度 最短为1,最大为32。
value String 维度取值,例如弹性云服务器的ID。
必须以字母或数字开头,只能包含0-9/a-z/A-Z/
_/-,长度最短为1,最大为256。
表5-94 datapoints 字段数据结构说明
名称 参数类型 说明
average double 聚合周期内指标数据的平均值。
max double 聚合周期内指标数据的最大值。
min double 聚合周期内指标数据的最小值。
sum double 聚合周期内指标数据的求和值。
variance double 聚合周期内指标数据的方差。
timestamp long 指标采集时间,UNIX时间戳,单位毫秒。
● 响应样例
{
"metric_name": "rds021_myisam_buf_usage"
},
],
"metric_name": "rds021_myisam_buf_usage"
}
"metric_name": "rds021_myisam_buf_usage"
}
400 Bad Request 请求错误。
401 Unauthorized 未提供认证信息,或认证信息错误。
403 Forbidden 请求页面被禁止访问。
408 Request Timeout 请求超出了服务器的等待时间。
429 Too Many Requests 当前请求过多。
500 Internal Server
Error 请求未完成,服务异常。
503 Service Unavailable 系统暂时不可用,请求受限。
错误码
请参考返回错误码说明。