【AIOps】智能运维平台功能之AI实现_AI.人工智能讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  AI.人工智能讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1939 | 回复: 0   主题: 【AIOps】智能运维平台功能之AI实现        上一篇   下一篇 
huang.wang
注册用户
等级:中将
经验:17623
发帖:407
精华:1
注册:1970-1-1
状态:离线
发送短消息息给huang.wang 加好友    发送短消息息给huang.wang 发消息
发表于: IP:您无权察看 2019-4-11 17:17:22 | [全部帖] [楼主帖] 楼主


image.png

上一篇章,我们主要讲到了智能运维平台的监控管理功能。监控管理作为运维平台最重要的功能之一,担任了整个运维工作中“眼睛”的角色,那么发现问题之后又该如何进行故障定位、如何解决故障,则需要运维平台的“大脑”——智能运维功能来完成。

回顾整个运维的进化历史,从最开始的系统管理到基础脚本运维,再到自动化运维,最后发展到如今的智能运维,这期间运维工具在不断变化、运维效率也在不断提升,运维人员的工作内容同样也发生了翻天覆地的变化。

在运维发展初期,运维人员根本不知道故障什么时候会出现、会出现在哪里,只有在故障出现之后才能去查找原因并解决故障,工作十分被动与低效;后来随着脚本工具的大规模引入,处理问题的方式变得更加科学了,在处理速度上也得到了一定的提升,但还是未能从本质改变运维的“被动性”;随着运维经验的不断积累,许多公司尝试引入监控系统,开始着手建设自己的自动化运维平台,以进一步提高运维效率。

自动化运维平台的出现是运维领域的一大突破,它颠覆了运维原本被动的状态,化被动为主动,在问题出现之前就能获取异常,将故障扼杀在摇篮之中。但自动化运维平台主要依靠告警来判断系统是否出现故障,信息处理量有限,当面对大量的告警及海量的监控数据时常常会无法很好地发挥作用。

人工智能等技术在运维领域的应用很好地弥补了自动化运维的不足,下面我们从业务发展给传统运维带来的挑战、人工智能如何助力运维以及智能运维平台的运维功能三方面出发,来具体谈一下智能运维功能事如何实现的。


业务发展给传统运维带来的挑战

随着运维领域技术的不断迭代,支撑企业IT信息系统的运维模式也在不断演进,从最初的流程化运维演变至自动化运维,再到如今最受关注的智能运维AIOps,主要演进趋势如下图。

 image.png

与流程化运维、自动化运维相比,AIOps更专注于解决问题。通过使用基于持续学习、算法技术来高度模仿人类来实现日常运维工作的高效化、高稳定性及高适应度,同时,也把运维人员从耗时又容易出错的流程中解放出来。

随着用户企业规模的不断扩张,身处不同行业的企业级用户无不极力投入到数字化转型当中。这其中既包括遍布全球的政府和公共事业机构,也包括金融、能源、交通和制造等各个行业的各类企业。对于众多企业级用户而言,进行数字化转型意味着加大对于信息系统建设的投资,与此同时,也要求支撑IT信息系统的运维服务系统也必须进行迭代升级。业务发展给传统的运维带来了多方面的挑战,具体表现在以下几方面:

image.png

1. 传统的监控方式无法实时反映运行态势

目前的运维工作多是采用传统的阈值告警模式来针对各类资源的监控告警,即针对具体监控指标设定告警阈值,一旦超出阈值即产生告警。但随着公司规模的增加与业务扩展、智能化转型等需求,对监控状态的要求也变得更加精细。

而传统的以阈值告警为主的方式不能够直接实时的反映系统运行状态,因此需要建立基于动态基线方式的监控能力,即以动态基线的方式,针对业务系统某个指标或某个类型交易,按照其历史运行趋势建立动态、波动的监控基线,避免传统方式下,以某个绝对阈值来一刀切“非黑(告警)即白(正常)”的告警分析方式,且报告警更能够贴近、反应真实业务环境,提升告警诊断分析的准确能力。

2.云环境下硬件故障发现不及时

在传统环境下的运维工作,通过采用监控手段同时配合一些高可用的硬件设施,可以在一定程度上保障系统硬件安全运作。但是,随着越来越多的公司逐渐告别传统环境步入云环境,硬件对于系统的影响越来越大,如何能够提早发现核心组件故障并利用一系列手段去避免硬件故障所造成的生产上的影响,成为运维系统所面临的重要挑战。

针对这个情况,可以尝试采用早期发现的手段,不仅从单一方向,更是从多维度,比如网卡,此前都是采用硬件获取的信息来进行分析,现在需要从流量、校验等其他维度获取信息进行分析,用组合的手段去找到问题。当然实际上硬件告警要远复杂于上面的例子,其涉及到硬件的基础日志信息、性能信息等,某些情况下需要针对硬件专门定义监控分析模型和算法,基于模型与算法系统将自动诊断分析,并基于分析结果自我学习改进,确保硬件故障早发现。

3. 告警分析不够智能

在传统运维故障诊断分析时,对低级告警分析关注度较低,对于高等级告警事件,管理人员才会较为重视并重点解决,而低级别告警,则受限于管理人员精力以及告警影响范围和程度。

但是,这些低级别告警并非完全无用,在所有告警中,低级别告警数量更多、占比更高,如果说高级别告警反应了特殊事件、重大事件,那么这些低级别告警则综合反应了IT环境的总体运行态势,其中蕴含了整体IT运行的趋势。并且,许多高级别报警在其处于低级别告警阶段就已经有相关征兆,如若能及时发现处理就能规避部分高级别报警。

针对此问题,运维系统需要对这些告警数据进行综合分析,实现告警的过滤、分级、关联、抑制和聚合,在海量数据中挖掘有价值的信息,帮助管理人员对告警数据进行更加合理的定级、更加合理的处置。

4. 告警根因难以确定

在传统的监控方式下,由于企业IT“结构复杂,某个基础组件的异常犹如蝴蝶的翅膀,可能会导致多个核心交易系统的告警风暴。而一旦产生业务告警,管理人员必将全力分析业务告警,大量的时间被浪费在针对业务系统的分析,而无法准确的找到告警根因。

为了避免这种情况,帮助管理人员从表面故障快速追踪到本质根源的办法核心在于定位和关联,用以确保在告警发生的第一时间定位到告警源,同时基于资源关联性、时序关联性来实现关联归并,将故障源导致的告警风暴归并到告警“风眼”下,让管理人员一目了然、快速找到根源并处理。

5.告警新规则不够完善

传统运维中采用的告警规则一般都比较复杂,这些规则来自于其内部人员及团队多年所积累的经验,利用规则引擎去进行大量的报警,用以支撑系统的安全运行。

相应的,现有的监控工具在告警规则定义层面比较简单,尤其是针对复杂的业务系统,涉及到动态基线、告警压缩、故障关联分析、故障定位等各个管理能力“联合作战”时,现有告警策略相对薄弱,无法满足复杂场景下通过策略来实现各类告警分析目的。

因此需要引用大数据及新算法技术,在原有的经验和规则基础上,创造建立灵活且支持复杂逻辑的告警策略管理,作为原有系统规则的一种补充,根据数据去摸索规则,形成新的智能化规则,完成面向各类业务场景下的告警诊断和分析需求。


人工智能如何助力运维

人工智能技术的应用在某种程度上解决了业务发展给传统运维带来的诸多挑战,从本质上来看,AIOps就是通过学历已有的运维数据(日志、监控信息、应用信息等),来进一步解决自动化运维无法解决的问题。

利用运维工作中积累到的数据,智能运维平台可以通过机器学习等方法在异常检测、根因分析、告警收敛等多个应用场景中获取需要的信息,从而进行故障的智能监控、智能自愈以及诊断。

1、异常检测

AIOps的基础数据有着规模大、种类多、需求多样等特点,在自动化运维阶段,处理这些数据所采用的大多是恒定阈值的方法。

这种方法简单易实现,但是缺点也显而易见:它不够灵活,发现故障也不够及时,无法满足现在的告警需求。如下图所示,传统的阈值告警会忽略掉两个波动的异常:

 image.png

动态阈值的方法在此时应运而生,传统的动态阈值的方法采用了基于同比和环比的统计方法,这种方法解释性强,易于实现,但是灵活性较差,受节假日影响较大,发现问题也不够及时。针对此问题,目前正将机器学习应用在时序数据异常检测中,和上述方法相比,机器学习的方法更为准确,成本也更大。

时间序列异常检测本质上也可以看做“正常”和“异常”的二分类问题,通过将历史的监控数据打上标签,再将有监督和无监督算法结合建立模型,可以判断当前的时间序列是否是正常的。

image.png

 

2、根因分析

大多数情况下,监控指标之间存在相互关联性,如果某个指标异常了,很多相关指标也会异常。如果同时对所有的告警指标进行分析和处理,会浪费许多资源。为了解决这个问题,需要进行根因分析来进行针对性处理。

对数据进行根因分析通常由如下三种方法:

(1)相关度指标获取,找到和异常指标在特定时间段内相似的指标。

(2)在大量的样本中,找出经常一起出现的异常指标(该问题就转换成了频繁序列挖掘问题),实现方法有关联规则、APRIORI、FP_GROTH等。

(3)利用决策树的强可解释性,对正负样本进行分类,然后通过异常指标的分类树途径,找到频繁的异常指标集。


3、告警收敛

当监控业务发展到一定规模时,每日收到的告警邮件数会呈指数型增长,尤其是一些监控频率较高的监控项出现问题时,这种情况特别明显。在自动化运维阶段,为了解决这一问题,会通过告警频率,让同一种告警在一段时间内只出现一次。

这种方法确实会减少一部分告警,但是还有一些显而易见的告警可以通过制定规则的方法来实现进一步的告警收敛。比如同一个集群内的数据库都出现了ping不通的问题,又比如同一个网段内的所有IP流量突增,就可以将这些告警整合后再发送。

 image.png

而在AIOps时代,告警收敛和根因分析往往是一起进行的。

和根因分析类似,可以先获取告警项集数据,并提取频繁项。如果在频繁告警项集中,告警A和告警B经常一起出现并且在A出现的时间比B早,则在邮件告警中,我们可以忽略B告警,只将A告警推送给运维人员。

不同场景下的告警收敛有着不同的需求,和AIOps相比,传统的告警收敛方法更加简单和高效,基于规则的方法也具有很强的拓展性和解释性;而AIOps却能挖掘出我们利用常识和经验无法发现的关联项并进行告警收敛。


智能运维平台功能的运维功能

对于智能运维功能,这里想从华佗三兄弟小故事引入——华佗是东汉末年的著名医生,但华佗却说,他在其兄弟三人中,医术是最低的,他的大哥、二哥医术都更为高超。但其兄长二人皆不及华佗有名,时人问其故。华佗说,其大哥能见微知著,治病于未发;其二哥能从小病中看出大病,因而能提前防治大病,故其兄长二人很少治疗大病,世人皆不知其兄长医术过人。而华佗自己则只能待病症显现,已经成大病时方能发现、治疗。久之,则其大哥、二哥不若华佗有名也。

运维平台对于故障来说,犹如医生之于病人,对症下药固然是应该好的,但真正优秀的智能运维平台,应具备防患于未然的能力,能在故障发生之前排查、诊断出故障,并解决问题。

平台的智能运维功能主要包括智能自愈、智能诊断、速查工具与根因分析等。

智能自愈

 image.png

智能运维平台会提前预置一系列自愈策略,以应对一般运维问题。

例如当磁盘空间占满时,会自动启动文件清理功能,清除冗余和过期数据,以消除警告;当有应用进程异常关闭时,会自行执行健康检查功能,找出异常关闭的原因;当服务器异常重启时,运维系统则会进行初始化配置检查操作;当系统监控到业务在线人数下滑时,则会进行关联节点的一场分析,根据分析结果选择接入网切换作业或发布业务公告。

image.png

除此之外,智能自愈功能还支持自定义告警规则,通过设置监控指标与告警规则,系统会根据预设阈值和历史数据快速灵活完成运维操作。主要流程如下:

1、设立指标监控,对日志和数据中的关键字实时生成告警,反馈业务状态,实现应用层面的智能预警;

2、建立告警规则,根据预设阀值和历史数据,进行数据分析发现异常情况,自动触发自愈动作;

3、自愈作业发起运维操作,进行任务编排,以消除告警,降低系统故障风险;


智能诊断

 image.png

智能诊断功能具有灵活、全面、关联性强等优点,可以从应用的整体出发,把相关的运维对象纳入分析范围,分析关联性、揭示故障本质,避免头痛医头、脚痛医脚的情形;可以用于事后会诊,也可以实时或定时地对关心的运维对象进行跟踪分析;可全方位覆盖、采集分析多种数据,包括配置信息、日志信息以及性能指标等,使结果更加准确全面。

此外,智能诊断功能还能根据诊断结果生成报告,报告可在线阅读也能够下载到本地进行编辑;同时报告还提供多种模板以供选择,可以实际根据工作需要选择最合适的模板进行输出。


速查工具

一个合格的智能运维平台至少需要包括智能诊断与智能自愈两个主要功能,以完成日常的运维工作,除此之外,优秀的运维平台还会加入一些类似速查工具、根因分析等功能,一方面能提高解决问题的效率,另一方面也利于运维工程师后续学习与复盘。

image.png

速查工具主要包括综合知识库、问题搜索引擎与辅助诊断三部分——综合知识库内建多种主流产品问题库。用户无须切换客服平台,就可以在同一窗口内获取 到自己关心的信息;问题搜索引擎内建知识库搜索引擎,同时也集成google、baidu等互联网搜索引擎。通过 错误代码或错误描述关键字,快速获取相关信息,简单易用;辅助诊断功能可以提供重要的产品信息以及相关的行动建议,协助一线运维工程师分析问题、解决问题或采取相应的应急措施。


根因分析

根因分析工具以人工智能技术为助力,运维数据为基础,大数据AI平台为支撑,配合相应的网络拓扑结构,实现故障的精准定位和溯源。

image.png

基于人工智能的网络故障根因分析方案能够对告警信息进行实时采集、转换和集中监控,并对关键信息进行分析处理,支持对告警信息进行过滤、筛选、匹配、分类等预处理,并通过算法进行告警溯源,建立根源告警和衍生告警之间的关系,从而过滤掉冗余告警,实现对网络故障的快速诊断。


人工智能等新技术的不断应用正从根本上改变着运维领域的工作流程与工作模式,让运维工作变得更加高效与简单。AIOps几乎无所不能,只要是通过人工操作能完成的工作,AIOps都能做,有些人工操作不能做的工作,AIOps也都能做。相信随着技术的不断完善,运维领域未来会有更多的可能性!


该贴被huang.wang编辑于2019-10-9 9:59:55


我超级酷,但是如果你回复我的话我可以不酷那么一小会儿。


——来自logo.png


赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论