读取监控数据

最近更新时间:2018-06-29 17:38:05

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
    ]
}