读取监控数据

最近更新时间:2019-09-10 14:16:07

1. 接口描述

域名:monitor.api.qcloud.com
接口:GetMonitorData

获取云产品的监控数据。传入产品的命名空间、对象维度描述和监控指标即可获得相应的监控数据。

注意:

读取监控数据新接口 GetMonitorData 支持1分钟粒度数据拉取,后期会支持更多产品更细粒度监控数据,旧接口 GetMetricStatistics 不再更新。建议您切换至此接口。

2. 输入参数

以下请求参数列表仅列出了接口请求参数,正式调用时需要加上公共请求参数,见 公共请求参数 页面。其中,此接口的 Action 字段为 GetMonitorData。

参数名称 必选 类型 描述
namespace String 命名空间,每个云产品会有一个命名空间,具体名称见第5小节
metricName String 指标名称,具体名称见各产品监控接口中的说明文档
dimensions.n.name String 维度的名称
dimensions.n.value String 对应的维度的值
period Int 监控统计周期。默认为取值为300,单位为s。目前CVM、负载均衡、容器服务支持60s、300s粒度,其他产品支持仅300s。后续将逐步支持更多产品
startTime Datetime 起始时间,如"2016-01-01 10:25:00"。 默认时间为当天的”00:00:00”
endTime Datetime 结束时间,默认为当前时间。 endTime 不能小于 startTime

3. 输出参数

参数名称 类型 描述
code Int 错误码,0:成功,他值表示失败
message String 返回信息
startTime Datetime 起始时间
endTime Datetime 结束时间
metricName String 指标名称
period Int 监控统计周期
dataPoints Array 监控数据列表

4. 错误码

错误代码 错误描述 英文描述
-502 资源不存在 OperationDenied.SourceNotExists
-503 请求参数有误 InvalidParameter
-505 参数缺失 InvalidParameter.MissingParameter
-507 超出限制 OperationDenied.ExceedLimit
-509 错误的维度组合 InvalidParameter.DimensionGroupError
-513 DB操作失败 InternalError.DBoperationFail

5. 示例

输入

https://monitor.api.qcloud.com/v2/index.php?
&<公共请求参数>
&namespace=qce/lb
&metricName=pvv_outtraffic
&dimensions.0.name=protocol
&dimensions.0.value=tcp
&dimensions.1.name=vip
&dimensions.1.value=123.206.201.134
&dimensions.2.name=vport
&dimensions.2.value=80
&startTime=2016-06-28 14:10:00
&endTime=2016-06-28 14:20:00

输出

{
    "code": 0,
    "message": "",
    "metricName": "pvv_outtraffic",
    "startTime": "2016-06-28 14:10:00",
    "endTime": "2016-06-28 14:20:00",
    "period": 300,
    "dataPoints": [
        5.6,
        6.4,
        7.7
    ]
}

6. 特别说明

1)接口调用频率限制为:50次/秒,500次/分钟。若您需要调用的指标、对象较多,可能存在因限频出现拉取失败的情况,建议尽量将请求按时间维度均摊。

2)dimensions.n.name 和 dimensions.n.value 用来指定一个监控对象。有的对象需要多个维度才确定。
如在负载均衡中当需要获取 pvv_outtraffic(出流量)时需要指定 protocol,vip,vport三个维度。

dimensions.0.name=protocol
dimensions.0.value=tcp
dimensions.1.name=vip
dimensions.1.value=123.206.201.134
dimensions.2.name=vport
dimensions.2.value=80

3)由于数据上报存储有一定延时,当前最新时刻返回的数据有可能为空。建议拉取数据时拉取最近的一段时间(一次性拉取2~3个数据点),取最近的一个有数据的点作为最新数据。

4)返回的结果dataPoints是一个数组,数组每个元素是监控点数据。在下面的输出结果中,dataPoints 的三个数据,表示[14:00,14:05];[14:05,14:10]两个时间段统计的数据结果,返回的数据是闭区间,包含14:00、14:05、14:10三个点。

{
    "code": 0,
    "message": "",
    "metricName": "pvv_outtraffic",
    "startTime": "2016-06-28 14:00:00",
    "endTime": "2016-06-28 14:10:00",
    "period": 300,
    "dataPoints": [
        5.6,
        6.4,
        7.7
    ]
}