一、概述

设备提供了一组用于访问状态数据的接口,这些接口称为ajax接口。

二、HTTP约定

01 HTTP请求

方法

只接受GET和OPTIONS方法。其他修改数据的方法如POST|PUT|DELETE等都会被拒绝。

URL

基础路径为/ajax。

头部字段

必须携带自定义头部字段”X-Realtimed-Token”,该值可以从/devices//ajaxurl接口中获得。

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