批量数据查询接口
更新时间:2024-04-18
接口描述
可获取批量实例数据的接口,支持多维度多指标查找。可获取云产品监控数据、站点监控数据或您推送的自定义监控数据。
接口限制
• 一个实例的任意一个指标一次返回的数据点数目不能超过1440个。
请求参数
名称 | 类型 | 描述 | 是否必须 | 参数位置 |
---|---|---|---|---|
userId | String | 租户ID | 是 | URL参数 |
scope | String,仅限于使用如下字符集合:"0~9、A~Z、a~z"、 "_" | 名字空间 | 是 | URL参数 |
metricName | String,仅限于使用如下字符集合:"0~9、A~Z、a~z"、 "_" 当需要查找多个指标项时,使用String数组存储,每个数组元素为一个指标项 |
监控指标名 | 是 | Query参数 |
statistics | Statistics,按照statistics1,statistics2,statistics3格式,可选值为average,maximum,minimum,sum,sampleCount | 统计方法类型 | 是 | Query参数 |
dimensions | String,由dimensionName:dimensionValue组成。当监控项具备多个维度时使用分号连接,例如dimensionName:dimensionValue;dimensionName:dimensionValue,相同维度只能指定一个维度值。 需要查找批量实例数据时,使用逗号将各个实例的完整维度连接,例如dimensionName:dimensionValue,dimensionName:dimensionValue |
维度列表 | 是 | Query参数 |
startTime | DateTime,请参考日期与时间,UTC日期表示 | 查询起始时间 | 是 | Query参数 |
endTime | DateTime,请参考日期与时间,UTC日期表示 | 查询截止时间 | 是 | Query参数 |
periodInSecond | int,60的倍数,单位:秒(s) | 统计周期 | 是 | Query参数 |
参数解释
- 名字空间scope、监控项metric、统计方法Statistic、维度Dimension等的概念请参考核心概念。
响应参数
名称 | 类型 | 描述 |
---|---|---|
requestId | String | 请求标识 |
code | String | 返回码 |
message | String | 错误信息 |
errorList | List<ErrorMetricData> | 错误的监控指标 |
successList | List<SuccessMetricData> | 成功的监控指标 |
ErrorMetricData
名称 | 类型 | 描述 |
---|---|---|
metricName | String | 指标名称 |
message | String | 错误信息 |
dimensions | List<Dimension> | 维度信息 |
SuccessMetricData
名称 | 类型 | 描述 |
---|---|---|
metricName | String | 指标名称 |
dimensions | List<Dimension> | 维度信息 |
dataPoints | List<DataPoint> | 监控指标 |
Dimension
名称 | 类型 | 描述 |
---|---|---|
name | String | 维度名 |
value | String | 维度值 |
DataPoint
名称 | 类型 | 描述 |
---|---|---|
average | double | 统计周期内监控项的平均值 |
sum | double | 统计周期内监控项的和值 |
minimum | double | 统计周期内监控项的最小值 |
maximum | double | 统计周期内监控项的最大值 |
sampleCount | int | 统计周期内监控项数据点数 |
timestamp | DateTime,请参考日期与时间,UTC日期表示 | 监控项统计周期对应的时间 |
请求示例
// 多个实例ID,使用逗号分开;例如: i-RN****Hw,i-YB****4F
dimensions := map[string]string{
"InstanceId": "i-RN****Hw",
}
req := &model.BatchGetMetricDataRequest{
UserId: "453bf9********************9090dc",
Scope: "BCE_BCC",
MetricNames: []string{"vCPUUsagePercent", "CpuIdlePercent"},
Dimensions: dimensions,
Statistics: []string{"average", "sum"},
PeriodInSecond: 60,
StartTime: time.Now().UTC().Add(-2 * time.Hour).Format("2006-01-02T15:04:05Z"),
EndTime: time.Now().UTC().Add(-1 * time.Hour).Format("2006-01-02T15:04:05Z"),
}
resp, err := bcmClient.BatchGetMetricData(req)
响应结果
{
"metadata": {
"bceRequestId": "024348c6-1ef4-4ee5-a411-c48ddf6b9cdd"
},
"requestId": "024348c6-1ef4-4ee5-a411-c48ddf6b9cdd",
"code": "OK",
"message": "",
"errorList": null,
"successList": [
{
"metricName": "vCPUUsagePercent",
"dimensions": [
{
"name": "InstanceId",
"value": "i-RN****Hw"
}
],
"dataPoints": [
{
"average": 5.974418891389501,
"sum": null,
"maximum": 5.974689065937,
"minimum": null,
"sampleCount": null,
"value": null,
"timestamp": "2024-04-11T07:01:00Z"
}
]
},
{
"metricName": "CpuIdlePercent",
"dimensions": [
{
"name": "InstanceId",
"value": "i-RN****Hw"
}
],
"dataPoints": [
{
"average": 0.4166418167165,
"sum": null,
"maximum": 0.483133433283,
"minimum": null,
"sampleCount": null,
"value": null,
"timestamp": "2024-04-11T07:01:00Z"
}
]
}
]
}