一、概述
网心云容器魔方对外开放api接口,开发者可以通过HTTP GET/POST请求从网心云容器魔方获取信息和控制业务,从而开发出更丰富的管理工具。例如:
- 批量获取激活码,在网心云app批量绑定设备。
- 业务的各个性能指标的时间轴绘图。
- 群控统计设备和业务的运行状况。
- 业务的群控增删功能。
二、接口说明
1. 获取节点信息(获取激活码和SN)
请求url
<http://IP:18888/docker/data>
请求方式
GET
返回示例(JSON格式)
{
"code": 0, # 错误码,0正常,非0错误
"data": {
"device": {
"sn": "CTWX2XXXXXXXXXXX", # 设备sn
"acode": "CTWXXXXXXXXXXXXXXXX", # 激活码
"kernel_version": "v1.0.0", # 系统内核版本
"app_version": "v1.4.0", # 容器魔方版本号
},
"net": {
"ip": "xx.xx.xx.xx", # 默认网卡IP
"mask": "xx.xx.xx.xx", # 网卡子网掩码
"gateway": "xx.xx.xx.xx", # 网关
"dns": "xx.xx.xx.xx", # dns服务器
"interface_name": "eth0", # 网卡名称
}
},
"message": "" # code非0时,显示错误信息
}
2. 获取业务面板信息(刷新频率10秒)
请求url
<http://IP:18888/docker/dashboard>
请求方式
GET
返回示例(JSON格式)
{
"code": 0,
"data": {
"resource": {
"cpu_num": 4, # cpu核数
"cpu_usage": 0.8, # 80%
"cpu_usage_alarm": 0.8, # cpu亮红阈值
"total_mem": 1000, # 单位M
"used_mem": 100, # 单位M
"mem_alarm": 0.8, # 内存亮红阈值
"disk_dev": "sda",
"disk_used": 100, # 100G
"disk_total": 200, # 200G
"fs_type": "ext4", # 文件系统类型
"fs_enable": 1, # 文件系统是否支持 1支持|2不支持
"ioutil": 0.2, # io占用cpu使用率
"ioutil_alarm": 0.9, # ioutil亮红阈值
"r_await": 2.5, # 2.5ms
"r_await_alarm": 50, # 读await亮红阈值
"w_await": 5.6, # 5.6ms
"w_await_alarm": 50, # 写await亮红阈值
"load5": 3.2, # cpu 5分钟平均负载
"load5_alarm": 8 # load5亮红阈值
},
"config": {
"add_begin_hour": 19, # 添加业务起始时间点
"add_end_hour": 23, # 添加业务结束时间点
"del_begin_hour": 19, # 不能删除业务起始时间点
"del_end_hour": 23 # 不能删除业务结束时间点
},
"option_tasks": [
{
"name": "CA", # 业务名称
"id": "abcdefg", # 业务ID,无序号后缀
"disk": 50, # 50GB 业务磁盘最低要求
"mem": 300, # 300MB 业务内存最低要求
"is_recommend": 0, # 0推荐 | 非0不推荐
"need_running_days": 3 # 业务部署要求天数
}
],
"run_tasks": [
{
"name": "CA.0", # 业务名称
"id": "abcdefg_0", # 业务ID,有序号后缀
"state_code": 0, # 0正常 |1 启动中 |2 异常 | 3 删除中
"state_message": "磁盘不够用", # 异常原因
"ip": "192.168.1.1",
"mac"; "xx:xx:xx:xx:xx",
"speed": 10.0, # Mbps 上传速度
"disk": 50, # GB 业务已使用空间
"mem": 300, # MB 业务使用内存
"cpu_usage": 0.06, # 6% 业务使用cpu
"start_time": 1621946359, # 添加业务时间戳
"need_running_days": 5 # 要求部署天数
}
]
}
}
3. 增加业务(“获取业务面板信息”接口有添加时间段限制)
请求url
<http://IP:18888/docker/add_task>
请求方式
POST
请求示例(JSON格式)
{
"id": "abcdefg" #业务ID,和“获取业务面板信息”接口中的option_tasks.id对应,无序号后缀
}
返回示例(JSON格式)
{
"code": 0, # 错误码,0正常,非0错误
"message": "" # 错误信息
}
4. 删除业务(“获取业务面板信息”接口有删除时间段和部署天数限制)
请求url
<http://IP:18888/docker/del_task>
请求方式
POST
请求示例(JSON格式)
{
"id": "abcdefg_0" #业务ID,和“获取业务面板信息”接口中的run_tasks.id对应,有序号后缀
}
返回示例(JSON格式)
{
"code": 0, # 错误码,0正常,非0错误
"message": "" # 错误信息
}