Metis/docs/api_userguide.md
dongdonglin(林向东) ee5235c6fe feat(local): commit code
2018-10-12 17:14:54 +08:00

127 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## API接口文档
用户可使用API接口对时间序列进行异常检测检测后的结果通过WEB管理端查看和管理。 服务端提供两个异常检测的API接口供不同场景调用
1、量值检测适用于大多数类型数据的检测使用无监督和有监督联合检测会加载检测模型
2、率值检测适用于严格正态分布类型数据的检测使用无监督算法进行检测如成功率等生死指标数据的检测
- API请求调用请使用搭建的后端服务地址
- 当前检测时间窗口选取为3小时每分钟1个数据点即窗口值为180
- 同比数据日期和时间段的选择可根据实际情况调整,文档中两个同比数据分别去昨日和一周前的同比
针对当前一个值的检测,需要依赖过去三段数据,数据选取规则参考示例图:
![data_info](images/data_info.png)
### 量值检测
* API POST /{ip}:{port}/PredictValue
* 功能说明:根据参考数据检测最近一个数据点是否异常
* 请求参数request
```
{
"viewId":"2012",
"viewName":"登陆功能",
"attrId":"19201",
"attrName":"ptlogin登陆请求总量",
"taskId":"1530608070706",
"window":180,
"dataC":"9,10,152,...,255,...,16",
"dataB":"9,10,152,...,255,...,18",
"dataA":"9,10,152,...,458"
}
```
* request字段说明
| 名称 | 类型 |必填| 默认值 | 说明 |
| --- | --- | --- |--- | --- | ---|
| viewId| string| 是|无|指标集ID |
| viewName| string| 是| 无|指标集名称|
| attrId| string| 是| 无|指标ID|
| attrName| string| 是| 无|指标名称|
| taskId| string| 否| 无|使用的检测模型,如不传,则采用系统默认模型|
| window| int| 是| 无|窗口值目前支持180|
| dataC| string| 是| 无|待检测的1个点对应一周前同时刻的点 + 前后小时的数据361个数据点按时间顺序拼接英文逗号分隔|
| dataB| string| 是| 无|待检测的1个点对应昨日同时刻的点 + 前后三小时的数据361个数据点按时间顺序拼接英文逗号分隔|
| dataA| string| 是| 无|待检测的1个点+前三小时的数据共181个数据点181个数据点按时间顺序拼接英文逗号分隔|
* 详情参数response
```
{
"code":0,
"msg":"操作成功",
"data":
{
"ret":0,
"p":"0.05",
}
}
```
* response 字段说明:
| 名称 | 类型 | 说明 |
|---|---|---|---|
| code | int | 返回码。0:成功非0:失败 |
| msg | string | 返回消息 |
| ret | int | 检测结果是否异常。0:异常1:正常 |
| p | string | 概率值值越小置信度越高目前p<0.15判决为异常 |
### 率值检测
* API POST /{ip}:{port}/PredictRate
* 功能说明根据参考数据检测最近一个数据点是否异常
* 请求参数request
```
{
"viewId":"2012",
"viewName":"登陆功能",
"attrId":"19201",
"attrName":"ptlogin登陆成功率",
"window":180,
"dataC":"100,99.8,100,...,100,...,100",
"dataB":"99.5,100,100,...,99.6,...,100",
"dataA":"100,98.5,100,...,85.9"
}
```
* request字段说明
| 名称 | 类型 |必填| 默认值 | 说明 |
| --- | --- | --- |--- | --- | ---|
| viewId| string| ||指标集ID |
| viewName| string| | |指标集名称|
| attrId| string| | |指标ID|
| attrName| string| | |指标名称|
| window| int| | |窗口值目前支持180|
| dataC| string| | |待检测的1个点对应一周前同时刻的点 + 前后小时的数据361个数据点按时间顺序拼接英文逗号分隔|
| dataB| string| | |待检测的1个点对应昨日同时刻的点 + 前后三小时的数据361个数据点按时间顺序拼接英文逗号分隔|
| dataA| string| | |待检测的1个点+前三小时的数据共181个数据点181个数据点按时间顺序拼接英文逗号分隔|
* 详情参数response
```
{
"code":0,
"msg":"操作成功",
"data":
{
"ret":0,
"p":"0",
}
}
```
* response 字段说明
| 名称 | 类型 | 说明 |
|---|---|---|---|
| code | int | 返回码0:成功非0:失败 |
| msg | string | 返回消息 |
| ret | int | 检测结果是否异常0:异常1:正常 |
| p | string | 概率值值越小置信度越高 |