一、概述
设备提供了一组用于访问状态数据的接口,这些接口称为ajax接口。
二、HTTP约定
01 HTTP请求
方法
只接受GET和OPTIONS方法。其他修改数据的方法如POST|PUT|DELETE等都会被拒绝。
URL
基础路径为/ajax。
头部字段
必须携带自定义头部字段”X-Realtimed-Token”,该值可以从/devices/
02 HTTP应答
状态码
- 400 发生在请求错误
- 403 发生在X-Realtimed-Token验证失败时
- 404 发生在访问未定义的接口时
- 200
头部字段
为支持跨域访问,HTTP应答包含了如下头部字段:
Access-Control-Allow-Methods:GET,OPTIONS
Access-Control-Allow-Origin:*
Access-Control-Allow-Headers:'X-Realtimed-Token
HTTP应答消息体一律为UTF-8编码的json数据。
Content-Type:application/json
消息体(body)是不可缓存的
Cache-Control:no-cache
消息体
json编码的Object或者Array。注意ajax返回值并不遵循Open API的err+data格式。
三、基本信息类
首要信息
/status/floating
输出
字段 | 描述 |
---|---|
cpurate | 0-100的一个整数。表示CPU占用率百分比。 |
memrate | 0-100的一个整数。表示内存占用率百分比。 |
hostnum | 当前主机数目。 |
hostmaxnum | 历史最大主机数目。 |
localtime | 设备本地时间。如”2019-1-1 00:00:00”。 |
uptime | 开机以来运行时间。单位秒。 |
四、历史数据类
设备分别记录了过去(10分钟,2小时,1天,1周,1月)的历史数据,分别用(10m,2h,day,week,mon)来表示。
例如/ajax/history/cpu_2h表示过去2小时的历史数据,以此类推。
历史数据接口采用了相同的输出格式:
字段 | 类型 | 描述 |
---|---|---|
time | int | 单位为秒,unix时间戳。第一个采样点的采样时间。 |
interval | int | 采样间隔,单位秒。 |
num | int | 有效采样个数。 |
maxnum | int | 总数目。 |
data | Array | 形同[item0, item1, …]的采样点列表。每个采样点itemX的格式由访问的接口而定。 |
cursor | int | 第一个有效采样点在data中的索引。data实际上是个环形队列,因此假如num=maxnum=100, cursor=98, 则实际的数据流为[item98, item99, item0, item1, …]。 |
历史CPU
/history/cpu_<suffix>
itemX为0-100的一个整数
历史主机数
/history/hosts_<suffix>
itemX为>=0的一个整数
历史连接数
/history/conn_<suffix>
itemX为>=0的一个整数
历史流量数据
/ajax/history/iface_<suffix>/<iface-name>
itemX为长度为4的Array
下标 | 类型 | 描述 |
---|---|---|
0 | int | 每秒接收字节数 |
1 | int | 每秒接收包数 |
2 | int | 每秒发送字节数 |
3 | int | 每秒发送包数 |
文档更新时间: 2019-09-06 14:42 作者:Gocloud