刘宏伟 基于形变分析模型的异常检测系统建设与实践

1. 基于形变分析模型的异 常检测系统建设与实践 刘宏伟 美团⾼高级技术专家
2. • Content Title 2 • Content Title 3 • Content Title 4 • Content Title 5 • Content Title 6
3. 刘宏伟 ⾼高级技术专家 • 美团外卖技术保障组负责⼈人 • 围绕业务稳定性建设事前通过全链路路压测系 统建设提前发现服务性能瓶颈、进⾏行行服务保 护预案演练、容量量规划;事中通过异常检测 与故障诊断模块,在重⼤大事故时可以快速识 别关键问题链路路,定位根因;事后通过服务 保护系统进⾏行行快速保护预案的触发,帮助开 发⼈人员快速解决线上问题。在整个持续交付 过程中,提升整体效率。
4. • ⼀一、美团外卖业务异常检测现状 • 外卖业务特点 • 主要痛点 • ⼆二、形变分析模型介绍 • 模型分析过程 • 告警收敛策略略 • 解决了了美团外卖哪些现实问题 • 与常⽤用时间序列列异常检测⽅方法的差异 • 三、业务异常检测系统的整体设计 • 四、异常检测与其他稳定性保障系统内联 • 五、落地情况及实践效果 • 六、回顾总结
5. 美团外卖业务特点-典型曲线 • 有规律律的时间序列列 • ⼤大多数核⼼心业务指标都是呈现周期性、趋势性。 • 午、晚峰值与低峰期相差百倍。 • ⽇日完成订单2千多万单。
6. 美团外卖业务特点-典型曲线 • ⽆无规律律的时间序列列 不不 定 时 营 销 活 动 SET 化 引 流 操 作 某 AVG 服 、 务 TP99 失 等性 败 能指 率 标
7. 美团外卖业务特点-主要痛点 告警精确率与召回率 难平衡 ⼈人⼯工配置告警阈值 成本⾼高 典型故障场景分析需要 ⼈人⼯工介⼊入 重⼤大事故时如何避免 告警洪潮
8. • ⼀一、美团外卖业务异常检测现状 • 外卖业务特点 • 主要痛点 • ⼆二、形变分析模型介绍 • 模型分析过程 • 告警收敛策略略 • 解决了了美团外卖哪些现实问题 • 与常⽤用时间序列列异常检测⽅方法的差异 • 三、业务异常检测系统的整体设计 • 四、异常检测与其他稳定性保障系统内联 • 五、落地情况及实践效果 • 六、回顾总结
9. 形变分析模型介绍 ✤ ⼈人是如何进⾏行行异常点识别的?主要是通过当前曲线的形状是否符合预期。 ⼈人眼识别的有规律律时间序列列会分如下⼏几类: 整体抬升或偏移 陡降后更更贴近预测 阴跌 陡升陡降 ✤ 形变分析模型的特点: 主要基于对形状的预测,⽽而不不是数值的预测。通过多次处理理提 升告警阈值适应性。 ✤ 形变分析模型的适⽤用范围:有规律律的时间序列列。 ✤ 形变分析模型的核⼼心公式: • 归⼀一化互相关(余弦相关性): • 形变量量计算: (1 - 余弦相关性)x 基线变化量量 9
10. 异常检测 形变分析 相关性变点检测 告警收敛策略略 形变分析模型介绍 形变分析 + 相关性变点检测 + 告警收敛策略略 (1 - 余弦相关)x 实时当前值- 基线当前值 针对当前值减去基线值趋近于0的超级变点,采⽤用前 ⼀一分钟数值减去当前值作为补充。 (1 - 余弦相关)x 前⼀一分钟数值- 当前值 链路路维度收敛:同⼀一刻单链路路多条曲线告警收敛为⼀一条。 按照次数或时间桶进⾏行行收敛。 图形化告警信息,直观体现前后异常趋势。
11. 形变分析模型介绍-模型分析过程 形变分析模型的主旨是对有规律律的时间序列列数据进⾏行行 处理理,尽量量将数据归⼀一到⼀一个维度。 形 1. 确定曲线特征:通过傅⾥里里叶变换确定⼩小周期,确 变 定节假⽇日与⼯工作⽇日的差异性。 分 析 模 2. 选择基准线:这⾥里里可以根据历史数据预测曲线形 型 状,也可以根据同源数据进⾏行行预测。 整 体 分 3. 基准形变量量计算:预测完毕后需要进⾏行行两次处 析 理理,尽可能将多维数据归⼀一到⼀一个基准上,计算 流 出对应的形变量量告警阈值。 程 4. 异常判定:根据基准形变量量⾃自动设定不不同等级的 告警阈值,并结合⼈人⼯工反馈进⾏行行⾃自动修正。 ⼀一次处 理理,去 除形状 ⼲干扰。 ⼆二次处 理理,去 除量量级 影响。 11
12. 形变分析模型介绍-第⼀一次针对形状处理理 • 归⼀一化互相关(余弦相关性): 低峰期量量级较⼩小对相关性影响较⼤大。 将整个时间序列列归⼀一成⼀一个 [0,1] 的区间,去除了了形状的维度。但是,不不同时段的量量级对相关性计 算影响较⼤大。 12
13. 形变分析模型介绍-第⼆二次针对量量级还原 最终的形变量量 P0 P1 • 形变量量计算: (1 - 余弦相关性)x 实时当前值- 基线当前值 通过对量量级的还原,对量量级降级,去除量量级的影响,最终归⼀一到形变量量上。 13
14. 形变分析模型介绍-模型分析过程图形解释 ⽬目的:基于对形状的预测,通过两次处理理将数据统⼀一在⼀一个维度上进⾏行行异常判定与定级 1 形状预测。 ⼈人⼯工反馈阈值敏敏感或不不敏敏感 2 ⼀一次处理理,进⾏行行归⼀一化互 相关,去除因时间引起的 波峰波⾕谷。 4 通过反馈⾃自动调整告警等级。 3 ⼆二次处理理,通过差值还原 量量级最终得到形变量量,去 除量量级的影响。 P0 P1
15. 形变分析模型-告警收敛策略略 ⽬目的:直观展示异常点与变化趋势,在事故时避免出现告警洪潮影响业务开发⼈人员定位问题根因 图形化告警,直观展示异常点变 化幅度,展示最近时间区间是否 发⽣生过异常。通过收集⽤用户⾏行行为 判断告警的关注度,对低关注度 告警进⾏行行强收敛。 在事故持续时间较⻓长时,每分钟都发送告警会对业务 造成⼲干扰,在连续三分钟发送异常告警之后,采⽤用间 隔3、5、7、7....... 直到判断异常恢复为⽌止。 根据业务相关性,从强相关的 业务链路路上收集异常告警事件 进⾏行行分析,从更更⾼高维度给出链 路路级分析报告。
16. 形变分析模型-解决了了哪些现实问题 不不应该被识别为异常的⾮非事故案例例 案例例1:因为全国⼤大范围出现恶 劣天⽓气,引起了了午晚⾼高峰整体 抬升,这种情况不不希望出现连 续告警。 ⼀一次处理理,将历史样本与基线进 ⾏行行归⼀一化互相关计算,得到数据 集看到在业务低峰期时,相关性 波动很⼤大,在午晚⾼高峰时相关性 较⾼高。 ⼆二次处理理,还原量量级,去除量量级 P0 维度,并通过基准形变量量计算出 P1 不不同告警等级对应的形变量量,我 P2 们发现没有任何点需要告警,符 合预期。
17. 形变分析模型-解决了了哪些现实问题 需要被识别为异常的事故案例例 案例例2:某⼀一渠道出现问题引起整体流 量量缓慢下降,需要识别出异常点。 ⼀一次处理理,将历史样本与基线进⾏行行归⼀一 化互相关计算,得到数据集看到在渠道 异常期间相关性波动较⼤大。 ⼆二次处理理,还原量量级,去除量量级维度,并通过 基准形变量量计算出不不同告警等级对应的形变量,量 在渠道异常期间引起的指标缓慢下降,逐渐超 P0 过相应等级的告警阈值,符合预期。
18. 形变分析模型-解决了了哪些现实问题 超级变点 需要被识别为异常的事故案例例 案例例3:某服务⼊入⼝口流量量因为某 ⼀一渠道突然故障,引起整体流量量 陡降,之后曲线形状保持不不变, 陡降异常点需要被识别出。 (1 - 余弦相关)x 实时当前值- 基线当前值 ⼀一次处理理,将历史样本与基线进 ⾏行行归⼀一化互相关计算,因为故障 之后曲线形状迅速恢复,相关性 依然很⾼高。 P0 变点检测 (1 - 余弦相关)x 前⼀一分钟数值- 当前值 P0 ⼆二次处理理,还原量量级,去除量量级维度,并通过基准形变量量计算出不不同告警等级对应的形变量量,因为异常之后真实值与基线基本吻合,形 变量量计算在这种特例例下⽆无法识别,需要同时增加前后⼀一分钟的形变量量分析,在两个结果中任何⼀一个超过对应等级的告警阈值则认为是异 常点,符合预期。
19. 形变分析模型-解决了了哪些现实问题 需要被识别为异常的⾮非事故案例例 案例例4:世界杯期间的营销活动 不不定时引起指标陡升,正常需 要识别出异常点。 ⼀一次处理理,将历史样本与基线进 ⾏行行归⼀一化互相关计算,得到数据 集看到在活动期间相关性波动较 ⼤大 ⼆二次处理理,还原量量级,去除量量级 维度,并通过基准形变量量计算出 P0 不不同告警等级对应的形变量量,三 P1 处活动期间引起的指标陡升超过 告警阈值,符合预期。
20. 形变分析模型-解决了了哪些现实问题 案例例5:⾼高峰期与低峰期都有跟基线相⽐比下降5%的异常点,在午⾼高峰时 需要进⾏行行P0级别告警,低峰期波动经常超过10%可能都不不需要告警。 低峰期波动 需要被识别为异常的事故案例例 两次处理理后,可以看到在低峰期时形变量量⾮非常⼩小,达不不到告 警阈值。在午⾼高峰时形变量量⾮非常⼤大,达到P0级别告警阈值。 P0 低峰期形变量量 在低峰期如果想达到P0级别告警阈值,需要波动在50%左右,这个案例例体现了了形变分析模型在阈值判定上较好的适应性。 波动在50%左右 低峰期波动在多少 才会触发P0告警?
21. 形变分析模型-与常⽤用时间序列列异常检测⽅方法的差异
22. • ⼀一、美团外卖业务异常检测现状 • 外卖业务特点 • 主要痛点 • ⼆二、形变分析模型介绍 • 模型分析过程 • 告警收敛策略略 • 解决了了美团外卖哪些现实问题 • 与常⽤用时间序列列异常检测⽅方法的差异 • 三、业务异常检测系统的整体设计 • 四、异常检测与其他稳定性保障系统内联 • 五、落地情况及实践效果 • 六、回顾总结
23. 业务异常检测系统的整体设计 ✤职责 : • 精准识别监控指标的异常点。 • 帮助⽤用户快速诊断业务异常问题根因, 并给出降级 建议。 • 结合⽤用户反馈,进⾏行行半监督学习,提升精确率与召 回率。 • ⾃自动配置告警阈值,告警信息⾃自解释。 ✤难点 : • 判断业务曲线适⽤用哪种异常检测模型。 • 不不同异常检测模型的效果评估。 • 监控数据采集的稳定性,需要对指标进⾏行行可信度标 记。 异常检测系统整体结构图
24. • ⼀一、美团外卖业务异常检测现状 • 外卖业务特点 • 主要痛点 • ⼆二、形变分析模型介绍 • 模型分析过程 • 告警收敛策略略 • 解决了了美团外卖哪些现实问题 • 与常⽤用时间序列列异常检测⽅方法的差异 • 三、业务异常检测系统的整体设计 • 四、异常检测与其他稳定性保障系统内联 • 五、落地情况及实践效果 • 六、回顾总结
25. 异常检测与其他稳定性保障系统内联 异常检测结果的好坏直接影响到相关稳定 性保障系统核⼼心功能是否有效。 1. 异常检测告警事件分析,提炼业务稳 定性报告。 2. 在全链路路压测过程中,准确的异常检 测告警可以作为是否继续施压的判定 标准。 3. 通过压测前后的稳定性报告做相应的 容量量规划。 4. 准确的异常检测告警是可以⾃自动触发 服务保护动作的前提。 稳定性保障体系能⼒力力地图
26. • ⼀一、美团外卖业务异常检测现状 • 外卖业务特点 • 主要痛点 • ⼆二、形变分析模型介绍 • 模型分析过程 • 告警收敛策略略 • 解决了了美团外卖哪些现实问题 • 与常⽤用时间序列列异常检测⽅方法的差异 • 三、业务异常检测系统的整体设计 • 四、异常检测与其他稳定性保障系统内联 • 五、落地情况及实践效果 • 六、回顾总结
27. 落地情况及实践效果 • 覆盖外卖核⼼心业务指标2000多个(订单、流量量、营销、SET等) • 单次异常检测流程在200ms 通过混淆矩阵收集⽤用户反馈: 正确 错误 检测异常 A B 检测正常 C D 80% 精确率 80% 召回率 注:在现在特定场景下,基于现有的数据集统 计获得。异常检测准确性还有⼀一部分依赖时间 序列列数据采集聚合通道的稳定性。 告警阈值配置⾃自动化
28. 回顾总结 ✤ 形变分析模型重点突出对时间序列列形状的预测。 ✤ 针对有规律律的时间序列列验证形变分析模型的适应性。 ✤ 异常检测系统在整个稳定性保障体系中的作⽤用。 ✤ 形变分析模型在美团外卖的落地情况。 原则: • 尝试找到通⽤用的异常检测⽅方法⾮非常具有诱惑⼒力力,可能并不不是最佳选择。 • 尝试最适合你问题的最简单⽅方法。 • ⽤用简单⽅方法处理理复杂问题;⽤用简单模型收敛问题;⽤用⼩小成本撬动⼤大效能。
29. • Content Title 2 • Content Title 3 • Content Title 4 • Content Title 5 • Content Title 6
30. • Content Title 2 • Content Title 3 • Content Title 4 • Content Title 5 • Content Title 6