有奖捉虫:云通信与企业服务文档专题,速来> HOT
说明:

当前页面接口为旧版 API,未来可能停止维护。容器服务 API 3.0 版本接口定义更加规范,访问时延下降显著,建议使用 容器服务 API 3.0

1. 接口描述

本接口 ( GetMonitorData )用于查询容器服务相关监控信息。
接口请求域名:monitor.api.qcloud.com

注意:
此域名与容器服务其他 API 接口不一样。

参数名称 描述 类型 必选
namespace 命名空间,具体见下面详细解释 String
metricName 指标名称,具体见下面每个指标的详细解释 String
dimensions.n.name 维度的名称,与 dimensions.n.value 配合使用,具体见下面详细解释 String
dimensions.n.value 对应的维度的值,与 dimensions.n.name 配合使用,具体见下面详细解释 String
period 监控统计周期。支持 60,300,3600,86400,单位秒。具体见下面详细解释 Int
startTime 起始时间,如 " 2016-01-01 10:25:00 "。 默认时间为当天的 “ 00:00:00 ” Datetime
endTime 结束时间,默认为当前时间。 endTime 不能小于 startTime Datetime

namespace 详细说明

可取值 描述 类型
qce / cvm 获取集群 CPU 和内存使用率 String
qce / docker 获取服务,实例,容器相关监控 String

dimensions 详细说明
1.dimensions.n.name 和 dimensions.n.value 用来指定一个监控对象。有的对象需要多个维度才确定。
如在容器服务中当需要获取 service_cpu_used ( 服务 CPU 使用率)时需要指定 clusterId,serviceName 和 namespace 三个维度。

dimensions.0.name=clusterId
dimensions.0.value=cls-xxxxx
dimensions.1.name=serviceName
dimensions.1.value=test
dimensions.2.name=namespace
dimensions.2.value=default

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

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

period 详细说明

可取值 描述 类型
60 1 分钟粒度 Int
300 5 分钟粒度 Int
3600 1 小时粒度 Int
86400 1 天粒度 Int

3. 输出参数

参数名称 描述 类型
code 错误码,0 表示成功, 其他值表示失败 Int
codeDesc 业务侧错误码。成功时返回 Success,错误时返回具体业务错误原因 String
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.集群维度监控指标

查询集群维度监控数据,入参取值如下:
维度名称取值:docker_clusterid
namespace:qce / cvm
dimensions.0.name = docker_clusterid
dimensions.0.value 为集群 ID,请填写 查询集群列表 接口中返回的 clusterId (集群的 ID )字段。

metricName 可选取值范围

监控项 说明 指标名称 单位
集群 CPU 利用率 集群内节点的平均 CPU 利用率 dc_cpu_usage %
集群内存利用率 集群内节点的平均内存利用率 dc_mem_usage %

查询集群维度监控数据示例
输入

https://monitor.api.qcloud.com/v2/index.php?
&<公共请求参数>
&namespace=qce/cvm
&metricName=dc_cpu_usage
&dimensions.0.name=docker_clusterid
&dimensions.0.value=cls-xxxxx
&startTime=2017-03-28 14:10:00
&endTime=2016-03-28 15:10:00
&period=60

输出

{
    "code": 0,
    "message": "",
    "metricName": "dc_cpu_usage",
    "startTime": "2017-03-28 14:10:00",
    "endTime": "2016-03-28 15:10:00",
    "period": 60,
    "dataPoints": [
        30,
        40,
        ....
    ]
}

6.服务维度监控指标

查询服务维度监控数据,入参取值如下:
维度名称取值:clusterId,serviceName,namespace
namespace: qce / docker
dimensions.0.name = clusterId
dimensions.0.value 为集群 ID,请填写 查询集群列表 接口中返回的 clusterId (集群的 ID )字段。
dimensions.1.name = serviceName
dimensions.1.value 为服务名称,请填写 查询服务列表 接口中返回的 serviceName (服务名)字段。
dimensions.2.name = namespace
dimensions.2.value 为命名空间名称,请填写 查询服务列表 接口中返回的 namespace (命名空间)字段。

metricName 可选取值范围:

监控项 说明 指标名称 单位
服务 CPU 使用情况 服务内所有容器实例 CPU 使用之和 service_cpu_used
服务 CPU 使用率(占集群) 服务使用 CPU 占集群比率 service_cpu_usage_for_cluster %
服务内存使用情况 服务内所有容器实例内存使用之和 service_mem_used MiB
服务内存使用率(占集群) 服务使用内存占集群比率 service_mem_usage_for_cluster %
服务网络入流量 服务内所有实例在该时间窗口入流量之和 service_in_flux MB
服务网络出流量 服务内所有实例在该时间窗口出流量之和 service_out_flux MB
服务网络入带宽 服务内所有实例的入带宽之和 service_in_bandwidth Mbps
服务网络出带宽 服务内所有实例的出带宽之和 service_out_bandwidth Mbps
服务网络入包量 服务内所有实例的入包量之和 service_in_packets 个 / s
服务网络出包量 服务内所有实例的出包量之和 service_out_packets 个 / s

查询服务维度监控数据示例:
输入

https://monitor.api.qcloud.com/v2/index.php?
&<公共请求参数>
&namespace=qce/docker
&metricName=service_cpu_used
&dimensions.0.name=clusterId
&dimensions.0.value=cls-xxxxx
&dimensions.1.name=serviceName
&dimensions.1.value=test
&dimensions.2.name=namespace
&dimensions.2.value=default
&startTime=2017-03-28 14:10:00
&endTime=2016-03-28 15:10:00
&period=60

输出

{
    "code": 0,
    "message": "",
    "metricName": "service_cpu_used",
    "startTime": "2017-03-28 14:10:00",
    "endTime": "2016-03-28 15:10:00",
    "period": 60,
    "dataPoints": [
        30,
        40,
        ....
    ]
}

7.实例维度监控指标

查询实例维度监控数据,入参取值如下:
维度名称取值:clusterId,serviceName,namespace,podName
namespace: qce/docker
dimensions.0.name = clusterId
dimensions.0.value 为集群 ID,请填写 查询集群列表 接口中返回的 clusterId (集群的 ID )字段。
dimensions.1.name = serviceName
dimensions.1.value 为服务名称,请填写 查询服务列表 接口中返回的 serviceName (服务名)字段。
dimensions.2.name = namespace
dimensions.2.value 为命名空间名称,请填写 查询服务列表 接口中返回的 namespace (命名空间)字段。
dimensions.3.name = podName
dimensions.3.value 为实例名称,请填写 查询服务实例列表 接口中返回的 name (实例名称)字段。

metricName 可选取值范围:

监控项 说明 指标名称 单位
实例网络入带宽 同一实例内容器共享网络,实例 ( pod ) 的网络入带宽 pod_in_bandwidth Mbps
实例网络出带宽 同一实例内容器共享网络,实例 ( pod ) 的网络出带宽 pod_out_bandwidth Mbps
实例网络入流量 同一实例内容器共享网络,实例 ( pod ) 的网络入流量 pod_in_flux MB
实例网络出流量 同一实例内容器共享网络,实例 ( pod ) 的网络出流量 pod_out_flux MB
实例网络入包量 同一实例内容器共享网络,实例 ( pod ) 的网络入包量 pod_in_packets 个 / s
实例网络出包量 同一实例内容器共享网络,实例 ( pod ) 的网络出包量 pod_out_packets 个 / s

查询实例维度监控数据示例:
输入

https://monitor.api.qcloud.com/v2/index.php?
&<公共请求参数>
&namespace=qce/docker
&metricName=pod_in_bandwidth
&dimensions.0.name=clusterId
&dimensions.0.value=cls-xxxxx
&dimensions.1.name=serviceName
&dimensions.1.value=test
&dimensions.2.name=namespace
&dimensions.2.value=default
&dimensions.3.name=podName
&dimensions.3.value=test-3488000495-nj6s9
&startTime=2017-03-28 14:10:00
&endTime=2016-03-28 15:10:00
&period=60

输出

{
    "code": 0,
    "message": "",
    "metricName": "pod_in_bandwidth",
    "startTime": "2017-03-28 14:10:00",
    "endTime": "2016-03-28 15:10:00",
    "period": 60,
    "dataPoints": [
        30,
        40,
        ....
    ]
}

8.容器维度监控指标

查询容器维度监控数据,入参取值如下:
维度名称取值:clusterId,serviceName,namespace,podName,containerId
namespace: qce / docker
dimensions.0.name = clusterId
dimensions.0.value 为集群 ID,请填写 查询集群列表 接口中返回的 clusterId (集群的 ID )字段。
dimensions.1.name = serviceName
dimensions.1.value 为服务名称,请填写 查询服务列表 接口中返回的 serviceName (服务名)字段。
dimensions.2.name = namespace
dimensions.2.value 为命名空间名称,请填写 查询服务列表 接口中返回的 namespace (命名空间)字段。
dimensions.3.name = podName
dimensions.3.value 为实例名称,请填写 查询服务实例列表 接口中返回的 name (实例名称)字段。
dimensions.4.name = containerId
dimensions.4.value 为容器 ID,请填写 查询服务实例列表 接口中返回的 containerId (容器 ID )字段。

注意:
容器 ID 只用取开头 12 位即可。

metricName 可选取值范围:

监控项 说明 指标名称 单位
容器 CPU 使用情况 容器 CPU 使用量 container_cpu_used
容器 CPU 使用率(占主机) 容器 CPU 使用占主机 container_cpu_usage_for_node %
容器 CPU 使用率(占 Request ) 容器 CPU 使用占 Request container_cpu_usage_for_request %
容器 CPU 使用率(占 Limit ) 容器 CPU 使用占 Limit container_cpu_usage_for_limit %
容器内存使用情况 容器内存使用量 container_mem_used MiB
容器内存使用率(占主机) 容器内存使用占主机 container_mem_usage_for_node %
容器内存使用率(占 Request ) 容器内存使用占 Request container_mem_usage_for_request %
容器内存使用率(占 Limit ) 容器内存使用占 Limit container_mem_usage_for_limit %
容器磁盘读流量 容器对磁盘读流量 container_disk_read_traffic KB / s
容器磁盘写流量 容器对磁盘写流量 container_disk_write_traffic KB / s
容器磁盘读I容器对磁盘读 IOPS OPS container_disk_read count
容器磁盘写I容器对磁盘写 IOPS OPS container_disk_write count

查询容器维度监控数据示例
输入

https://monitor.api.qcloud.com/v2/index.php?
&<公共请求参数>
&namespace=qce/docker
&metricName=container_cpu_used
&dimensions.0.name=clusterId
&dimensions.0.value=cls-xxxxx
&dimensions.1.name=serviceName
&dimensions.1.value=test
&dimensions.2.name=namespace
&dimensions.2.value=default
&dimensions.3.name=podName
&dimensions.3.value=test-3488000495-nj6s9
&dimensions.4.name=containerId
&dimensions.4.value=01c5509d2b39
&startTime=2017-03-28 14:10:00
&endTime=2016-03-28 15:10:00
&period=60

输出

{
    "code": 0,
    "message": "",
    "codeDesc": "Success",
    "metricName": "container_cpu_used",
    "startTime": "2017-03-28 14:10:00",
    "endTime": "2016-03-28 15:10:00",
    "period": 60,
    "dataPoints": [
        30,
        40,
        ....
    ]
}