智能运维:系统监控数据异常检测——随机森林篇
Posted 铁信云
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了智能运维:系统监控数据异常检测——随机森林篇相关的知识,希望对你有一定的参考价值。
智能运维
随着云产品的爆发式增长,大型分布式云系统的监控复杂性也日益显现。在运维拥有海量设备且高度复杂的云数据中心环境时,如何提供99.95%或以上的高质量IT服务,提升效率并降低成本,是运维团队当前面临的最大挑战。
随着智能化技术的发展,智能运维的呼声越来越高。
智能运维是用机器来代替运维人员,在最少人工干预下,结合运用脚本与第三方工具,保证业务7*24小时高效稳定运行。
本文就随机森林在监控中的应用———异常检测做简要分析。
异常点检测(又称为离群点检测)是找出其行为很不同于预期对象的一个检测过程,这些对象被称为异常点或者离群点。异常检测方式包括基于统计的模型、基于距离的模型、线性变换的模型、非线性变换的模型、机器学习的模型等。
下面主要介绍基于机器学习的模型———随机森林。
随机森林指的是利用多棵决策树对样本进行训练并预测的一种分类器。
决策树的核心思想是每次选取一个信息增益最大的特征为分类节点,递归至满足一定条件停止。
本文使用常用的基尼系数来衡量信息增益。
决策树的特征值可能是连续的,也有可能是离散的,对于离散值来说,树的枝数等于特征值的类型数;对于连续型数值来说须将其离散化,具体思路如下:
决策树递归的停止条件如下:
1. 一个节点上的数据都属于同一个类;
2. 没有属性可以再用于对数据的分割。
下面通过一个简单的例子来说明决策树的构建过程。
比如一台机器有两个特征,CPU利用率 (取值范围0-100,连续型变量)与有无业务(取值范围有或无,离散型变量)。
标签的取值范围:0与1,0代表正常,1代表异常。
整体输入如表1:
按照50这个阈值划分,基尼系数的差值为0.45-0.27=0.18,其中0.45为原始基尼系数,0.27为分类后的基尼系数;
同理按照75这个阈值划分,基尼系数的差值为0.45-0.42=0.03;
按照80这个阈值划分,基尼系数的差值为0.45-0.42=0.03;
按照82.5这个阈值划分,基尼系数的差值为0.45-0.42=0.03;
按照85这个阈值划分,基尼系数的差值为0.45-0.45=0。
选择分裂前后基尼系数差值最大的值50,作为分裂阈值,
所以根据CPU利用率这个特征划分后,基尼系数减少了0.18。
理解了决策树后,随机森林就比较好理解了。
随机森林的步骤如下:
1. 从原样本中有放回的抽样m次,每次抽样的样本数目等于原样本的数目,这样我们就得到了m*原数据大小的样本(bagging思想);
2. 利用1中抽取的m份样本训练m个弱分类器,在建立每个弱分类器的时候随机森林与一般决策树的区别在于一般决策树使用的是所有特征进行分类,而随机森林是从所有特征当随机选取k个特征进行决策树的构建(构建方式与上述决策树的构建方法一致);
3. 多个弱分类器投票,得票最多的一个类别为最终类别。
随机森林的优点:
1. 训练可并行化;
2. 由于在构建弱分类器时随机选择特征,在样本特征维度很高的时候,仍然能高效的训练模型;
3. 由于采用了随机采样,训练出的模型的方差小,泛化能力强;
4. 对部分特征缺失不敏感。
随机森林的缺点:
在某些噪音比较大的样本集上,RF模型容易陷入过拟合。
以上是随机森林的基本原理,下面是我们应用随机森林进行KPI(关键性指标,如CPU利用率)异常检测的一些过程及结果:
特征工程,具体的特征见表2:
随机森林的参数为:建立10颗树,每颗树用7个特征。
其中一个KPI实验结果如下图,下图4代表KPI曲线,红色部分代表异常点,下图4(上)的异常代表真实异常,下图4(下)代表模型判断的异常。图5是实验结果,precision代表查准率,recall代表查全率,f1-score是查准与查全的折中指标,0为正常,1为异常。
实验表明,随机森林在一些KPI异常检测中具有高查全率、高查准率。
收集更多异常场景,提高特征质量是我们今后关注的重点。
参考文献:
[1]Krishnamurthy B, Sen S, Zhang Y, et al. Sketch-based change detection:methods, evaluation, and applications[C]// Proceedings of the 3rd ACM SIGCOMM conference on Internet measurement. ACM, 2003:234-247.
[2] Choffnes D R, Ge Z. Crowdsourcing service-level network event monitoring[C]// ACM SIGCOMM 2010 Conference. ACM, 2010:387-398.
[3] Lee S B, Pei D, Hajiaghayi M T, et al. Threshold compression for 3G scalable monitoring[C]// IEEE INFOCOM. IEEE, 2012:1350-1358.
[4] Barford P, Kline J, Plonka D, et al. A signal analysis of network traffic anomalies[C]// Proc. ACM SIGCOMM Internet Measurement Workshop, Marseille, France, Nov. 2002:71-82.
作者简介
人物:智能老铁
星球:冥王星,pluto
战器:R/C++/python、hdfs/ES
封号:nevermore
成就:降服openstack系统运维
介绍:智能老铁,因为对专业炽烈的爱,来到pluto冥王星,在追求超级智能的路上,一路拼杀,誓达顶峰。迅速吸收运维专家的经验后,能力可以发生质变。风雨兮兮数几载,系统动作秒洞察,霸道一世逞英豪,旗开得胜风云会。
经典语录:如果惧怕前面跌宕的山岩,生命可能是死水一潭。
以上是关于智能运维:系统监控数据异常检测——随机森林篇的主要内容,如果未能解决你的问题,请参考以下文章