剖析智能运维的五大应用场景
传统运维模式和智能运维模式存在很大区别。首先是在智能化水平上,在传统运维的检测、分析、发现(告警)、处置 4 个步骤中,都未涉及智能技术;而智能运维每个步骤都加入了人工智能算法,将发现和解决问题的时间大大缩短。
其次体现在知识积累、提炼和泛化应用上。当传统运维解决完一个问题,运维流程就结束了,一个问题或一个系列问题用一份报告记录发生时间、起因、处理方案等一系列完整过程后,这些报告将长期保存在企业数据库中,后续基本不会有人再翻开过问了;而智能运维将每个场景发生的问题、原因、处置方案、效果评估等内容进行分类、知识实体抽取、关系建立,形成初步的知识,再应用到问题预测、根因分析、处置策略的智能推荐中,根据每一次算法的优化反复迭代修改知识内容,最终沉淀为企业在该领域独有的运维理论。
按照智能运维的工作模式,将当前各领域通用的智能运维场景分 5 类:异常检测、根因诊断、故障自愈、事件预警、效能优化。在运维过程中,通常这按时间排序,先有异常检测,再做根因诊断。
1、异常检测
异常检测又称异常发现、异常诊断等,主要指找出设备、系统、网络环境等关键性能指标的历史数据什么时候发生了异常,这类异常既可能是故障也可能不是。在数据分析中,异常是一个相对概念,是相对正常而言的。
运维上的异常,既有通常所说的“相对异常”,也有专家定义的“绝对异常”。主要是通过 KPI 指标数据的时序变化,找出那些不符合规律的数据。传统运维是专家根据单个指标的数值分布或多个指标的组合分布确定一个阈值,不在阈值范围内的则被认为是异常。这种策略对于稳定的、规律的运行环境非常有效,稍微复杂多变的场景则会失灵。这时就需要机器学习算法学习更长历史时间的数据规律,进行判断和预测。
从复杂程度上来看,企业通常先做单指标的异常诊断、异常波动(指标漂移),再做多指标的异常诊断。多指标异常诊断往往是针对某一事物的异常诊断,该事物由多个 KPI 指标组成,比如电信运营商的网元、磁盘、网络等,又被称为网元异常诊断、磁盘异常诊断、网络异常诊断等。又因指标数据多是随时间而变化的时序类数据,因此,在实际工作中,这类异常诊断,被描述成对 N 个事物、M 维指标、T 时刻的数据进行异常诊断,需要同时对比不同事物之间的差异、不同指标之间的关联性、不同时刻数据的周期性 3 个角度来判断每个事物是否存在异常。
2、根因诊断
根因诊断,在心理学上称为归因分析,医学上则被称为病因学研究。字面意思是指通过结构化分析,一步步找出问题的根本原因。在运维领域,是基于发现的异常问题,再进一步分析其发生的原因,进而预防下一次再发生类似的异常问题。
这类的智能运维场景主要有定界定段、调用链追踪分析、瓶颈分析。
定界定段是指根据 KPI 指标的分布特征,判断事件发生问题的特定分布,进而作为发生异常问题的原因,如在物联网质差设备根因分析中,发现 T 时刻 KPI 指标发生异常,通过关联的网络性能指标分布发现,某几个指标在 T 时刻也发生异常,则这几个指标很可能是引起 KPI 指标异常的原因。
调用链追踪分析是指对调用链信息过滤,或查看应用拓扑、实时聚合链路表和调用链瀑布图,找到与问题相关的关键指标,即作为已发异常的原因;瓶颈分析是通过相关分析、协方差分析、回归分析等方法找出影响某个性能的多个维度指标及取值范围。
当前这种场景的分析思路主要有两种。
一种是通过算法对外部维度的指标进行分析,找出相关性高的指标,再通过运维人员确认这类指标与发生的问题在业务上存在的因果关系,则这些指标被当作原因,如瓶颈分析。
另一种是通过算法在内部维度的指标中,采用不断下钻的方式,找到影响上层指标发生异常的指标作为原因,如调用链分析。例如在分析互联网 APP 活跃用户数下降时,第一步下钻到新增活跃用户数、已有活跃用户数这两个指标哪个发生下降,如果发现只有已有活跃用户数发生下降,接着第二步再继续下钻分析已有用户数、老用户留存率哪个指标发生下降,这样逐级下钻找到最底层发生下降的指标,从而找到根本原因。
3、故障自愈
故障自愈是一整套严谨的故障自动化处理服务,通过和作业调度平台、配置管理中心、告警单据系统等诸多周边系统自顶向下的全流程打通,实现发现告警、关联配置信息、智能告警收敛分析、自动执行恢复操作、自动流程结单等功能。其中智能自愈机器人辅助人工进行根因分析、收敛分析等;自适应配置、智能调度和智能重启是故障自愈过程中的一种智能化恢复手段。
通常,故障自愈的核心过程有如下 3 步。
1)自主发现异常/故障,在告警下发时可以主动分析和处理告警信息。
2)收敛分析:针对每时每刻收到的大量告警信息,需要对同类型告警进行收敛分析,不能对每个告警都做处置,可以分为以下几个方面。
单一告警可直接自愈处置。
多个关联告警收敛为同一事件,对关键告警执行自愈处置。
发现异常告警,需人工确认后执行自愈处置。
特殊极端告警,拒绝自愈处置,并发送运维人员。
3)流程闭环。包含如下几个方面。
自愈成功:触发告警处理单自动结单。
自愈失败/超时:转运维人员人工处理。
未接入自愈的告警:转运维人员人工处理。
后自愈分析:对自愈成功和失败的告警,定期进行总结评估,并辅助运维人员进行跟踪和优化自愈方案。
需要指出的是,故障自愈实现的价值将会越来越大,将其实现离不开专家知识库和智能推荐系统。只有通过算法、知识图谱将历史中无数次的人工故障处置经验和故障自愈作为知识积累下来,才能通过智能推荐算法泛化到更多运维领域,让人工参与程度越来越低,进而实现从 KPI 指标自动异常检测、自动根因分析到自动推荐处理方法,再到系统自动评估处理效果,实现全流程自动化和智能化的无人运维模式。
4、事件预警
事件预警定义为:基于 KPI 指标、告警、日志、感知等一系列历史数据,预测未来将要发生某特定事件的行为,包括异常预测(如根据 IPTV 历史播放的数据,预测第二天哪些设备会发生卡顿)、容量预测(如 IT 采购部门要对来年服务器进行采购规划,需要预知明年各业务对服务器资源的需求情况,这时则需要通过对各业务的容量变化进行长期预测)等。
无论是容量预测还是异常预测,目的是未来下一步效能优化。根据容量的短、中、长期的预测,分别对不同时期的容量制定有针对性的扩缩容和优化方案,确保系统可以随着时间的推移得到完善和增强,实现可预期的管理风险和期望,即科学容量规划。容量规划过程中,需要协助运维人员考虑如下问题。
历史容量是如何变化的,为什么呈现这样的变化?
未来短期的容量如何变化?
何时达到容量极限,为什么?
未来中长期容量如何变化,如何规划容量?
不同容量规划方案,后果分别怎样?
同理,异常预测又叫故障预测、质差预测、突变预测,是基于大量历史 KPI 指标数据,预测未来可能发生的异常、故障等问题,实现系统预见性维护。异常预测与异常检测唯一的不同是,异常检测是针对过去已发生的数据进行分析诊断,而异常预测是用过去的数据预测未来可能发生的问题。两者所使用的数据、算法基本一致,在所选用模型训练数据和模型参数上会有细微差别。
5、效能优化
效能优化是基于上述异常检验、根因分析、故障自愈、事件预警每个步骤都做充分且准确的情况下,进一步对资源、系统性能进行优化配置,目的是精准控制企业成本,达到 IT 成本态势感知、成本科学规划,进而提升成本管理效率。
效能优化包括但不限于智能扩缩容、智能调度、低碳节能、设备优化、CPU 使用率优化、数据库优化。其中,智能扩缩容、智能调度、低碳节能属于建立在容量预测下的资源规划和优化配置;设备优化、CPU 使用率优化、数据库优化等属于建立在系统和设备异常预测下的性能优化。
智能扩缩容:分为智能扩容(扩充容量)、智能缩容(缩小容量)。相对而言,智能扩容更加重要一些。因为当已有容量超过业务需求量时,即使不做相应的缩容,对系统性能也没有影响,主要是造成成本上的浪费。而扩容如果规划不好,则会与系统性能紧密挂钩。在企业中,扩容和缩容通常是一起进行规划的,因此经常合称为智能扩缩容。
智能调度:泛指任何运维资源的优化配置,甚至包括运维人员的调度。
低碳节能:目前主要指数据中心(Internet Data Center,IDC)机房和电信运营商基站设备,另外也指其他物联网设备,通过人工智能算法达到节省电能的目的。
设备优化:主要指根据设备资源(如物理机和虚拟机)的使用率、使用时间,通过人工智能算法进行优化配置。
CPU 使用率优化:特指通过人工智能算法针对服务器利用率的性能进行优化。
数据库优化:特指通过人工智能算法针对数据库的性能进行优化。
版权声明: 本文为 InfoQ 作者【穿过生命散发芬芳】的原创文章。
原文链接:【http://xie.infoq.cn/article/fb4f5ba0c42471de480a26f89】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论