指标异常检测的常用方法

网友投稿 1124 2022-10-15

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

指标异常检测的常用方法

指标异常检测是运维自动化建设过程中最关键的技术,现在大多数搞AIOPS的朋友都不满足于谈指标检测,而是都在忽悠指标预测的概念了。实际上,现在能够真正做好指标检测的都是凤毛麟角。指标检测是运维自动化的基础性工作,只有能够实现高质量的指标异常检测,运维自动化系统才能真正的落地,而不是一个摆设。今天老白和大家探讨一下指标异常检测的常用方法。

第一种方法是最为传统的方法,就是基线分析法。通过预设的基线数据来判断当前指标是否存在异常。这是一种十分传统的方法,从第一台计算机诞生开始,通过某些基线来判断计算机系统是否存在问题的做法就已经存在了。不过看似传统,但是要想做好基线设置也是一个十分具有挑战性的工作。互联网企业存在大量的同构系统,可能几千甚至几十万个节点承担的工作负载、硬件配置都是标准化的,因此他们的基线设置相对容易,也更为有效。但是一旦在传统企业开展基线设置,我们就会发现,系统的工作负载、系统的规律节奏、硬件的配置都千差万别,很难设置一个较为通用的基线模板。另外一方面,如何设置基线也是一个大学问,最初的基线是一组数据,包括基准、上限、下限等,无论一年中、一个月中、一天中的工作负载如何变化都是用这套基线来进行指标异常检测。很多用户都发现这种方式做出的异常检测十分不准,基线指标也很难设定。于是很多企业都开始使用复杂基线,支持一些具有周期特征的变化。这种方式虽然解决了一些问题,但是仍然存在如何设置合理的基线的问题。比如IO延时的问题,我们是设置30毫秒还是50毫秒作为基线呢?设置的太低了,告警数量太多,无法处理,设置的太高了,真的出问题了有可能不报警。最后一点是,随着对信息系统监控要求的提升,以及运维中遇到的新的场景要求,指标是动态变化的,每新创建一个指标,都要根据上百套甚至数千套个性化的系统去设置基线,是一个工作量十分巨大的,并且必须有专家参与的工作,对于大多数企业来说,很难去落地。

第二种方法是同比/环比等数学对比方法,也就是不通过对每个指标设置基线的方法来进行异常检测,而是通过同比、环比等数学算法来判断当前的指标是否出现了异常。这种方法避免了为每个指标设置复杂的基线模板,似乎应用起来也比较简单,很容易落地。但是这个方法也不完美,因为信息系统大多数不是十分平稳的,指标也千差万别,有些指标适合于环比,有些指标适合同比。同比的话还需要设定时间窗口,相同的窗口内的数据进行同比才有意义。

比如说大多数MIS系统周末是没什么OLTP业务的,只有一些备份和统计业务,这是两种时间窗口。每天9点-10点可能是业务最忙的窗口,如果9点和8点的数据做环比,百分之百会发生异常,如果每天9点都误报一次指标异常,那么运维人员肯定是十分恼火的。另外月底的最后一天可能会叠加很多统计报表,那么这一天又是一个特殊的窗口。只有我们把通用的窗口与特殊窗口全部十分准确的定义好了,这种方法才能较好的工作。因此第二种方法实际上要想达到运维自动化想要的效果,仍然是工作量十分巨大的。

第三种方法是利用大数据分析的算法去发现指标的异常。这种指标异常发现有两种方法,一种是暴力计算的方法,一种是数学模型的方法。暴力计算实际上能够很好的发现指标异常,不过所需要的算力十分巨大,无法在生产环境中广泛使用,只能作为数据建模的一种辅助手段来使用。一种切实可行的智能化的指标异常发现可以采用下面的方法:

利用离线数据,通过暴力计算获得异常数据集,然后有专家完成部分异常数据集的标注工作,进行半监督学习,形成模型,用于在线指标异常检测。发现异常后,形成在线异常指标集,由专家进行部分标注后,再次反馈到半监督学习中,不断迭代优化智能模型。经过几个周期的迭代,模型的质量会逐步提高。

无论你在使用何种异常检测的方法,异常检测对于运维工作的帮助是十分巨大的。而且三种方法对于你的系统来说都是不可或缺的。虽然第三中国方法具有很多优点,但是还是不能完全替代前两种方法。系统刚刚上线的时候,或者缺乏历史数据的时候,第三种方法很可能无法发挥作用,此时必须有前两种方法作为补充。哪怕第三种方法已经达到了一定的效果,前两种方法仍然可以用作异常数据发现的方法来补充异常数据集。

大家看了本文似乎有些绝望,一个指标异常检测就如此复杂,运维自动化是不是没希望了。事实上,无论如何进行指标异常检测,如何做运维自动化,运维自动化都是需要长期积累的,无论是指标、算法、运维经验,都必须长期积累。因此构建运维自动化的关键不是某个算法、某个软件平台,而是“运维知识自动化”这个理念,知识才是运维自动化中的核心和关键。

上一篇:PL/SQL与SQL分析利器-Profiler
下一篇:2016 第六届 Oracle 技术嘉年华与你相约
相关文章

 发表评论

暂时没有评论,来抢沙发吧~