Skip to content

Latest commit

 

History

History
601 lines (522 loc) · 14.2 KB

api.md

File metadata and controls

601 lines (522 loc) · 14.2 KB

[TOC]

Swoole 企业版系统对外开放API接口,说明如下:

1. 获取监控机器列表

接口地址:/Http/getMachineList 请求参数:

参数 说明
page 1 页数,默认1
pagesize 10 显示数量,默认10

响应参数:

{
    "code": 0,
    "message": "获取成功",
    "data": {
        "data": [
            {
                "id": "3", // id
                "lan_ip": "172.17.16.15", // 机器ip
                "hostname": "sy-test", // 主机名
                "cpu": {
                    "num": 1, // 核数
                    "model": "intel(r) xeon(r) cpu e5-26xx v4"
                },
                "star": "0", // 是否关注
                "extra": { // 自定义信息
                    "name": "腾讯云",
                    "out_ip": "127.0.0.3"
                },
                "time": 1557806007 // 最后上报时间
            },
            {
                "id": "2",
                "lan_ip": "172.31.202.116",
                "hostname": "iZj6cf6lmymbaq0c5nykafZ",
                "cpu": {
                    "num": 1,
                    "model": "intel(r) xeon(r) cpu e5-2682 v4 @ 2.50ghz"
                },
                "star": "0",
                "extra": {},
                "time": 0 // 机器创建了但是没有上报机器信息
            }
        ],
        "count": 2, // 机器总数
        "success": 2, // 运行中的机器
        "error": 0, // 停止运行的机器,
        "error_node": [ // 停止运行的机器
            "192.168.2.181"
        ],
        "totalpage": 1 // 总页数
    }
}

2. 标识关注机器

接口地址:/Http/setMachineStar 请求参数:

参数 说明
ip 172.17.0.3 机器IP,必填
star 1或0 1 关注 0 不关注,必填

响应参数:

{
    "code": 0,
    "message": "添加关注成功",
    "data": true
}

{
    "code": 0,
    "message": "取消关注成功",
    "data": true
}

3. 获取关注服务器列表及相应CPU使用率

接口地址:/Http/getMachineCpu 请求参数:

参数 说明
page 1 页数,默认1
pagesize 6 显示数量,默认6

响应参数:

{
    "code": 0,
    "message": "获取成功",
    "data": {
        "data": [
            {
                "_node": "172.17.16.15", // 机器ip
                "_time": "2019-03-29 11:39:01",
                "_value0": 3.42, // cpu使用率
                "cpu": 1 // cpu核数
            }
        ],
        "totalpage": 1 // 总页数
    }
}

4. 获取主机当前情况

TCP连接数,TCP最大连接数;CPU核数,CPU使用率;网络出入流量;进程数;磁盘读写IO次数、util;磁盘使用情况;内存大小,内存使用情况(总使用,缓存内容,空闲内存)

接口地址:/Http/getSysinfo

请求参数:

参数 说明
ip 172.17.16.15 机器IP,必填

响应参数:

{
    "code": 0,
    "message": "获取成功",
    "data": {
        "cpu": 1, // CPU核数
        "use_cpu": 3.47, // CPU使用率
        "tcp_num": "6", // TCP连接数
        "tcp_max": "14",  // TCP最大连接数
         "io": [ // 磁盘IO
              {
                  "name": "io_sda",
                  "io_r": 0, // 读
                  "io_w": 3.84, // 写
                  "io_util": 0.27 // until
              }
          ],
        "disk": [ // 磁盘使用情况
            {
                "name": "disk_sda1",
                "use": 31.96, // 使用量 百分比
                "free": 68.04, // 空闲量 百分比
                "all": 49.09 // 磁盘容量 G
            }
        ],
        "mem": { // 内存
            "total": 991.76,
            "free": 95.27, 
            "available": 536.68,
            "buffers": 68.28,
            "cached": 481.18
        },
        "net": [ // 网络出入流量
            {
                "name":"net_eth0",
                "out": "1672", // 出网
                "in": "1420" // 入网
            }
        ],
        "process": [ // 进程
            {
                "pid": "19234", // pid
                "status": "0", // 状态 1 忙 0 空闲
                "type": "FPM", // fpm和cli
                "value": 3.5 // 内存占用
            },
            {
                "pid": "30822",
                "status": "0",
                "type": "FPM",
                "value": 6.38
            },
            {
                "pid": "30824",
                "status": "0",
                "type": "FPM",
                "value": 11.31
            },
            {
                "pid": "30825",
                "status": "0",
                "type": "FPM",
                "value": 11.43
            },
            {
                "pid": "16703",
                "status": "0",
                "type": "CLI",
                "value": 11.43
            }
        ],
        "count_process": 5 // 进程总数
    }
}

5. 获取应用

接口地址:/Http/getModuleList

请求参数:

参数 说明
project 9 项目ID(接口8获取),必填

响应参数:

{
    "code": 0,
    "message": "获取成功",
    "data": [
        {
            "id": "8", // ID
            "name": "www.php-app.com", // 名称
            "type": "1", 
            "alias_name": "" // 别名
        },
        {
            "id": "34",
            "name": "test.qq52o.cn",
            "type": "1",
            "alias_name": ""
        }
    ]
}

6. 获取应用下的接口信息

接口地址:/Http/getInterfaceByModuleId

请求参数:

参数 说明
module_id 8 应用ID,上一个接口获取的,必填
page 1 页数,默认1
pagesize 10 显示数量,默认10

响应参数:

{
    "code": 0,
    "message": "获取成功",
    "data": {
        "data": [
            {
                "id": "119700", // id
                "name": "/blog/detail/54", // 接口名
                "alias": "/blog/detail/54||1", // 别名
                "addtime": "2019-05-01 12:57:03" // 添加时间
            }
        ],
        "totalpage": 15618 // 总页数
    }
}

7. 获取接口详情

接口地址:/Http/getInterfaceInfo

请求参数:

参数 说明
module_id 8 应用ID,必填
interface_id 463 接口ID,必填
date_key 2019-03-29 日期,必填
hour_start 02 开始时间
hour_end 10 结束时间

响应参数:

{
    "code": 0,
    "message": "获取成功",
    "data": [
        {
            "id": "975",
            "interface_id": "463",
            "module_id": "34",
            "instance_id": "21",
            "req_type": "2",
            "time_key": "138",
            "date_key": "2019-03-29", // 日期
            "total_count": "4", // 调用次数
            "fail_count": "0", // 失败次数
            "total_time": "723",
            "total_fail_time": "0",
            "avg_time": "181", // 平均响应时间
            "avg_fail_time": "0", // 失败平均时间
            "max_time": "288", // 响应最大值ms
            "min_time": "97", // 响应最小值
            "fail_server": "",
            "succ_server": "{\"121.46.248.88\":2,\"221.230.143.58\":1,\"221.230.143.101\":1}",
            "total_server": "{\"121.46.248.88\":2,\"221.230.143.58\":1,\"221.230.143.101\":1}",
            "fail_client": "",
            "succ_client": "{\"121.227.207.179\":4}",
            "total_client": "{\"121.227.207.179\":4}",
            "ret_code": "",
            "cost_time": "{\"5\":0,\"10\":0,\"50\":0,\"100\":1,\"200\":1,\"500\":2,\"1000\":0,\"1000+\":0}",
            "succ_ret_code": "{\"200\":4}",
            "succ_count": 4, // 成功次数
            "succ_rate": 100, // 成功率
            "time_str": "11:30 ~ 11:35", // 时间
            "interface_name": "Index.php:app\\\\index\\\\controller\\\\Index->myCurl->curl_exec"
        }
    ]
}

8. 获取项目id

接口地址:/Http/getProjectId

请求参数:

参数 说明
page 1 页数,默认1

响应参数:

{
    "code": 0,
    "message": "获取成功",
    "data": {
        "data": [
            {
                "id": "19", // 项目id
                "name": "默认项目",
                "ckey": "default_web_project",
                "owner_uid": "0",
                "intro": "所有自动创建的模块都会默认在此项目中,可以移动到其他项目中",
                "add_time": "2019-04-22 19:17:14"
            },
            {
                "id": "9", 
                "name": "基础服务",
                "ckey": "platform",
                "owner_uid": "94",
                "intro": "基础支撑业务",
                "add_time": "2018-10-07 22:32:56"
            }
        ],
        "totalpage": 1 //总页数
    }
}

9. 机器扩展信息

可针对某台机器增加扩展信息,也可按扩展信息进行分类

9.1 获取数据

接口地址:/Http/optionsExtra

  • 获取某一台机器的扩展信息

请求参数:

参数 说明
ip 172.17.16.15 机器IP

响应参数:

{
    "code": 0,
    "message": "获取成功",
    "data": {
        "name": "阿里云", // 自定义字段,内容
        "out_ip": "127.0.0.1"
    }
}
  • 获取所有机器扩展信息

请求参数:

参数 说明
type name 自定义字段(必填,可为空),根据此字段分类
value 阿里云 自定义字段对应的内容,根据此字段统计数量

以实例给予说明如下:

[info] 请求: /Http/optionsExtra?type

响应参数:

{
    "code": 0,
    "message": "获取成功",
    "data": {
        "data": [ // 机器信息
            {
                "lan_ip": "172.17.0.4", // 机器ip
                "extra": { // 自定义内容
                    "name": "腾讯云",
                    "out_ip": "127.0.0.2"
                }
            },
            {
                "lan_ip": "192.168.2.171",
                "extra": {
                    "name": "腾讯云",
                    "out_ip": "127.0.0.3",
                    "ceshi": "1"
                }
            },
            {
                "lan_ip": "192.168.2.181",
                "extra": []
            },
            {
                "lan_ip": "172.17.16.15",
                "extra": {
                    "name": "阿里云",
                    "out_ip": "127.0.0.1"
                }
            },
            {
                "lan_ip": "172.31.202.116",
                "extra": []
            },
            {
                "lan_ip": "172.31.0.4",
                "extra": []
            }
        ],
        "node": [], // 以下3个参数在现在这种情况下始终为空。
        "keys": [],
        "count": 0
    }
}

[info] 请求: /Http/optionsExtra?type=name

响应参数:

{
    "code": 0,
    "message": "获取成功",
    "data": {
        "data": [ // 机器信息
            {
                "lan_ip": "172.17.0.4", // 机器ip
                "extra": { // 自定义内容
                    "name": "腾讯云",
                    "out_ip": "127.0.0.2"
                }
            },
            {
                "lan_ip": "192.168.2.171",
                "extra": {
                    "name": "腾讯云",
                    "out_ip": "127.0.0.3",
                    "ceshi": "1"
                }
            },
            {
                "lan_ip": "192.168.2.181",
                "extra": []
            },
            {
                "lan_ip": "172.17.16.15",
                "extra": {
                    "name": "阿里云",
                    "out_ip": "127.0.0.1"
                }
            },
            {
                "lan_ip": "172.31.202.116",
                "extra": []
            },
            {
                "lan_ip": "172.31.0.4",
                "extra": []
            }
        ],
        "node": [], // 一直为空
        "keys": [ // 根据name字段分类
            "腾讯云",
            "阿里云"
        ],
        "count": 0 // 一直为0
    }
}

[info] 请求: /Http/optionsExtra?type=name&value=阿里云

响应参数:

{
    "code": 0,
    "message": "获取成功",
    "data": {
        "data": [ // 机器信息
            {
                "lan_ip": "172.17.0.4", // 机器ip
                "extra": { // 自定义内容
                    "name": "腾讯云",
                    "out_ip": "127.0.0.2"
                }
            },
            {
                "lan_ip": "192.168.2.171",
                "extra": {
                    "name": "腾讯云",
                    "out_ip": "127.0.0.3",
                    "ceshi": "1"
                }
            },
            {
                "lan_ip": "192.168.2.181",
                "extra": []
            },
            {
                "lan_ip": "172.17.16.15",
                "extra": {
                    "name": "阿里云",
                    "out_ip": "127.0.0.1"
                }
            },
            {
                "lan_ip": "172.31.202.116",
                "extra": []
            },
            {
                "lan_ip": "172.31.0.4",
                "extra": []
            }
        ],
        "node": [ // 当name等于阿里云时的机器ip
            "172.17.16.15"
        ],
        "keys": [ // name分类
            "腾讯云",
            "阿里云"
        ],
        "count": 1 // 当name等于阿里云时的机器总数
    }
}

9.2 添加数据

该接口需要 POST 请求,⚠️每次请求会进行覆盖写

[warning] 请自行根据 9.1 获取数据 中的 获取某一台机器的扩展信息 处理数据

接口地址: /Http/optionsExtra

请求参数:

参数 说明
ip 172.17.16.15 机器IP
options name=腾讯云,out_ip=127.0.0.3 要设置的自定义信息,以英文逗号分割

响应参数:

{
    "code": 0,
    "message": "设置成功",
    "data": ""
}

{
    "code": 1,
    "message": "设置失败",
    "data": ""
}