[TOC] ## 获取节点列表 ~~~[api] get:/v1/nodes integer:page=1#当前页码 integer:limit=10#单页显示数量 search#搜索节点名称或者节点IP boolean:enable#启用或禁用 sub_ip=0#1为显示子IP,0为不显示,默认为0 integer:node_id#节点ID integer:region_id#区域ID <<< 返回结果 { "code": 0, "count": 1, "data": [ { "check_on": 1, "check_protocol": "http", "config_task": "218428", "create_at": "2000-01-01 00:00:00", "des": "", "enable": 1, "host": "", "id": 1206, "ip": "192.168.0.22", "name": "22", "node_group_count": 1, "pid": 0, "port": 5000, "region_id": 1098, "region_name": "test", "state": "done", "total_ip": 1, "update_at": "2021-12-29 15:16:18" } ] } ~~~ ## 新增节点 ~~~[api] post:/v1/nodes integer:pid=0#父节点ID,默认为0,即主节点 integer:region_id#区域ID,当pid为0时,此项必填 name#节点名称,当pid为0时,此项必填 des#备注 *ip#节点IP host#主控连接节点设置的Host请求头,适用于节点机房限制使用IP连接的情况 integer:port#节点端口,当pid为0时,此项必填 json:http_proxy#主控连接节点使用的http代理,格式为{"ip":"1.1.1.1","port":"8888","user":"xxx","password":"xxx"} boolean:is_mgmt=1#是否为管理IP,1为管理IP,0为非管理IP。非管理IP时,主控不使用此IP连接节点 boolean:check_on=1#监控是否开启,1为开启,0为关闭,默认为1 check_protocol#监控使用的协议,默认为tcp,可选tcp,ping,http integer:check_timeout#监控超时,默认为2,范围为1-5 check_port=80#监控端口,默认为80 check_host#监控使用的Host请求头,检查协议为http时适用 check_path#监控的路径,默认为/,检查协议为http时适用 check_action#监控到不可用时执行的动作,默认为pause,可选none,pause。 integer:check_node_group=1#监控组,可选为1,2,1为国内组,2为国外组 bw_limit#带宽限制,单位可选为Mbps,Gbps,留空就不限制,当超过限制时,会禁用此节点 boolean:enable=1#禁用或启用,1为启用,0为禁用 <<< 返回结果 { "code":0, "data": "2", "msg": "节点添加成功" } <<< 提交内容 { "pid": 0, "region_id": 1, "name": "广州", "ip": "1.1.1.1", "port": "5000" } ~~~ ## 批量修改节点 (数据格式为数组) ~~~[api] put:/v1/nodes *integer:id#节点ID name#节点名称,当pid为0时,此项必填 des#备注 ip#节点IP host#主控连接节点设置的Host请求头,适用于节点机房限制使用IP连接的情况 integer:port#节点端口,当pid为0时,此项必填 json:http_proxy#主控连接节点使用的http代理,格式为{"ip":"1.1.1.1","port":"8888","user":"xxx","password":"xxx"} boolean:check_on=1#监控是否开启,1为开启,0为关闭,默认为1 check_protocol#监控使用的协议,默认为tcp,可选tcp,ping,http integer:check_timeout#监控超时,默认为2,范围为1-5 check_port=80#监控端口,默认为80 check_host#监控使用的Host请求头,检查协议为http时适用 check_path#监控的路径,默认为/,检查协议为http时适用 check_action#监控到不可用时执行的动作,默认为pause,可选none,pause。 integer:check_node_group=1#监控组,可选为1,2,1为国内组,2为国外组 boolean:enable=1#禁用或启用,1为启用,0为禁用 boolean:is_mgmt=1#是否为管理IP,1为管理IP,0为非管理IP。非管理IP时,主控不使用此IP连接节点 bw_limit#带宽限制,单位可选为Mbps,Gbps,留空就不限制,当超过限制时,会禁用此节点 target#禁用的目标,可选值为ip, node,即只禁用IP,会禁用此节点的所有IP <<< 返回结果 { "code":0, "data": "", "msg": "节点修改成功" } <<< 提交内容 [{ "id": 1, "enable": 0 }, { "id": 2, "enable": 0 }] ~~~ ## 获取指定节点 ~~~[api] get:/v1/nodes/<节点ID> <<< 返回结果 { "code": 0, "data": { "check_action": "none", "check_host": "", "check_node_group": "1", "check_on": 1, "check_path": "/", "check_port": 80, "check_protocol": "http", "check_timeout": 2, "config_task": "218428", "create_at": null, "des": "", "enable": 1, "host": "", "http_proxy": "{}", "id": 1206, "ip": "192.168.0.22", "name": "22", "pid": 0, "port": 5000, "region_id": 1098, "update_at": null }, "msg": "" } ~~~ ## 修改指定节点 ~~~[api] put:/v1/nodes/<节点ID> name#节点名称,当pid为0时,此项必填 des#备注 ip#节点IP host#主控连接节点设置的Host请求头,适用于节点机房限制使用IP连接的情况 integer:port#节点端口,当pid为0时,此项必填 json:http_proxy#主控连接节点使用的http代理,格式为{"ip":"1.1.1.1","port":"8888","user":"xxx","password":"xxx"} boolean:check_on=1#监控是否开启,1为开启,0为关闭,默认为1 check_protocol#监控使用的协议,默认为tcp,可选tcp,ping,http integer:check_timeout#监控超时,默认为2,范围为1-5 check_port=80#监控端口,默认为80 check_host#监控使用的Host请求头,检查协议为http时适用 check_path#监控的路径,默认为/,检查协议为http时适用 check_action#监控到不可用时执行的动作,默认为pause,可选none,pause。 integer:check_node_group=1#监控组,可选为1,2,1为国内组,2为国外组 boolean:enable=1#禁用或启用,1为启用,0为禁用 <<< 返回结果 { "code":0, "data": "", "msg": "节点修改成功" } <<< 提交内容 { "id": 1, "enable": 0 } ## 删除节点 ~~~[api] delete:/v1/nodes/<节点ID,多个以逗号分隔> <<< 返回结果 { "code": 0, "data": "", "msg": "节点删除成功" } ~~~