0
点赞
收藏
分享

微信扫一扫

总结:基于AIOPS的异常告警判断

千妈小语 2022-03-30 阅读 23
算法

 一、介绍

免阈值配置

阈值动态变化

二、动态阈值

一级组件(judge-aiops):通过极值理论计算出judge使用的阈值

不同的时间段不同的阈值,季节性指标

三、离线检测

离线检测组件目的是判断event是否是告警,包括同比判断,趋势判断,相似性判断(或形状判断)

同比判断-->有监督同比判断-->趋势判断-->形状判断

[
    {
        "ModelName":"RobustCompCurrentValueWithPeak",
        "Parameters":{ "comp_window_size":10, "on":"both", "dim":3, "multiplier":1.5, "candinalityFraction":0.31666666666666665, "useModel":"ABOD(contamination=.1,n_neighbors=35,method=fast)" # 采用ABOD模型进行判断(将样本点进行projection)从而带上方向信息 },
        "Decision":{ "score":-0.000000009449068716562958, "decision":1 } },
    {
        "ModelName":"TongbiSupervisor", # 同比有监督模型 => 目标为判断 当前变化在短期表现内是否是一个显著变化
        "Parameters":{ "name":"tongbi", # 模型名 "version":"LASTEST" # 模型版本  },
        "Decision":{ "score":0.9267480969429016, "decision":1 } },
    {
        "ModelName":"ContinousTrendDetect", # 连续趋势变化采用MACD(Moving Average Converge Detection)方法
        "Parameters":{ "intensity":[ 9.46459025847357, # 变化强度 14.940460125568498, 13.1949226680374, 15.578383544934958, 16.51492140728985 ], "incr":[ 1, 1, 1, 1, 1 ], # 最近N个点的趋势 "decr":[ 0, 0, 0, 0, 0 ] },
        "Decision":{ "score":69.69327800430428, "decision":1 } },
    {
        "ModelName":"CompKNeighours", # 基于KNN的形状判断方案
        "Parameters":{ "thre":0.7, # 相似度阈值 "ratio":0.5 # 距离阈值 },
        "Decision":{ "score":[ 8.41684437036494, # K = 2 近邻距离 11.127899741634748, # K = 100 近邻距离 0 # K = 2 近邻相似度 ], "decision":1 } }
]

同比判断:

  • 获取到告警的当前时间点
  • 获取到昨天相同时间点相近的一些点数据,并计算出阈值P
  • 当前值与P进行比对是否是异常点,是的话认为可能是告警,否则不认为是告警

有监督同比判断:xgboost

  • 每种数据的异常情况可能不太一样,比如有的认为数据值是2倍则认为异常,有的10倍才认为是异常,所以一条数据有可能有多个阈值,有监督同比判断就是训练这些阈值,并训练出一个合适的阈值。利用xgboost进行实时训练。但是比较耗时,所以可以先用第一步的同步判断进行简单的过滤

趋势判断:MACD模型

  • 和chenyi沟通,主要是解决虽然达到告警但是趋势下行的情况,比如配置连续5个点大于100告警,但是如果数据是100,90,80,70,60,说明告警一直在降低,按照这种趋势,再过两个点可能就恢复了,这种情况可以考虑不告警
  • 判断当前点前面一些点的趋势是否平稳,如果平稳则不认为是异常

形状判断:KNN形状判断

  • 判断当前点的相近时间的历史数据,比如一小时内是否有一些和当前形状很相似的区间,则认为当前区间是正常的。

极值理论:计算出judge使用的阈值

xgboost:计算出同比相近时间的阈值

MACD模型:查看最近几个点的趋势

KNN形状判断:查看历史上是否有相似的形状,如果有则不报警

ABOD模型相关文章:

异常检测——ABOD(angle-based outlier detection)

数据挖掘中常见的「异常检测」算法有哪些?

四、告警定级

目标是希望实现:当告警越来越严重的时候,告警级别应该随之变高。或者业务可以自定定义,当多长时间没有恢复,告警进行升级

举报

相关推荐

0 条评论