智能监控成效的上限该如何突破?(下)

简介: 智能监控成效的上限该如何突破?(下)

2.2、明细数据

明细数据希望尽可能多的保存系统状态的上下文,比如:系统调用链路、每个节点的参数、CPU、网络等数据。其中能够用全局ID关联的数据,尽量用它关联。有了这部分数据,我们几乎可以还原任何时候的系统状态。但是,全量保存的存储代价是相当大的,在实践中,往往会舍弃一些相对不太重要的信息,以减少存储和计算的开销。


明细数据保留了数据联系、也不存在聚合函数的精度丢失问题,给机器学习模型提供了更多检测特征,合理利用通常能得到更好的异常检测效果。通常,除了存储、计算之外,要利用好明细数据还需要解决“明细粒度选择”的问题:由于存储问题导致在舍弃不重要信息的时候,该丢哪些信息?这个问题的产生是场景相关的,通常需要了解哪些信息导致存储爆炸,比如:double型信息是否需要保留,如果需要必须分箱;枚举类型字段,统计枚举值数量;list型信息,是否需要排序等。同时,需要判断这样的操作是否是合理的,比如针对list型信息,通常排序后去重可以降低对存储的依赖,但是如果排序会导致明显数据错误,那么针对你的场景,需要设计其他“明细粒度选择”的方法。

     

既然介绍了两种数据形态以及它们对异常检测性能上限的影响,下面再看看两种数据形态检测方法的通常做法和优缺点。

 

三、在实践中基于两种数据形态的异常检测


3.1、基于KPI的异动检测

传统运维通常以KPI作为检测对象,所以最早发展起来的方法是基于时间序列的预测KPI异动变化的一类。


image.png


基于时序预测KPI走势的一类方法本质上是回归模型,只有1个KPI作为输入预测其走势的一类方法叫“单元时间序列预测”,传统金融时序模型包括:Arima、滑动平均等、机器学习模型包括:LR、RNN、LSTM等,有多个KPI作为输入预测1个或多个走势的一类方法叫“多元时间序列预测”,传统金融时序模型包括:向量自回归等、机器学习模型包括:Parallel LSTM等,有时还会有多条时序对齐的要求,通常用动态时间调整(DTW,Dynamic Time Warping)。下面是一些实际操作时的经验,希望有一些帮助:


DTW是在恢复聚合数据丢失的数据关联时比较有用的方法,但前提是要针对场景的问题做一些算法微调,比如:系统调用时间通常在秒级,所以对齐的时候调整窗口不能太长,否则你会发现A系统调用量第1s的下跌,和B系统调用量第10s的下跌对齐了,而这是没有意义的,毕竟算法只是工具,有效是建模的同学要考虑的。



image.png


通常,在你没有额外特征可以引入之后,还可以利用时序特征计算很多统计特征,再利用机器学习模型去做学习,有时可以略微减少RSE。但实践中不要花过多时间试图去分析哪个统计特征更有效果,我的实验程序告诉我通常统计特征的变化给我带来的收效甚微,把经历放在一些业务特征引入上可能更好,而统计特征的分析交给机器学习模型和研究者吧,我们要做的是多引入统计特征即可。


在特征数量较多的时候,尽量拟合能力较强的模型去做,比如LR用稍微高阶一点,LSTM增加层数、每层的单元数、遍历数据集的次数等。使用RSE做损失函数的时候,在波峰、波谷处通常预测曲线会更平滑,如果对于这部分的预测有强烈的拟合需求时,尝试加入一些规则做后处理方法会得到意想不到的效果。


对于回归类模型,通常会有一些时间滞后,导致有一些误报,如果报警准确率对你来说至关重要,那么尝试降低一点报警时效,在观测到时间滞后现象后再尝试报警。

     

3.2、基于系统调用参数的异动检测

 假设我们已经解决了“明细数据粒度”选择问题,得到了一段时间的系统调用参数,假设训练集有N个实例,每个实例有M个特征。


image.png


第一类方法是无监督异常检测方法,比如:孤立森林、AutoEncoder等,可以从方法层面划分为基于密度的、基于距离的等。但这些叫法都只不过是招式,不是核心,实战中重点是我们需要清洗的理解损失函数的物理意义是否符合要检测的异常定义,比如孤立森林,本质上他是在空间中用平行坐标系的分割线不断切割空间,更少的切割能够分开的点,就更孤立。但这个假设在实践中并不一定成立,因为少的不代表就是异常的。所以无监督异常检测方法虽然层出不穷,花样百出,让大家觉得在方法层面很高大上,而在实践中,真正找到适合场景的损失函数是一件困难的工作,往往需要不断的实验。但大家不要钻牛角尖,认为方法就不重要了,它们在思路上给了我们很好的启示。


第二类方法把无监督问题转变为有监督问题,因为N个实例是带有时间戳的,我们可以把它们按照时间戳排列起来,利用周期性出现的特征给实例打标,让模型去学习实例未来出现的概率,再利用预测实例出现概率与实际出现概率的偏差去做预警。这种方法将异常定义转换成了学习系统状态周期性,而系统调用有无周期性和是否出现异常理论上也不是一定有关系的,幸运的是,实际上系统调用符合一定周期性,例如:大家都是早上8~10点去上班,这段时间打车协议支付、吃早饭线下扫码等业务就是高峰。

 

三、总结

“数据决定效果的上限,而算法只是尽量逼近这个上限”。所以,本文从异常检测数据形态的角度出发,分析了它们对检测模型效果的影响,同时给出了一些实践中的经验和理解,希望抛砖引玉,帮助到大家。


现阶段的人工智能善于解决问题定义良好、问题边界清晰、且有大量标注数据的问题,比如:图像识别等。对于异常检测,缺乏标注数据、问题定义模糊,在工业界、学术界都是一个挑战,但是我相信在广大行业同胞、学术界教授们的努力下,有一天无人值守的梦想可以实现。

目录
打赏
0
0
0
0
368
分享
相关文章
AI 实时流量分析:运维老司机的“天眼”系统
AI 实时流量分析:运维老司机的“天眼”系统
78 14
技术分享:智能电网巡检与传感器数据自动分析——AI助力设备状态实时监控与故障预警
这篇文章介绍了AI在智能电网巡检与传感器数据分析中的应用,通过信息抽取、OCR识别和机器学习等技术,实现设备状态监控和故障预警的自动化。AI系统能够高效处理巡检报告和传感器数据,精准识别设备故障并实时预警,显著提升了电网运营的安全性和可靠性。随着AI技术的发展,其在智能电网管理中的作用将日益重要。
AI在灾害预警与管理中的应用:提升应急响应能力
【9月更文挑战第23天】AI在灾害预警与管理中的应用正在逐步改变我们对灾害的应对方式。通过实时监测与数据分析、精准预测与风险评估、快速响应与决策支持、智能调度与资源优化以及灾后评估与恢复重建等多种手段,AI正逐步提升我们的应急响应能力,为保障人民生命财产安全提供有力支持。未来,随着AI技术的不断发展和完善,我们有理由相信,AI将在灾害预警与管理中发挥更加重要的作用,为人类社会的可持续发展贡献更多力量。
智能运维:未来趋势与挑战
在数字化时代,运维(Operation and Maintenance)的角色变得越来越重要。随着云计算、大数据和人工智能等技术的发展,智能运维已经成为一种趋势。本文将探讨智能运维的概念、优势以及面临的挑战,并提供一些实施智能运维的建议。
智能化运维:基于AI的系统异常检测与自动修复策略
【5月更文挑战第29天】 在现代IT基础设施管理领域,智能化运维正逐步成为推动效率和稳定性的关键因素。本文深入探讨了人工智能(AI)技术在系统异常检测和自动化故障修复中的应用,提出了一个集成的智能运维框架。该框架利用机器学习算法分析历史数据,实时监控关键性能指标,并在检测到潜在问题时触发自动化修复流程。通过这一方法,我们旨在降低人工干预的需求,提高系统的可靠性和业务连续性。
AIGC有效提升病理诊断效率、缩短药品研发周期
【1月更文挑战第18天】AIGC有效提升病理诊断效率、缩短药品研发周期
301 2
AIGC有效提升病理诊断效率、缩短药品研发周期
全新升级|ECS成熟度评估与洞察,助你精准定位运维风险
3 月 22 日,阿里云宣布 CloudOps(云上自动化运维)套件全新升级,并发布了 CloudOps 云上自动化运维白皮书 2.0 版本。随着本次产品升级,阿里云推出了配套的智能化产品方案,即“ECS 成熟度评估与洞察(ECS Insight)”,它基于用户的 ECS 多维度的使用数据,从基础能力、成本管理、自动化、可靠性、弹性和安全性六个维度帮助用户分析定位潜在的运维风险,并推荐对应解决方案与最佳实践,全方位帮助企业用户降本增效,提升业务连续性。
全新升级|ECS成熟度评估与洞察,助你精准定位运维风险
千寻驰观测评:真正达到实用级别的北斗+AI道路智能巡检
大规模道路养护时代,智能化应用需求呈现快速的增长趋势。作为道路智慧化的重要场景,道路智能巡检正在成为各地积极探索的新工具。根据赛文交通网的调研,当前道路智能巡检技术的应用以AI为主,整体处于早期阶段,在已经落地的AI道路巡检项目中,不少巡检检测成本可降低40%,且智能巡检效率是人工巡检的十倍以上;但另一方面,部分业主也传出了“识别精度不高、采集数据不准等问题,与实际应用尚存在距离”等声音。
千寻驰观测评:真正达到实用级别的北斗+AI道路智能巡检
华汇数据运维自动化巡检-实时在线监控-实现精准化管理
运维自动化可以大大提高运维的主动性和准确性,减少技术人员的工作强度,将精力转到运维策略规划、问题分析等有价值的工作中
436 0
华汇数据运维自动化巡检-实时在线监控-实现精准化管理

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等