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


image.png

智能运维,国内大多理解为 AI+Ops,我们前面的文章也有提到,简单来说,就是通过在现有的运维基础上使用人工智能技术,从而达到进一步提升运维效率的目的,其主要功能包括运维决策、故障预测、问题分析以及故障自愈等。

从历史发展的角度来看,运维发展到今天,大致经历了流程化 ->工具化 ->Web 化 ->自动化等过程。随着当前企业数字化转型的推进,业务快速扩张规模不断扩大,监控规模与数量(系统,服务和业务监控项)也越来越多,云计算的使用又导致更进一步的集中化。这些因素使得运维工作复杂度超越人力所能管理的程度,传统的手动化或者工具化的运维方式以及无法适应时代潮流,必须建立一套更智能、更快捷的操作平台,来辅助人来进行运维工作。此外,不断增长的企业规模也导致了人力成本的巨幅增加,对于希望不通过增加运维团队规模的方式支持迅速扩张的业务,引入人工智能技术,建立更智能化的运维平台无疑是一个很好的选择。

以上两点,运维规模和人力成本,是促使传统运维向智能运维的基础因素。除了其自身发展所需,市场对于智能运维的需求也是十分被看好,这里引用 Gartner 的报告的一段话“到2020年,将近50%的企业将会在他们的业务和IT运维方面采用AIOps,远远高于今天的10%”。可见将人工智能技术应用于运维领域,可以说是众望所归。

人工智能再次兴起后,在各个领域的出现频率都很高,尤其是最近2到3年,各种智能概念随处可见,各大互联网公司、传统IT公司、金融业等都在谈他们转型人工智能型公司的设想。与此同时,也有人也十分不看好人工智能,认为我们现在所提出的关于人工智能的种种想法,只不过是一个愿景,要落地很难。但事实上对于人工智能的布局,国内外各巨头公司,包括微软、谷歌等,早就在10几年前开始了,这些有远见的公司到现在大多已成为人工智能行业的领跑者了。

那么,当强大的人工智能与运维领域相互碰撞,又会给运维领域带来哪些提升与进步呢?下面,我们就传统运维的利弊、智能运维的设计方向,结合具体运维平台实例,来谈一下智能运维平台的探索与实现。


传统运维的不足与痛点

image.png

传统的手工运维或者半自动化运维,对于现在场景的应用,存在着诸多无法调和的痛点: 

(1)传统的被动低效的运维模式难以保证业务连续性。

在传统运维中,运维人员往往扮演着事后“救火”的角色,工作重点在于“解决问题”,都是在事故发生后才去处理,事故发生后,损失已经造成,无论处理速度快慢,都会造成不小的损失;同时,为了工作便利与安全起见,数据一般都分散在多处而不是集中在一起,这一点导致修复故障时效率较低,无法在故障发生第一时间快速修复,业务连续性难以有效保障; 随着这些年业务结构的复杂性与多样性不断提高,人工运维的成本呈指数级增长,传统运维模式举步维艰。 

(2)缺乏统一的运维监控体系和技术工具。

传统运维针对不同运维实体的烟囱式的运维工具,功能重叠、难以整合,不同的场景需要使用不同的工具,通用性差;其次运维的自动化程度偏低,运维脚本泛滥,导致运维工作层次化、模块化程度不足;最后,针对不同的运维需要,各公司都开发了相关的监控、运维、告警平台,这些平台各成体系,缺乏统一化。 

(3)海量的运维数据的价值无法充分挖掘 。

传统运维系统收集了大量的运维数据,但是却缺乏有效的手段加以分析和利用,导致数据的浪费;传统运维数据的利用仅限于简单的可视化和浅度的分析上,缺乏纵向数据的关联挖掘,无法快速定位故障根因,影响运维工作的效率;最后,传统的运维使用的是固定式的阈值告警,无法根据实际情况做调整,固化的阈值告警造成了大量的误判和漏判,而且人工调整阈值的方式也比较费时费力,吃力不讨好。 

(4)缺乏全方位端到端的运维监控手段。

大部分的运维监控仅停留在针对主机、网络的层面,忽略了业务层面的识别手段,故障的发生无法从最直接的业务层面得以发现,产生预警; 性能管理大多停留在服务单应用性能的管理和分析上,无法提供端到端的掌控。


智能运维的设计方向

image.png

有需求就会有相对应的解决方案,人工智能技术的应用使得运维工作更加灵活与高效,针对不同的场景能够采取更合适的策略,为系统的正常流畅运行增加一层守护。针对上述提到的这些运维痛点,智能运维平台需要一一攻克,同时针对上述未提到的功能,也要加以完善,打造更全面、更智能、更便捷的运维平台。具体的设计可以从如下几方面出发:

(1)面向业务维度实现异常检测。业务运维是运维的大趋势,需从最复杂的业务维度入手,根据业务维度的指标(如PV、响应时间、错误率、GC等)上的异动进行异常检测,提前预警; 

(2)提供业务全局关系视图。业务应用维度的复杂性是运维过程中最高的,往往是二线和三线运维之间界限最模糊的区域,所以智能运维可以先解决的就是向用户提供全面、清晰的业务关系视图,让运维人员对业务应用的掌控得心应手; 

(3)KPI可视化与下钻定位。KPI指标可以通过丰富的可视化手段展示给运维人员,业务系统的故障可以清晰的体现在可视化终端,同时支持详细的下钻手段,直至定位到发生故障的环节,甚至代码段; 

(4)采用动态阈值思想的异常检测。避免传统固定阈值告警的弊端,引入机器学习算法来进行阈值动态化的异常检测效果; 

(5)重视故障的全流程管理。故障发生时,可以提供一定的手段将业务层面的KPI异常与引起故障的原因联系起来,支持手动下钻之余还可以自动定位和关联; 

(6)立体化监控体系的建设。覆盖从资源、平台层、应用监控和微服务调用链的立体化的运维分析能力。 


智能运维平台的探索与实现

智能运维平台基础架构

智能运维平台的构建应该首先考虑数据和分析能力。

首先是数据。我们要搭建智能运维平台,首先要数据驱动,数据驱动下要做好以下几件事:

海量数据存储:运维数据的量级是亿级、TB甚至PB级别的,所以存储系统一定要具备高容量和扩展性;

数据多样化:运维过程产生的数据多种多样,如应用产生的性能数据,服务器基础监控产生的CPU/IO/Net数据,服务间调用链数据、日志数据等,那么需要针对不同类型数据进行区别化的存储结构的设计,保证数据存储的扩展性,同时建立数据之间的关联支点。

其次是系统分析能力。系统分析能力是智能运维平台的核心,可以应用大数据+机器学习的分析能力,结合成熟的开源分析算法实现基本的数据分析,再结合具体的应用场景,做出一些适应性改造或匹配来实现相对较好的分析效果,千万不要只想着做出来一个分析平台来,这个平台做出来不是难事,关键在于这个平台在运维领域没有实际意义。

运用起历史数据的价值,且可以有效识别出数据的各维度的规律,如周期性、趋势等,而且分析能力必须结合应用场景,判别相对适合的算法模型来训练数据,方能保证预期的设想。分析能力可以随着时间的推移不断的演进,可以将新数据的特性带入到模型中来,以不断提高算法的准确度。


智能运维的体系架构

image.png

智能运维体系至少包括用户层、视图层、服务层、核心能力层以及运维对象层。

智能运维平台需要面向的用户,不再局限于传统的运维人员,也包括业务监控人员、业务部门主管、客服人员等,这些人员随时都可以在系统上找到自己所需要的数据、看到自己所想看到的东西;

视图层可以提供WEB端丰富的可视化视图、大屏方式的业务状态视图、以及满足移动办公需求的手机端APP,所有信息一目了然,更加直观与方便;

服务层可以给智能运维平台的用户业提供丰富的监控、分析和告警视图功能,包括务视图服务、拓扑服务、性能KPI服务、运维分析服务、告警服务、报表服务以及系统服务等。

核心能力层是智能运维平台的最关键部分,其主要功能可以分为三个较大的模块,包括“智能监控”、“智能分析”和“智能告警”。

    智能监控。实现针对各个层面的监控覆盖,包括用户体验的监控、应用性能的监控、中间件监控、基础设施的监控,只有收集了全面的数据,才有可能从数据中寻找关联,从关联中发现规律,丰富运维知识库。 

    智能分析。智能分析为整个核心能力层中最核心的部分,该部分应该涵盖离线算法的训练模块和在线实时分析模块 

离线算法训练模块要根据历史数据来以离线的方式训练和修正算法模型,然后生成的算法模型就类似于一个个的[if else]判断形成的规则组合,当最新的数据输入到算法模型,就可以实时的给出推测,用于预测、异常检测、故障定位等场景,这里面当然就需要机器学习和深度学习的算法来撑场面了。 

在线实时分析模块要实现实时的算法分析,并不依赖于历史数据所训练出的离线模型,而是进行实时的计算,这里则需要大数据的实时计算技术了。 

    智能告警。智能告警需要可以有效的遏制“告警风暴”,这个可是告警系统中必须面对的问题,那么需要提供较高效的分析算法,实现告警的自动归类、自动消除,那么归类中最合适的方法就是寻找告警之间的关系关系,将相近的告警合并为一条发送,避免告警风暴。 

智能告警还可以动态调整告警短信/邮件发送的频率和周期,还有告警通知对象的智能配置,保证运维人员处理告警的专注性,不会被突如其来的海量告警所淹没。 


智能运维平台功能组成

一个可以实际使用的智能运维平台,应该具备如下几部分功能,以满足用户日常使用需求。

image.png

配置管理。智能配置管理主要包括自动采集、自动更新、自动关联等功能,在业务系统运行的各个环节提供便利,因为象设备自发现、设备自关联设备采集可拓展、配置自更新等等功能,也是智能运维系统的配置管理需要完成的。同时,基于 CMDB 的高可扩展性,还能通过统一的外部数据源集成接口,快速对接第三方资源配置数据源,来进行不同系统间资源配置数据的整合。其主要功能是对所有资源的自动发现和自动服务关系,提供映射、审计,通过对资源配置的状态检查,来检验计划中的变更是否能够正确完成,规避未经批准的非法变更。

image.png

监控管理。监控管理包括监控总览、告警事件、告警规则等,它旨在实现对网络、主机、存储、数据库、中间件、应用系统、虚拟化等融合基础架构资源的统一监控管理,负责搜集、监控和处理融合基础架构资源的运行状态、配置信息、故障和日志信息,实现融合拓扑、性能、故障、配置、安全、业务应用流量、3D 可视化机房等主要管理功能,通过精细化的管理手段确保资源运行状态的高可靠性,有效地帮助企业解决各种资源的监视与管理难题,是整个智能运维平台的窗口。

image.png

作业管理。作业管理平台能直观看到当前作业流程的启用情况,作业执行状态一目了然,同时能够方便找到操作历史,所有操作有迹可循,当故障发生的时候可以随时查看与排除故障。作业编排可视化、批量任务调度、作业实时跟踪,作业报表自动生成,更高效、更便捷,轻松掌控日常运维任务。作业管理平台让运维人员从执行者摇身一变成为整个系统的指挥官。

image.png

智能运维。既然称之为智能运维平台,除了上述几个优秀的功能,人工智能技术的应用自然是其不可缺失的一部分。其中,智能运维方面最具代表性的功能包括智能自愈与智能诊断。

智能自愈功能通过主动预防,从源头降低故障发生以提升运维的工作效率;具体操作包括:对日志和数据中的关键字实时生成告警,反馈业务状态,实现应用层面的智能预警——根据预设阀值和历史数据,进行数据分析,发现异常情况,自动触发自愈动作——发起运维操作,进行任务编排,以消除告警,降低系统故障风险。

智能诊断则可以为运维工作提供一个全面、灵活的机器专家会诊,具有关联性强、灵活度高以及功能全面的特点。从应用的整体角度,把相关的运维对象纳入分析范围,分析关联性,揭示故障本质;避免头痛医头、脚痛医脚;既可以事后会诊,也实时或定时地对关心的运维对象进行跟踪分析;通过采集分析多种数据,包括配置信息、日志信息以及性能指标等,使得结果更加准确全面。

image.png


智能运维作为目前运维模式进化的终极状态,将为企业带来最直接最深远的价值,与此同时,在少数智能运维暂不适用的领域,传统运维模式也在发挥着自己独特的价值。随着技术的不断深入,相信智能运维也会更进一步,使运维工作人员都能拥抱未来,彻底摆脱运维之苦。


该贴被huang.wang编辑于2019-10-9 10:00:47


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


——来自logo.png


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