mirror of
https://github.com/Tencent/Metis.git
synced 2025-12-26 04:02:48 +00:00
128 lines
4.4 KiB
Markdown
128 lines
4.4 KiB
Markdown
# API接口文档
|
||
## 时间序列异常检测学件接口
|
||
|
||
用户可使用API接口对时间序列进行异常检测,检测后的结果通过WEB管理端查看和管理。 服务端提供两个异常检测的API接口供不同场景调用:
|
||
|
||
1、量值检测:适用于大多数类型数据的检测,使用无监督和有监督联合检测,会加载检测模型
|
||
|
||
2、率值检测:适用于严格正态分布类型数据的检测,使用无监督算法进行检测,如成功率等生死指标数据的检测
|
||
|
||
- API请求调用请使用搭建的后端服务地址
|
||
- 当前检测时间窗口选取为3小时,每分钟1个数据点,即窗口值为180
|
||
- 同比数据日期和时间段的选择可根据实际情况调整,文档中两个同比数据分别去昨日和一周前的同比
|
||
|
||
针对当前一个值的检测,需要依赖过去三段数据,数据选取规则参考示例图:
|
||

|
||
|
||
### 1、量值检测
|
||
|
||
* 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,判决为异常 |
|
||
|
||
### 2、率值检测
|
||
|
||
* 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 | 概率值,值越小,置信度越高 | |