网心云容器魔方接口文档

网心云容器魔方对外开放api接口

一、概述

网心云容器魔方对外开放api接口,开发者可以通过HTTP GET/POST请求从网心云容器魔方获取信息和控制业务,从而开发出更丰富的管理工具。例如:
  1. 批量获取激活码,在网心云app批量绑定设备。
  2. 业务的各个性能指标的时间轴绘图。
  3. 群控统计设备和业务的运行状况。
  4. 业务的群控增删功能。

二、接口说明

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": "" # 错误信息 }
2021-09-22
4 9