1. 接口描述
域名:monitor.api.qcloud.com
接口:GetMonitorData
腾讯云云服务器(Cloud Virtual Machine,CVM)是指运行在腾讯云数据中心里的服务器。 具体介绍请参考 云服务器产品 文档。
查询云服务器监控数据,入参取值如下:
namespace:qce/cvm
dimensions.0.name=unInstanceId
dimensions.0.value 为云服务器 ID,调用 DescribeInstances 接口获取的 unInstanceId 字段。
2. 输入参数
以下请求参数列表仅列出了接口请求参数,正式调用时需要加上公共请求参数,见 公共请求参数 文档。其中,此接口的 Action 字段为 GetMonitorData。
2.1 输入参数
参数名称 | 必选 | 类型 | 输入内容 | 描述 |
---|---|---|---|---|
namespace | 是 | String | qce/cvm | 命名空间,每个云产品会有一个命名空间,具体名称见输入内容一栏。 |
metricName | 是 | String | 具体的指标名称 | 指标名称,具体名称见本文2.2章节 |
dimensions.0.name | 是 | String | unInstanceId | 入参为服务器 ID |
dimensions.0.value | 是 | String | 云服务器的具体 ID | 调用 DescribeInstances 接口获取的 unInstanceId 字段 |
period | 否 | Int | 60/300 | 监控统计周期,绝大部分指标支持60s统计粒度,部分指标仅支持300s统计粒度,统计粒度根据指标的不同而变。输入参数时可参考本文2.2章节的指标详情列表。 |
startTime | 否 | Datetime | 起始时间 | 起始时间,如"2016-01-01 10:25:00"。 默认时间为当天的”00:00:00” |
endTime | 否 | Datetime | 结束时间 | 结束时间,默认为当前时间。 endTime 不能小于 startTime |
2.2 指标名称
2.2.1 不需要安装监控agent,就能获取数据的监控指标
指标名称 | 含义 | 单位 | 统计粒度(period) |
---|---|---|---|
lan_outtraffic | 内网出带宽 | Mbps | 60s、300s |
lan_intraffic | 内网入带宽 | Mbps | 60s、300s |
lan_outpkg | 内网出包量 | 个/秒 | 60s、300s |
lan_inpkg | 内网入包量 | 个/秒 | 60s、300s |
wan_outtraffic | 外网出带宽 | Mbps | 60s、300s |
wan_intraffic | 外网入带宽 | Mbps | 60s、300s |
acc_outtraffic | 外网出流量 | MB | 60s、300s |
wan_outpkg | 外网出包量 | 个/秒 | 60s、300s |
wan_inpkg | 外网入包量 | 个/秒 | 60s、300s |
base_cpu_usage | 宿主机分配给子机 CPU 和运行时间的百分比(基础 CPU 使用率) | % | 10s、60s、300s |
2.2.2 安装监控 agent 才能获取数据的监控指标
指标名称 | 指标中文名称 | 计算方式 | 指标含义 | 单位 | 统计粒度(period) |
---|---|---|---|---|---|
tcp_curr_estab | TCP连接数 | Windows:调用 GetTcpTable 获取状态值为 MIB_TCP_STATE_ESTAB 的 tcp 数 Linux:从 /proc/net/snmp 获取 CurrEstab 的值 | 处于 ESTABLISHED 状态的 TCP 连接数量 | 个 | 10s、60s 、300s |
cpu_usage | CPU使用率 | CPU 的 user+nice+system+irq+softirq+iowait 时间占总的时间的百分比 | 机器运行期间实时占用的 CPU 百分比 | % | 10s、60s、300s |
cpu_loadavg | CPU平均负载 | 分析 /proc/loadavg 中的数据,以10s为间隔采集过去1分钟内系统平均负载 (Windows 机器没有此指标) |
一段时间内正在使用和等待使用 CPU 的平均任务数 | - | 10s、60s、300s |
mem_used | 内存使用量 | Windows:调用 GlobalMemoryStatusEx Linux:调用 psutil.virtual_memory() 计算:取 /proc/meminfo 的 Memtotal-MemFree-Buffers-Cached-SReclaimable(SReclaimable代表可回收的slab内存大小) |
用户实际使用的内存量 | MB | 10s、60s、300s |
mem_usage | 内存利用率 | mem_used/MemTotal | 内存使用量和总内存量的比值 | % | 10s、60s、300s |
disk_read_traffic(旧,不建议再使用此指标,磁盘数据调用请参考块存储监控 API 文档。) | 磁盘读流量 | Windows:通过 ioctrl 调用发送IOCTL_DISK_PERFORMANCE 获取磁盘读取字节大小 Linux:通过 psutil.disk_io_counters 获取磁盘读取字节大小 计算:两次调用的差值/调用时间的差值 获得磁盘读流量 |
磁盘分区每秒读取的字节数 | KB/s | 10s、60s、300s |
disk_write_traffic(旧,不建议再使用此指标,磁盘数据调用请参考块存储监控 API 文档。) | 磁盘写流量 | Windows:通过 ioctrl 调用发送IOCTL_DISK_PERFORMANCE 获取磁盘写入字节大小 Linux:通过 psutil.disk_io_counters 获取磁盘写入字节大小 计算:两次调用的差值/调用时间的差值 获得磁盘写流量 |
磁盘分区每秒写入的字节数 | KB/s | 10s、60s、300s |
disk_io_await(旧,不建议再使用此指标,磁盘数据调用请参考块存储监控 API 文档。) | 磁盘IO等待 | Windows:通过 ioctrl 调用发送IOCTL_DISK_PERFORMANCE 获取磁盘读写次数 Linux:通过 psutil.disk_io_counters 获取磁盘读写次数 计算:读写时间和/读写次数和获得 IOWait 值 |
磁盘分区每个 I/O 操作的平均耗时 | ms | 10s、60s、300s |
注意:安装 agent 才能获取的指标上报、展示、告警时间为客户云服务器的本地时间。若客户云服务器本地时间非东八区时间,将导致该云服务器的监控数据的时间为非东八区的子机本地时间。
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/cvm &metricName=cpu_usage &dimensions.0.name=unInstanceId &dimensions.0.value=ins-e24d4dzf &startTime=2016-06-28 14:10:00 &endTime=2016-06-28 14:20:00
输出
{
"code": 0,
"message": "",
"metricName": "cpu_usage",
"startTime": "2016-06-28 14:10:00",
"endTime": "2016-06-28 14:20:00",
"period": 300,
"dataPoints": [
5.6,
6.7,
7.7
]
}