针对各种指标数据如何选择合适的算法?

针对各种指标数据如何选择合适的算法?

# 技术黑板报 # 第四期

推荐阅读时长:8min

云智慧智能研究院研究员根据实践经验,对不同类型的指标数据,如何选择合适的算法给出了如下答案

章节目录

一、指标数据类型介绍

二、智能运维算法场景介绍

三、针对各种指标数据如何选择合适的算法

四、总结

一、指标数据类型介绍

云智慧采用异常值剔除、重复值检验、插值、重采样等预处理及算法动态调参等方式,对收集的运维数据进行预处理,然后直接或间接地对企业的业务、中间件、运维方面的指标数据进行异常检测或预测,从而达到降低运维人员成本,提升维护效率的目的。

不同企业都有其各自的指标,这些指标可以大致归类为基础监控指标、业务指标、中间件指标以及与自身业务具有直接联系的指标等,如图1所示。基础监控指标,如cpu使用率,内存使用率,内存空闲率,磁盘使用率,磁盘空闲率等;中间件指标,如kafka堆积数量,Mysql读写次数、Redis存活状态、守护进程总数、打开文件数等;业务指标,如交易量、响应时间、响应率、成功率、错误率、请求数等;还有一些与业务直接相关的其他指标,如银行的跑批时长,券商的交易量等。

图1 指标时序数据场景分析

二、智能运维算法场景介绍

目前云智慧已有的适用于不同使用场景的算法,有单指标时序异常检测场景、单指标时序预测场景、根因分析场景、日志模式识别场景、告警降噪场景、多指标关联分析场景等。每一个场景下都有不同的算法,并且每一个算法都有其所适合的数据,如图2所示。目前应用较广泛的算法场景是单指标时序异常检测场景和单指标时序预测场景。单指标时序异常检测场景有动态基线、自动阈值、分段阈值、Tima、DW_Tima、频域分析等算法,那么针对不同的指标数据该如何选择合适的算法呢?

图2 不同场景所适用的算法

三、针对各种指标数据如何选择合适的算法

无论是基础监控指标,还是业务指标等,都有其数据特征如周期数据、周期闲忙时数据、周期趋势数据、趋势数据、平稳数据、变更数据、不规则数据等。在选择算法的时候,我们可以根据指标数据的特征去匹配适合的算法。本文将对指标数据和不同数据特征类型进行逐一介绍,并综合考虑算法本身对数据的匹配程度与算法性能的影响,为不同数据特征的指标数据推荐合适的算法

1.周期数据

在实际运维场景中出现最多的数据特征就是周期数据和平稳数据,周期数据一般会出现在基础监控指标中如内存、磁盘等,还有某些与自身业务直接相关的指标。周期数据绝大多数都是天周期数据,偶尔会出现周周期数据。针对周期数据进行异常检测时,优先推荐使用Tima算法,其次是动态基线算法,如图3-4分别是Tima算法和动态基线算法计算周期数据的结果。

图3 Tima计算周期数据结果

图4 动态基线计算周期数据结果

2.周期闲忙时数据

周期闲忙时数据一般会出现在基础监控指标的内存使用量,或者是与自身业务直接相关的指标上,如金融领域的证券市场交易量会出现这种周期闲忙时数据。闲忙时数据的特点表现为“忙”时数据值较大,“闲”时数据值较小,异常值常出现于“忙”时的数据,相对于历史“忙”时数据值过大或过小,以及“闲”时的数据相对于历史“闲”时数据值过大或过小。针对周期闲忙时数据进行异常检测时,推荐使用分段阈值算法。如图5是分段阈值算法计算周期闲忙时数据的结果。

图5 分段阈值算法计算周期闲忙时数据的结果

3.周期趋势数据

一般针对基础监控指标里面的内存使用量,中间件指标的kafka堆积数量可能会出现这种趋势周期趋势数据,该类数据的形态特点为由周期性数据与趋势性数据叠加而成,针对这种周期趋势数据,推荐使用Tima算法。如图6是Tima算法计算周期趋势数据的结果。

图6 Tima算法计算周期趋势数据的结果

4.趋势数据

一般针对基础监控指标里面的内存使用量和磁盘占用量会出现的趋势数据,但是一般不会长时间持续增长。业务指标里面涉及到的交易量、成功数、错误数等也会出现趋势数据,针对这种趋势数据,优先推荐使用Tima算法,其次推荐使用动态基线算法。如图7-8分别是Tima算法和动态基线算法计算趋势数据的结果。

图7 Tima算法计算趋势数据的结果

图8 动态基线算法计算趋势数据的结果

5.平稳数据

一般针对基础监控指标里面的cpu利用率、内存使用量、磁盘占用量,中间件指标的MySql读写数量、kafka堆积数量、Redis存活状态等,以及业务指标中的响应时间、成功率、错误率等产生的数据几乎都是平稳数据。针对这种平稳数据,首先推荐使用Tima算法和自动阈值算法,其次推荐使用分段阈值算法和动态基线算法。如图9-12分别是Tima算法、自动阈值算法、动态基线、分段阈值计算平稳数据的结果。

图9 Tima算法计算平稳数据的结果

图10 自动阈值算法计算平稳数据的结果

图11 动态基线算法计算平稳数据的结果

图12 分段阈值计算平稳数据的结果

6.变更数据

一般针对基础监控指标里面的内存使用量、磁盘占用量经常会出现变更数据,变更数据的特点是一段时间内变化不大,由于内存或是磁盘突然上升导致出现更变点(change point),或者是中间件指标的队列堆积数量等因素,针对这种变更数据,首先推荐使用Tima算法,其次推荐使用频域分析算法。此处推荐使用Tima算法是因为同样的数据量,Tima的执行效率高,执行时间约为0.083s,而使用频域分析的执行时间约为46s。如图13-14分别是Tima算法和频域分析算法计算变更数据的结果。

图13 Tima算法计算变更数据的结果

图14 频域分析算法计算变更数据的结果

7.不规则数据

无论是基础监控指标、中间件指标、业务指标里都会出现一些不规则数据。针对这种不规则数据,优先推荐使用Tima算法。如图15是Tima算法计算不规则数据的结果。

图15 Tima算法计算不规则数据的结果

四、总结

不同行业企业监控的数据指标形态不同、业务特点更是大相径庭,不同的时间序列异常检测算法往往只适配不同形态特征的指标数据。因此很难根据企业业务特点来进行算法选择,即不能说基础监控指标的内存数据就一定适合动态基线算法。因此在选择指标数据适合的算法时,一般需要先对指标数据进行特征分析,再根据数据特征选择合适的算法。

END

代做工资流水公司淮安代办转账流水滁州背调工资流水公司九江代开对公流水泉州企业流水打印样本西安代做公司银行流水淄博贷款流水样本常德转账银行流水多少钱广州贷款工资流水 公司芜湖打印签证工资流水赣州对公账户流水办理许昌银行对公流水费用济南入职流水价格烟台查银行流水潍坊银行流水修改费用上饶自存流水费用惠州查询个人银行流水济南打企业贷流水西安企业贷流水公司济南办自存银行流水潮州贷款流水桂林贷款工资流水 价格徐州查询转账银行流水温州对公银行流水报价徐州制作贷款银行流水鞍山薪资流水单惠州打车贷银行流水信阳个人流水合肥背调流水模板廊坊薪资银行流水代开宜昌企业对公流水代办香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

代做工资流水公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化