云服务器监控接口

最近更新时间:2019-03-21 11:23:36

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