推送自定义监控数据接口
更新时间:2023-09-19
接口描述
将数据推送至BCM进行监控。您在使用自定义监控功能时,可通过此接口将时序数据推送至BCM进行实时监控。
请求体
PushCustomMetricDataRequest
名称 |
类型 |
描述 |
是否必须 |
---|---|---|---|
userId | String | 租户ID | 是 |
namespace | String | 名字空间 | 是 |
metricName | String | 监控项名称 | 是 |
dimensions | List<Dimension> | 维度 | 是 |
value | double | 监控项的值, 和statisticValues必须有一个不为空 | 否 |
statisticValues | StatisticValues | 监控项的统计值,和value必须有一个不为空 | 否 |
timestamp | String, 请参考日期与时间,UTC日期表示 | 时间 | 是 |
Dimension
名称 |
类型 |
描述 |
是否必须 |
---|---|---|---|
name | String | 维度名 | 是 |
value | String | 维度值 | 是 |
StatisticValues
名称 |
类型 |
描述 |
是否必须 |
---|---|---|---|
maximum | double | 最大值 | 是 |
minimum | double | 最小值 | 是 |
average | double | 平均值 | 是 |
sum | double | 和值 | 是 |
sampleCount | integer | 样例数 | 是 |
响应体
PushMetricDataResponse
名称 |
类型 |
描述 |
---|---|---|
requestId | String | 请求标识 |
message | String | 错误信息 |
success | boolean | 是否成功 |
请求示例
Java
1 // create a bcm client
2 String endpoint = "bcm.bj.baidubce.com";
3 String userId = "fakeuser1ba678asdf8as7df6a5sdf67";
4 String ak = "ak";
5 String sk = "sk";
6 BcmClientConfiguration config = new BcmClientConfiguration();
7 config.setCredentials(new DefaultBceCredentials(ak, sk));
8 config.setEndpoint(endpoint);
9 BcmClient client = new BcmClient(config);
10
11 // push custom metric data with value and no dimension
12 PushCustomMetricDataRequest request = PushCustomMetricDataRequest.builder()
13 .userId(userId)
14 .namespace("test_wang")
15 .metricName("test_api_no_dimension")
16 .value(10.0)
17 .timestamp(DateUtils.formatAlternateIso8601Date(new Date(System.currentTimeMillis() - 10 * 60 * 1000)))
18 .build();
19 PushMetricDataResponse response = client.pushCustomMonitorMetricData(request);
20 System.out.println(JsonUtils.toJsonString(response));
21
22 // push custom metric data with statistic value and dimension
23 List<Dimension> dimensions = new ArrayList<>();
24 dimensions.add(new Dimension().withName("dimension1").withValue("d1"));
25 dimensions.add(new Dimension().withName("dimension2").withValue("d2"));
26 StatisticValue value = StatisticValue.builder()
27 .maximum(1.0).minimum(2.0).sum(3.0).sampleCount(1).average(4.0).build();
28 request = PushCustomMetricDataRequest.builder()
29 .userId(userId)
30 .namespace("test_wang")
31 .metricName("test_api_time")
32 .dimensions(dimensions)
33 .statisticValues(value)
34 .timestamp(DateUtils.formatAlternateIso8601Date(new Date(System.currentTimeMillis() - 10 * 60 * 1000)))
35 .build();
36 response = client.pushCustomMonitorMetricData(request);
37 System.out.println(JsonUtils.toJsonString(response));