# 1. 基础资源占用 ## 1.1 获取指定module的输出 | 调用方式 | 接口地址 | | ------------ | :-------------------------------------------------------- | | POST | http://ip:port/occupationOfBasicResources/getInfoByModule | | Content-Type | application/json;charset=UTF-8 | | 请求参数 | | | | | | ----------- | ------------ | ------ | ---- | ------------------------------------- | | 参数项 | 名称 | 类型 | 必选 | 描述 | | module | 功能编码 | string | 是 | | ``` 请求示例 { "module": "disk_partitions" } ``` | 返回结果 | | | | | -------- | -------- | ------ | -------------------------------------- | | 参数项 | 名称 | 类型 | 描述 | | code | 响应码 | int | 200为操作成功,其他code表示失败 | | message | 提示信息 | string | 返回提示信息 | | data | 返回信息 | string | 200,返回操作成功;其他code对应失败信息 | ``` 响应示例 { "code": 200, "message": "操作成功", "data": []// 对应module返回内容信息 } ``` ## 1.2 jar包发布 | 调用方式 | 接口地址 | | ------------ | :------------------------------------------------------ | | POST | http://ip:port/occupationOfBasicResources/deployJarFile | | Content-Type | application/json;charset=UTF-8 | | 请求参数 | | | | | | ----------- | ------------- | ------ | ---- | -------------------------------------------- | | 参数项 | 名称 | 类型 | 必选 | 描述 | | filePath | jar包保存位置 | string | 是 | jar包保存位置 | | logPath | 日志输出位置 | string | 否 | 默认jar包相同位置名称和jar包文件名相同 | | user | 用户信息 | string | 否 | 用户信息(权限用, 默认-1, 表示超级管理员权限) | | startListen | 是否开启监听 | int | 否 | 传1 表示直接开始监听 | ``` 请求示例 { "filePath": "/home/liuhaoyu/linuxTest/linuxTest-1.0-SNAPSHOT.jar", "logPath": "/home/liuhaoyu/linuxTest/linuxTest.log", "user": "1", "startListen": "1" } ``` | 返回结果 | | | | | -------- | -------- | ------ | ------------------------------- | | 参数项 | 名称 | 类型 | 描述 | | code | 响应码 | int | 200为操作成功,其他code表示失败 | | message | 提示信息 | string | 返回提示信息 | | data | 返回信息 | string | 发布包对应的进程id | ``` 响应示例 { "code": 200, "message": "操作成功", "data": { "taskId" : "12390" } } ``` ## 1.3 获取当前进行中的java服务 | 调用方式 | 接口地址 | | ------------ | :-------------------------------------------------------- | | POST | http://ip:port/occupationOfBasicResources/getJpsInfo | | Content-Type | application/json;charset=UTF-8 | | 返回结果 | | | | | -------- | -------- | -------- | ------------------------------- | | 参数项 | 名称 | 类型 | 描述 | | code | 响应码 | int | 200为操作成功,其他code表示失败 | | message | 提示信息 | string | 返回提示信息 | | data | 返回信息 | string | | | +process | 线程信息 | string[] | 对应的进程信息 | ``` 响应示例 { "code": 200, "message": "操作成功", "data": { "process": [ "39921 Jps", "39864 linuxListener-0.0.1-SNAPSHOT.jar" ] } } ``` ## 1.4 停止jar包进程 | 调用方式 | 接口地址 | | ------------ | :---------------------------------------------------- | | POST | http://ip:port/occupationOfBasicResources/killJarTask | | Content-Type | application/json;charset=UTF-8 | | 请求参数 | | | | | | -------- | -------- | ------ | ---- | ---------------------- | | 参数项 | 名称 | 类型 | 必选 | 描述 | | taskId | 进程号 | string | 是 | 需要停止的进程号 | | user | 用户信息 | string | 是 | 用户信息(做权限控制用) | ``` 请求示例 { "user": "-1", "taskId": "37527" } ``` | 返回结果 | | | | | -------- | -------- | ------ | --------------------------------- | | 参数项 | 名称 | 类型 | 描述 | | code | 响应码 | int | 200为操作成功,其他code表示失败 | | message | 提示信息 | string | 200为操作成功, 其他为对应错误信息 | | data | 返回信息 | | | ``` 响应示例 { "code": 200, "message": "操作成功", "data": {} } ``` # 2. 日志监控 ## 2.1 设置log文件所在位置信息 | 调用方式 | 接口地址 | | ------------ | :----------------------------------- | | POST | http://ip:port/logListener/setLogMsg | | Content-Type | application/json;charset=UTF-8 | | 请求参数 | | | | | | -------- | ---------------- | ------ | ---- | ---------------- | | 参数项 | 名称 | 类型 | 必选 | 描述 | | filePath | 日志文件存在位置 | string | 是 | 日志文件存在位置 | ``` 请求示例 { "filePath": "/home/liuhaoyu/linuxTest.log" } ``` | 返回结果 | | | | | -------- | ------------- | ------ | --------------------------------- | | 参数项 | 名称 | 类型 | 描述 | | code | 响应码 | int | 200为操作成功,其他code表示失败 | | message | 提示信息 | string | 200为操作成功, 其他为对应错误信息 | | data | 返回信息 | | | | +logKey | 监听用日志key | String | 监听用日志key | ``` 响应示例 { "code": 200, "message": "操作成功", "data": { "logKey": "linuxTest-1.0-SNAPSHOT.log|1575596806840" } } ``` ## 2.2 开启日志监控输出 | 调用方式 | 接口地址 | | ------------ | :------------------------------------------ | | POST | http://ip:port/logListener/startLogListener | | Content-Type | application/json;charset=UTF-8 | | 请求参数 | | | | | | -------- | ------------- | ------ | ---- | ------------- | | 参数项 | 名称 | 类型 | 必选 | 描述 | | logKey | 监听用日志key | string | 是 | 监听用日志key | ``` 请求示例 { "logKey": "linuxTest-1.0-SNAPSHOT.log|1575596806840" } ``` | 返回结果 | | | | | -------- | -------- | ------ | --------------------------------- | | 参数项 | 名称 | 类型 | 描述 | | code | 响应码 | int | 200为操作成功,其他code表示失败 | | message | 提示信息 | string | 200为操作成功, 其他为对应错误信息 | | data | 返回信息 | | | ``` 响应示例 { "code": 200, "message": "操作成功", "data": null } ``` ## 2.3 获取日志的输出内容 | 调用方式 | 接口地址 | | ------------ | :-------------------------------------- | | POST | http://ip:port/logListener/getLogOutput | | Content-Type | application/json;charset=UTF-8 | | 请求参数 | | | | | | -------- | ------------- | ------ | ---- | ------------- | | 参数项 | 名称 | 类型 | 必选 | 描述 | | logKey | 监听用日志key | string | 是 | 监听用日志key | ``` 请求示例 { "logKey": "linuxTest-1.0-SNAPSHOT.log|1575596806840" } ``` | 返回结果 | | | | | -------- | -------- | ------ | --------------------------------- | | 参数项 | 名称 | 类型 | 描述 | | code | 响应码 | int | 200为操作成功,其他code表示失败 | | message | 提示信息 | string | 200为操作成功, 其他为对应错误信息 | | data | 返回信息 | String | 时间段内日志的具体输出 | ``` 响应示例 { "code": 200, "message": "操作成功", "data": "0\n****************swapUse*****************\n6810\n*****************memUse*****************\n执行命令[ cat /proc/meminfo]\n0\n****************swapUse*****************\n6808\n*****************memUse*****************\n执行命令[ cat /proc/meminfo]\n0\n****************swapUse*****************\n6806\n*****************memUse*****************\n执行命令[ cat /proc/meminfo]\n0\n****************swapUse*****************\n6804\n*****************memUse*****************\n执行命令[ cat /proc/meminfo]\n0\n****************swapUse*****************\n6799\n*****************memUse*****************\n执行命令[ cat /proc/meminfo]" } ``` ## 2.4 停止日志监控输出 | 调用方式 | 接口地址 | | ------------ | :----------------------------------------- | | POST | http://ip:port/logListener/stopLogListener | | Content-Type | application/json;charset=UTF-8 | | 请求参数 | | | | | | -------- | ------------- | ------ | ---- | ------------- | | 参数项 | 名称 | 类型 | 必选 | 描述 | | logKey | 监听用日志key | string | 是 | 监听用日志key | ``` 请求示例 { "logKey": "linuxTest-1.0-SNAPSHOT.log|1575596806840" } ``` | 返回结果 | | | | | -------- | -------- | ------ | --------------------------------- | | 参数项 | 名称 | 类型 | 描述 | | code | 响应码 | int | 200为操作成功,其他code表示失败 | | message | 提示信息 | string | 200为操作成功, 其他为对应错误信息 | | data | 返回信息 | | | ``` 响应示例 { "code": 200, "message": "操作成功", "data": null } ``` ## 2.5 获取所有正在监听中的日志 | 调用方式 | 接口地址 | | ------------ | :-------------------------------------------- | | POST | http://ip:port/logListener/getAllListeningLog | | Content-Type | application/json;charset=UTF-8 | | 返回结果 | | | | | -------- | ------------- | ------ | --------------------------------- | | 参数项 | 名称 | 类型 | 描述 | | code | 响应码 | int | 200为操作成功,其他code表示失败 | | message | 提示信息 | string | 200为操作成功, 其他为对应错误信息 | | data | 返回信息 | 数组 | | | +logKey | 日志存在的key | string | 日志存在的key | | +logPath | 日志位置 | string | 日志位置 | ``` 响应示例 { "code": 200, "message": "操作成功", "data": [ { "logKey": "linuxTest-1.0-SNAPSHOT-1575604486338.log|1575604486582", "logPath": "/home/.../linuxTest/linuxTest-1.0-SNAPSHOT-1575604486338.log" } ] } ``` # 3. 监控器调度 ## 3.1 获取正在生效的监控功能 | 调用方式 | 接口地址 | | ------------ | :----------------------------------------- | | POST | http://ip:port/background/getWorkingListener | | Content-Type | application/json;charset=UTF-8 | | 返回结果 | | | | | -------- | ---------------- | -------- | --------------------------------- | | 参数项 | 名称 | 类型 | 描述 | | code | 响应码 | int | 200为操作成功,其他code表示失败 | | message | 提示信息 | string | 200为操作成功, 其他为对应错误信息 | | data | 返回信息 | | | | +result | 生效中的监控功能 | String[] | 生效中的监控功能 | ``` 响应示例 { "code": 200, "message": "操作成功", "data": { "result": [ "cpu_utilization", "memory_info" ] } } ``` ## 3.2 添加新的监控器 | 调用方式 | 接口地址 | | ------------ | :------------------------------------------- | | POST | http://ip:port/background/addWorkingListener | | Content-Type | application/json;charset=UTF-8 | | 请求参数 | | | | | | -------- | ------------------ | -------- | ---- | ------------------ | | 参数项 | 名称 | 类型 | 必选 | 描述 | | modules | 添加到监听的功能id | string[] | 是 | 添加到监听的功能id | ``` 请求示例 { "modules": ["cpu_utilization", "memory_info"] } ``` | 返回结果 | | | | | -------- | -------- | ------ | --------------------------------- | | 参数项 | 名称 | 类型 | 描述 | | code | 响应码 | int | 200为操作成功,其他code表示失败 | | message | 提示信息 | string | 200为操作成功, 其他为对应错误信息 | | data | 返回信息 | | | ``` 响应示例 { "code": 200, "message": "操作成功", "data": {} } ``` ## 3.3 删除存在的监控器 | 调用方式 | 接口地址 | | ------------ | :---------------------------------------------- | | POST | http://ip:port/background/removeWorkingListener | | Content-Type | application/json;charset=UTF-8 | | 请求参数 | | | | | | -------- | ---------------- | -------- | ---- | ---------------- | | 参数项 | 名称 | 类型 | 必选 | 描述 | | modules | 停止监听的功能id | string[] | 是 | 停止监听的功能id | ``` 请求示例 { "modules": ["cpu_utilization", "memory_info"] } ``` | 返回结果 | | | | | -------- | -------- | ------ | --------------------------------- | | 参数项 | 名称 | 类型 | 描述 | | code | 响应码 | int | 200为操作成功,其他code表示失败 | | message | 提示信息 | string | 200为操作成功, 其他为对应错误信息 | | data | 返回信息 | | | ``` 响应示例 { "code": 200, "message": "操作成功", "data": {} } ``` ## 3.4 获取module对应的内容 | 调用方式 | 接口地址 | | ------------ | :---------------------------------------------- | | POST | http://ip:port/background/removeWorkingListener | | Content-Type | application/json;charset=UTF-8 | | 请求参数 | | | | | | --------- | -------- | ------ | ---- | ---------- | | 参数项 | 名称 | 类型 | 必选 | 描述 | | modules | 功能id | string | 是 | 功能id | | startTime | 开始时间 | long | 是 | 开始时间戳 | | endTime | 结束时间 | long | 是 | 结束时间戳 | ``` 请求示例 { "module": "cpu_utilization", "startTime": 1575599542344, "endTime": 1575599545346 } ``` | 返回结果 | | | | | --------------- | ------------ | ------ | --------------------------------- | | 参数项 | 名称 | 类型 | 描述 | | code | 响应码 | int | 200为操作成功,其他code表示失败 | | message | 提示信息 | string | 200为操作成功, 其他为对应错误信息 | | data | 返回信息 | | | | +id | 主键 | string | 主键 | | +moduleId | 功能id | string | 功能id | | +occurrenceTime | 数据获取时间 | long | 数据获取时间 | | +occupancy | 占用率 | double | 占用率 | ``` 响应示例 { "code": 200, "message": "操作成功", "data": [ { "id": "1", "moduleId": "cpu_utilization", "occurrenceTime": 1575599542344, "occupancy": 1.0 }, { "id": "2", "moduleId": "cpu_utilization", "occurrenceTime": 1575599545346, "occupancy": 4.0 } ] } ```