说明:当前页面接口为旧版 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,
....
]
}