部分维度查询监控数据
接口描述
可根据多维度、单指标、多统计数据获取云产品指定时间范围内的监控数据。
接口限制
- 一个实例的任意一个指标一次返回的数据点数目不能超过1440个。
- 每次查询的维度组合数量不超过100个。
请求结构
- Method: POST
- Url: /csm/api/v2/userId/{userId}/services/{service}/data/metricData/PartialDimension
请求参数
名称 |
类型 |
描述 |
是否必须 |
参数位置 |
userId |
String |
用户 ID |
是 |
Path参数 |
service |
String |
云产品标识,取值请参考云产品标识列表 |
是 |
Path参数 |
startTime |
String |
监控数据开始时间,请参考日期与时间, UTC日期表示 |
是 |
Body参数 |
endTime |
String |
监控数据结束时间,请参考日期与时间,UTC日期表示 |
是 |
Body参数 |
statistics |
List<String> |
统计方法类型列表,可选值:average、maximum、minimum、sum、sampleCount |
是 |
Body参数 |
cycle |
int |
统计周期,单位:秒,默认值:60 |
否 |
Body参数 |
dimensions |
List<Dimension> |
维度列表 |
是 |
Body参数 |
resourceType |
String |
监控对象类型,取值请参考云产品监控对象类型列表 |
否 |
Body参数 |
metricName |
String |
监控指标名称 |
是 |
Body参数 |
region |
String |
区域标识,取值请参考区域列表 |
否 |
Body参数 |
pageNo |
int |
页面序号,默认为1 |
否 |
Body参数 |
pageSize |
int |
页面大小,默认为10,最大为100 |
否 |
Body参数 |
Dimension
名称 |
类型 |
描述 |
是否必须 |
name |
String |
维度key |
是 |
value |
String |
维度value |
是 |
响应参数
名称 |
类型 |
描述 |
requestId |
String |
请求标识 |
code |
String |
返回码 |
message |
String |
错误信息 |
result |
PageResult |
按页封装的结果 |
名称 |
类型 |
描述 |
pageNo |
int |
页码编号 |
pageSize |
int |
页面大小 |
totalCount |
int |
总共个数 |
result |
List<AllDataMetric> |
监控指标列表 |
AllDataMetric
名称 |
类型 |
描述 |
region |
String |
区域标识 |
scope |
String |
云产品标识 |
userId |
String |
用户ID |
resourceId |
String |
资源ID |
metricName |
String |
监控指标名称 |
dimensions |
List<Dimensions> |
维度列表 |
dataPoints |
List<DataPoint> |
监控指标数据 |
DataPoint
名称 |
类型 |
描述 |
average |
double |
统计周期内监控项的平均值 |
sum |
double |
统计周期内监控项的和值 |
minimum |
double |
统计周期内监控项的最小值 |
maximum |
double |
统计周期内监控项的最大值 |
sampleCount |
int |
统计周期内监控项数据点数 |
timestamp |
String |
监控数据对应的时间 |
请求示例
String endpoint = "http://bcm.bj.baidubce.com";
String userId = "a0d04d7c***************7b6752ce4";
String ak = "ALTAK***************3hVCYG";
String sk = "b2c53*******************f9993ac1";
BcmClientConfiguration config = new BcmClientConfiguration();
config.setCredentials(new DefaultBceCredentials(ak, sk));
config.setEndpoint(endpoint);
BcmClient bcmClient = new BcmClient(config);
List<Dimension> dimensions = new ArrayList<Dimension>();
Dimension dimension = new Dimension();
dimension.setName("BlbPortType");
dimension.setValue("TCP");
dimensions.add(dimension);
List<String> statistics = new ArrayList<String>();
statistics.add("sum");
PartialDimensionsMetricsRequest request = new PartialDimensionsMetricsRequest();
request.setScope("BCE_BLB");
request.setUserId(userId);
request.setMetricName("ActiveConnCount");
request.setDimensions(dimensions);
request.setRegion("bj");
request.setStatistics(statistics);
request.setStartTime("2024-03-20T02:21:17Z");
request.setEndTime("2024-03-20T03:21:17Z");
request.setResourceType("Blb");
request.setPageNo(1);
request.setPageSize(1);
TsdbMetricResult<PageResultResponse<TsdbMetricAllDataResult.AllDataMetric>> result = bcmClient.getMetricsByPartialDimensions(request);
响应示例
{
"metadata": {
"bceRequestId": "bfdb5d91-39e6-4c35-aa73-caf76ad3440f",
"transferEncoding": "chunked",
"contentLength": -1,
"contentType": "application/json;charset=UTF-8",
"date": 1713138814000
},
"requestId": "bfdb5d91-39e6-4c35-aa73-caf76ad3440f",
"code": "success",
"message": "",
"result": {
"pageNo": 1,
"pageSize": 1,
"totalCount": 66,
"result": [{
"region": "bj",
"scope": "BCE_BLB",
"userId": "a0d04d7c***************7b6752ce4",
"resourceId": "lb-****8446",
"metricName": "ActiveConnCount",
"dimensions": [{
"name": "BlbId",
"value": "lb-****8446"
}, {
"name": "BlbPort",
"value": "3306"
}, {
"name": "BlbPortType",
"value": "TCP"
}],
"dataPoints": [{
"sum": 0.0,
"timestamp": "2024-03-20T02:21:17Z"
}, {
"sum": 0.0,
"timestamp": "2024-03-20T02:22:17Z"
},
{
"sum": 0.0,
"timestamp": "2024-03-20T03:19:17Z"
}, {
"sum": 0.0,
"timestamp": "2024-03-20T03:20:17Z"
}, {
"timestamp": "2024-03-20T03:21:17Z"
}]
}]
}
}