|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689 |
- # 前端接口
-
- `POST /api/portal/auth/login`
-
- 校验用户登录信息的接口,is_ldap=0表示不使用LDAP账号验证,is_ldap=1表示使用LDAP账号验证
-
- ```
- {
- "username": "",
- "password": "",
- "is_ldap": 0
- }
- ```
-
- ---
-
- `GET /api/portal/auth/logout`
-
- 退出当前账号,如果请求成功,前端需要跳转到登录页面
-
- ---
-
- `GET /api/portal/self/profile`
-
- 获取个人信息,可以用此接口校验用户是否登录了
-
- ---
-
- `PUT /api/portal/self/profile`
-
- 更新个人信息
-
- ```
- {
- "dispname": "",
- "phone": "",
- "email": "",
- "im": ""
- }
- ```
-
- ---
-
- `PUT /api/portal/self/password`
-
- 更新个人密码,新密码输入两次做校验,在前端完成
-
- ```
- {
- "oldpass": "",
- "newpass": ""
- }
- ```
-
- ---
-
- `GET /api/portal/user`
-
- 获取用户列表,支持搜索,搜索条件参数是query,每页显示条数是limit,页码是p,如果当前用户是root,则展示相关操作按钮,如果不是,则所有按钮不展示,只是查看
-
- ---
-
- `POST /api/portal/user`
-
- root账号新增一个用户,is_root字段表示新增的这个用户是否是个root
-
- ```
- {
- "username": "",
- "password": "",
- "dispname": "",
- "phone": "",
- "email": "",
- "im": "",
- "is_root": 0
- }
- ```
-
- ---
-
- `GET /api/portal/user/:id/profile`
-
- 获取某个人的信息
-
- ---
-
- `PUT /api/portal/user/:id/profile`
-
- root账号修改某人的信息
-
- ```
- {
- "dispname": "",
- "phone": "",
- "email": "",
- "im": "",
- "is_root": 0
- }
- ```
-
- ---
-
- `PUT /api/portal/user/:id/password`
-
- root账号重置某人的密码,输入两次新密码保证一致的校验由前端来做
-
- ```
- {
- "password": ""
- }
- ```
-
- ---
-
- `DELETE /api/portal/user/:id`
-
- root账号来删除某个用户
-
- ---
-
- `GET /api/portal/team`
-
- 获取团队列表,支持搜索,搜索条件参数是query,每页显示条数是limit,页码是p
-
- ---
-
- `POST /api/portal/team`
-
- 创建团队,mgmt=0表示成员管理制,mgmt=1表示管理员管理制,admins是团队管理员的id列表,members是团队普通成员的id列表
-
- ```
- {
- "ident": "",
- "name": "",
- "mgmt: 0,
- "admins": [],
- "members": []
- }
- ```
-
- ---
-
- `PUT /api/portal/team/:id`
-
- 修改团队信息
-
- ```
- {
- "ident": "",
- "name": "",
- "mgmt: 0,
- "admins": [],
- "members": []
- }
- ```
-
- ---
-
- `DELETE /api/portal/team/:id`
-
- 删除团队
-
- ---
-
- `GET /api/portal/endpoint`
-
- 获取endpoint列表,用于【服务树】-【对象列表】页面,该页展示endpoint列表,搜索条件参数是query,每页显示条数是limit,页码是p,如果要做批量筛选,则同时要指定用哪个字段(参数名字是field)来筛选,只支持ident和alias,批量筛选的内容是batch,即batch和field一般是同时出现的
-
- ---
-
- `POST /api/portal/endpoint`
-
- 导入endpoint,要求传入列表,每一条是ident::alias拼接在一起
-
- ```
- {
- "endpoints": []
- }
- ```
-
- ---
-
- `PUT /api/portal/endpoint/:id`
-
- 修改一个endpoint的alias信息
-
- ```
- {
- "alias": ""
- }
- ```
-
- ---
-
- `DELETE /api/portal/endpoint`
-
- 删除多个endpoint,ids参数放到request body里
-
- ```
- {
- "ids": [10000, 200000]
- }
- ```
-
- ---
-
- `GET /api/portal/endpoints/bindings`
-
- 查询endpoint的绑定关系,QueryString:idents,逗号分隔多个
-
- ---
-
- `GET /api/portal/endpoints/bynodeids`
-
- 根据节点id查询挂载了哪些endpoint,QueryString:ids,逗号分隔的多个节点id
-
- ---
-
- `GET /api/portal/tree`
-
- 查询整颗服务树
-
- ---
-
- `GET /api/portal/tree/search`
-
- 根据节点路径(path)查询服务树子树
-
- ---
-
- `POST /api/portal/node`
-
- 创建服务树节点,pid表示父节点id,leaf=0表示非叶子节点,leaf=1表示叶子节点,note是备注信息
-
- ```
- {
- "pid": 0,
- "name": "",
- "leaf": 0,
- "note": ""
- }
- ```
-
- ---
-
- `PUT /api/portal/node/:id/name`
-
- 服务树节点改名
-
- ```
- {
- "name": ""
- }
- ```
-
- ---
-
- `DELETE /api/portal/node/:id`
-
- 删除服务树节点
-
- ---
-
- `GET /api/portal/node/:id/endpoint`
-
- 获取节点下面的endpoint列表,查询字符串使用query,每页展示多少条使用limit,页码使用p,如要批量筛选,一行一个,使用batch,同时必须指定field,即使用哪个字段进行批量筛选,有ident和alias可选
-
- ---
-
- `POST /api/portal/node/:id/endpoint-bind`
-
- 绑定一批endpoint到当前节点,del_old=1表示同时删除老的挂载关系
-
- ```
- {
- "idents": [],
- "del_old": 0
- }
- ```
-
- ---
-
- `POST /api/portal/node/:id/endpoint-unbind`
-
- 解绑endpoint和节点的挂载关系
-
- ```
- {
- "idents": []
- }
- ```
-
- ---
-
- `GET /api/portal/nodes/search`
-
- 搜索节点,limit表示最多返回多少条,query是搜索条件
-
- ---
-
- `GET /api/portal/nodes/leafids`
-
- 获取节点对应的叶子节点的id,参数是ids,逗号分隔的多个节点id
-
- ---
-
- `GET /api/portal/nodes/pids`
-
- 获取节点对应的父、祖节点的id,参数是ids,逗号分隔的多个节点id
-
- ---
-
- `GET /api/portal/nodes/byids`
-
- 查询节点的信息,参数是ids,逗号分隔的多个节点id,返回这多个节点的信息
-
- ---
-
- `GET /api/portal/node/:id/maskconf`
-
- 获取报警屏蔽列表,因为已经是某个节点下的了,量比较少,后端不分页
-
- ---
-
- `POST /api/portal/maskconf`
-
- 创建一个报警屏蔽策略
-
- ```
- {
- "nid": 0,
- "endpoints": [],
- "metric": "",
- "tags": "",
- "cause": "",
- "btime": 1563838361,
- "etime": 1563838461
- }
- ```
-
- ---
-
- `PUT /api/portal/maskconf/:id`
-
- 修改一个报警屏蔽策略
-
- ```
- {
- "endpoints": [],
- "metric": "",
- "tags": "",
- "cause": "",
- "btime": 1563838361,
- "etime": 1563838461
- }
- ```
-
- ---
-
- `DELETE /api/portal/maskconf/:id`
-
- 删除一个报警屏蔽策略
-
- ---
-
- `GET /api/portal/node/:id/screen`
-
- 获取screen列表,因为已经是某个节点下的了,量比较少,后端不分页
-
- ---
-
- `POST /api/portal/node/:id/screen`
-
- 创建screen
-
- ```
- {
- "name": ""
- }
- ```
-
- ---
-
- `PUT /api/portal/screen/:id`
-
- 修改screen,其中node_id顺带也可以修改,这样screen相当于直接挪动了挂载节点
-
- ```
- {
- "name": "",
- "node_id": 0
- }
- ```
-
- ---
-
- `DELETE /api/portal/screen/:id`
-
- 删除某个screen
-
- ---
-
- `GET /api/portal/screen/:id/subclass`
-
- 获取screen下面的子类,返回的subclass按照weight字段排序
-
- ---
-
- `POST /api/portal/screen/:id/subclass`
-
- 创建subclass
-
- ```
- {
- "name": "",
- "weight": 0
- }
- ```
-
- ---
-
- `PUT /api/portal/subclass`
-
- 批量修改subclass
-
- ```
- [
- {
- "id": 1,
- "name": "a",
- "weight": 1
- },
- {
- "id": 2,
- "name": "b",
- "weight": 0
- }
- ]
- ```
-
- ---
-
- `DELETE /api/portal/subclass/:id`
-
- 删除某个subclass
-
- ---
-
- `PUT /api/portal/subclasses/loc`
-
- 修改subclass的location,即所属的screen
-
- ```
- [
- {
- "id": 1,
- "screen_id": 1
- },
- {
- "id": 2,
- "screen_id": 1
- }
- ]
- ```
-
- ---
-
- `GET /api/portal/subclass/:id/chart`
-
- 获取chart列表,根据chart的weight排序,不分页
-
- ---
-
- `POST /api/portal/subclass/:id/chart`
-
- 创建chart
-
- ```
- {
- "configs": "",
- "weight": 0
- }
- ```
-
- ---
-
- `PUT /api/portal/chart/:id`
-
- 修改某个chart的信息
-
- ```
- {
- "subclass_id": 1,
- "configs": ""
- }
- ```
-
- ---
-
- `DELETE /api/portal/chart/:id`
-
- 删除某个chart
-
- ---
-
- `PUT /api/portal/charts/weights`
-
- 修改chart的排序权重
-
- ```
- {
- "id": 1,
- "weight": 9
- }
- ```
-
- ---
-
- `GET /api/portal/tmpchart`
-
- 获取临时图,参数是QueryString:ids,逗号分隔的多个id
-
- ---
-
- `POST /api/portal/tmpchart`
-
- 创建一个临时图,返回生成的临时图的id列表
-
- ```
- [
- {
- "configs": ""
- },
- {
- "configs": ""
- }
- ]
- ```
-
- ---
-
- `GET /api/portal/event/cur`
-
- 获取某个节点下的未恢复报警列表,QueryString:
-
- - 节点路径:nodepath
- - 开始时间:stime
- - 结束时间:etime
- - 每页条数:limit
- - 查询条件:query
- - 优先级:priorities,逗号分隔的多个
- - 发送类型:sendtypes,逗号分隔的多个
-
- ---
-
- `GET /api/portal/event/cur/:id`
-
- 获取当前某一个未恢复的报警
-
- ---
-
- `DELETE /api/portal/event/cur/:id`
-
- 删除当前某一个未恢复的报警
-
- ---
-
- `POST /api/portal/event/curs/claim`
-
- 认领某一些未恢复的告警,避免告警升级到老板那里,id和nodepath只能传入一个,不能同时传入,也不能一个都不传,业务上的语义是:要么认领某一个告警事件,要么认领某个节点下的所有告警事件
-
- ```
- {
- "id": 1,
- "nodepath": ""
- }
- ```
-
- ---
-
- `GET /api/portal/event/his`
-
- 获取某个节点下的所有报警列表,QueryString:
-
- - 节点路径:nodepath
- - 开始时间:stime
- - 结束时间:etime
- - 每页条数:limit
- - 查询条件:query
- - 优先级:priorities,逗号分隔的多个
- - 发送类型:sendtypes,逗号分隔的多个
- - 事件类型:type
-
- ---
-
- `GET /api/portal/event/his/:id`
-
- 获取某个历史告警事件
-
- ---
-
- `GET /api/portal/collect/list`
-
- 获取某个节点下面配置的采集策略,必传QueryString: nid表示节点id,后端不分页,返回全部
-
- ---
-
- `GET /api/portal/collect`
-
- 获取单个采集配置的详情,QueryString:type和id,都必传,type是port、proc、log之一。
-
- ---
-
- `POST /api/portal/collect`
-
- 创建一个采集策略
-
- ```
- {
- "type": "",
- "data": {
- # 端口、进程、日志配置不同,参阅model/collect.go
- }
- }
- ```
-
- ---
-
- `PUT /api/portal/collect`
-
- 修改一个采集策略
-
- ```
- {
- "type": "",
- "data": {
- # 端口、进程、日志配置不同,参阅model/collect.go
- }
- }
- ```
-
- ---
-
- `DELETE /api/portal/collect`
-
- 删除采集策略
-
- ```
- {
- "type": "",
- "ids": []
- }
- ```
-
- ---
-
- `POST /api/portal/collect/check`
-
- 校验用户输入的数据是否匹配正则,跟商业版本数据结构一致
-
- ---
-
- `POST /api/portal/stra`
-
- 新增告警策略,跟商业版本数据结构一致
-
- ---
-
- `PUT /api/portal/stra`
-
- 修改告警策略,跟商业版本数据结构一致
-
- ---
-
- `DELETE /api/portal/stra`
-
- 删除告警策略,跟商业版本数据结构一致
-
- ---
-
- `GET /api/portal/stra`
-
- 获取告警策略列表,跟商业版本数据结构一致
-
- ---
-
- `GET /api/portal/stra/:id`
-
- 获取单个告警策略,跟商业版本数据结构一致
|