上一篇分享了对于时序预测的认知,时序领域另外一个重要的应用,就是在运维领域比较常见也是近年来比较火的概念「智能运维」,常用的技术是异常检测。本篇以异常检测领域切入,谈谈对智能运维的的认知。
异常检测的价值
在上家公司时,数据分析基本功能做到一定程度后,公司希望做更多智能化的功能作为卖点,异常检测场景是除了预测外,另外一个呼声比较高的能力。当时作为数据分析工具,很多客户会把一些关键业务指标监测起来,当超过一定阈值时,能够发到邮箱报警,便于及时发现业务问题,降低损失。
其实大部分运维场景,都会对关键指标进行监控,以便能够及时发现问题,避免造成客户或用户使用障碍和业务损失。但不同运维场景,所需监测的指标和标准完全不同,这就导致运维人员会花费大量时间手写代码规则,但仍无法很好解决业务监控的问题。
更进一步,即便运维规则写的很好,运维人员往往也会提心吊胆生怕会随时有报警,需要时刻准备处理问题。以前就有负责推荐系统的朋友,经常担心自己的服务挂掉,而影响休息。因此除了及时发现问题外,如果能提前在问题出现前就解决问题,就是更佳的解决方案了。
智能运维解法
近年来比较火的智能运维概念,为以上问题提供了部分的解法。采用机器学习的异常检测方法,能够将异常点、异常集合、异常周期很好识别出来,而这些通常人为定义规则是比较难的。再结合根因下钻算法,通过下钻搜索的方法,将造成异常的主要原因自动查找出来,大大降低了运维排查问题的时间。再通过数据积累,根据一些数据特征输入,对某些异常做预测,达到防患于未然的效果,即预测性维护。
智能运维的理念,对业务正常运行产生多方面的价值。首先,解放了运维人员,通过算法自动找出异常和原因,省去了运维人员大量写规则和排查原因的时间;其次,降低了业务直接损失,及时发现甚至提早发现问题,能够有效降低业务损失,例如运营商、互联网、电力,问题如果能及时或提前发现,就能保证服务联系性和稳定性,用户满意度就有保证;最后,降低了维修成本,及时发现或提早发现问题,维修人员和维修设备就可以提前准备,提前做相关物料的调度,避免带来额外的货运或库存成本。
以上,不难发现,智能运维的理念,实际是能够实现运维领域的全方位降本增效。
智能运维落地
在上家公司落地异常检测问题时,遇到客户异常检测需求不复杂,且对异常阈值定义不同,很难通过一套通用算法解决所有问题。因此必要的手工配置虽然不那么智能,但对于落地却有其重要。
对于不同行业或场景落地智能运维需要考虑:充足的数据、足够的业务输入、高准确率与高时效性。
充足的数据既是指构建智能模型有足够的数据量,也是指能够将具有相关和因果关系的数据,尽量的提供出来。在实际生产过程中,做到这一点并不容易。因为大量的数据,就意味着大量的异常,而如果存在大量异常,大部分情况应该是产品生产不合格。相关和因果关系的数据,也往往属于可遇而不可求,在上智能运维算法前,大量的场景并没有收集数据,或者即便收集了数据,数据质量也不高,无法支撑作为智能运维的输入。
足够的业务输入,是指需要业务上对异常情况和导致异常的原因尽可能的做输出。不同行业不同场景,甚至同一场景不同指标对异常的定义,往往不同。这就需要有相当的异常检测业务知识输入,以便于了解如何构建异常检测模型和对异常情况进行分类。拿电商GMV举例,一年不同时间点GMV都不同,有没有搞促销GMV范围也会不同,因此很难通过构建简单的模型定义异常,而是需要不断有业务上的输入,更新异常检测的判断标准。
做智能运维本质上希望降本增效,以更低成本,达到更好的运维效果,使运维全链路更加高效和低成本。如果不能及时高效的检测出异常,那智能运维存在的基本价值就没有了。同样地,如果非异常报错或异常不报错频繁发生,也达不到降本增效的效果。高准确率是与高时效性伴随而生的刚需。
知识图谱的价值
买辆摩托车,商家都会提供使用说明和简单维修原理。运维也不例外,尤其考虑大规模商业运维,是无法依靠单个人的经验来解决所有问题的。因此做运维,也需要沉淀操作智能,方便维修人员进行问题定位和快速维修。
最简单的做法是通过印发的手册解决维修问题,近些年来,随着认知智能的发展,将维修问题沉淀归类成知识库,再构建知识图谱成为比较前沿的尝试。维修人员通过快速检索知识点,找到相关运维知识,加速定位问题和维修效率。
「异常检测+根因下钻+知识图谱」看起来是智能运维的终极解决方案,但正如前面所述,不同的运维场景,需要业务大量的输入,大量的时间并非用在建模上,而是在理解业务和积累数据上,并且都需要大量的人力参与,并非能完全依赖算法。因此业界也没有太好的智能运维案例落地,多是概念大于实际。
网友评论