全部产品
云市场

QueryMonitorInfo

更新时间:2019-08-28 18:14:52

功能

查询监控信息(基础监控 + 服务监控)

请求 URL

/pop/v5/monitor/queryMonitorInfo

请求方法

GET

请求参数

名称 类型 必填 说明
Start Long 开始时间,ms
End Long 结束时间,ms
Metric String 指标,可选21种指标,详见 metric
Tags String 维度
Aggregator String 聚合方式,可选 sum、avg、max、min
Interval String 时间粒度,可选1m(1分钟)、5m(5分钟)、15m(15分钟)、1h(1小时),默认1m

tags 说明

Map<String,String>序列化后的 JSON String。支持:应用维度、应用分组维度、应用实例维度和服务维度。

维度名称 需要指定的 tagK 字段
应用 appId
应用分组 appId、groupId
应用实例 appId、groupId、eccId
服务 appId、groupId、serviceName
依赖的应用分组 appId、groupId、targetAppId、targetGroupId
依赖的服务 appId、groupId、targetAppId、targetGroupId、targetServiceName

metric

metric 共包含21种指标,支持不同的维度(tags)及聚合方式(aggregator)。

指标名称 指标含义 支持的维度 支持的聚合器
system.cpu CPU 利用率 应用、应用分组、应用实例 min、max、avg
system.load 负载 应用、应用分组、应用实例 min、max、avg
system.memory.total 总内存 应用、应用分组、应用实例 min、max、avg
system.memory.used 已经使用的内存 应用、应用分组、应用实例 min、max、avg
system.net.out 网络发送速度 应用、应用分组、应用实例 sum、avg
system.net.in 网络接收速度 应用、应用分组、应用实例 sum、avg
system.disk.total 磁盘总容量 应用、应用分组、应用实例 min、max、avg
system.disk.used 磁盘已使用容量 应用、应用分组、应用实例 min、max、avg
system.disk.io.out 磁盘读速度 应用、应用分组、应用实例 min、max、avg
system.disk.io.in 磁盘写速度 应用、应用分组、应用实例 min、max、avg
system.disk.count.out 磁盘读请求次数 应用、应用分组、应用实例 min、max、avg
system.disk.count.in 磁盘写请求次数 应用、应用分组、应用实例 min、max、avg
service.http.qps HTTP 调用 QPS 应用分组、服务 sum
service.http.errorQps HTTP 调用错误 QPS 应用分组、服务 sum
service.http.rt HTTP 调用 RT 应用分组、服务 avg
service.rpc.server.qps RPC 服务端被调用 QPS 应用分组、服务 sum
service.rpc.server.errorQps RPC 服务端被调用错误 QPS 应用分组、服务 sum
service.rpc.server.rt RPC 服务端本地 RT 应用分组、服务 avg
service.rpc.client.qps RPC 客户端被调用 QPS 依赖的应用分组、依赖的服务 sum
service.rpc.client.errorQps RPC 客户端调用错误 QPS 依赖的应用分组、依赖的服务 sum
service.rpc.client.rt RPC 客户端本地 RT 依赖的应用分组、依赖的服务 avg

返回参数

名称 类型 说明
Code Integer code 码
Message String 信息
MonitorInfo Json 监控信息,符合 open TSDB 标准

其它说明

  1. 本接口流量控制如下:分钟内总调用次数不得超过1200次,每个用户分钟内调用次数不得超过20次
  2. 查询时间跨度(end - start)不得超过1周

示例

下面以查询应用分组一天内的平均 CPU,为例进行说明,帮助您更好的理解和使用。

请求代码

  1. // 构造 POP 客户端
  2. DefaultAcsClient defaultAcsClient = getAcsClient(EDAS_TEST1_AK, EDAS_TEST1_SK, REGION_HUADONG2);
  3. final Map<String, String> tags = new HashMap<String, String>() {
  4. {
  5. // 需要查询的应用的 ID
  6. put("appId", "3e06d38a-b19d-4337-ab49-f09015d584f2");
  7. // 需要查询的应用分组 ID
  8. put("groupId", "d9814437-d37d-48f6-abd0-6db82ea30b3e");
  9. }
  10. };
  11. // 构造 POP 查询请求
  12. QueryMonitorInfoRequest request = new QueryMonitorInfoRequest();
  13. long end = System.currentTimeMillis() - 1000;
  14. long start = end - 24 * 3600 * 1000;
  15. // 设置查询时间起点
  16. request.setStart(start);
  17. // 设置查询时间终点
  18. request.setEnd(end);
  19. // 设置查询指标
  20. request.setMetric("system.cpu");
  21. // 设置查询维度
  22. request.setTags(JSON.toJSONString(tags));
  23. // 设置查询聚合方式
  24. request.setAggregator("avg");
  25. // 设置查询时间粒度
  26. request.setInterval("1h");
  27. // 执行调用
  28. QueryMonitorInfoResponse response = defaultAcsClient.getAcsResponse(request);
  29. // 获取查询结果
  30. log.info(response.getMonitorInfo());

返回代码

  1. [{"aggregatedTags":["regionId","appId","groupId","userId"],"dps":
  2. [[1510714800000,4.38],[1510718400000,4.05],[1510722000000,4.07],
  3. [1510725600000,4.22],[1510729200000,4.05],[1510732800000,3.92],
  4. [1510736400000,4.02],[1510740000000,4.08],[1510743600000,4.1],
  5. [1510747200000,4.27],[1510750800000,3.95],[1510754400000,3.95],
  6. [1510758000000,4.03],[1510761600000,3.68],[1510765200000,3.77],
  7. [1510768800000,3.97],[1510772400000,3.77],[1510776000000,3.85],
  8. [1510779600000,4.15],[1510783200000,4.17],[1510786800000,3.98],
  9. [1510790400000,3.97],[1510794000000,3.87],[1510797600000,3.83],
  10. [1510801200000,43.86]],"metric":"system.cpu"}]

场景说明

为了更形象的表达实例的使用场景,以 EDAS 控制台的基础监控页面为例,说明通过上面的代码实例可以查询到的监控信息。如果需要获取其它数据,修改相应的请求参数即可。

图中橙色部分为请求参数,绿色为返回参数及响应信息。

QueryMonitorInfo 场景说明

您也可以使用你的监控系统设置响应信息的呈现方式。