同时从企业IT管理或运营诉求出发也要解决快速演进的问题,于是演化出了标准ITOM。ITOM和ITSM很像,区别是把“S”改成“O”,即把Operation本身及其带来的各种自动化工具纳入模型中,包括主机、运营、发布系统等等。
DevOps不断发展演变成现在的ChatOps,ChatOps的目标是将研发、运维、QA融合起来,以说话(Chat)的方式进行交流,但 ChatOps 只考虑了交流的形式,并没有就如何实现基于 Chat 方式的整体解决方案,ChatOps 并没有很好的解决 DevOps 的困境。
ITOM把所有的Operation线上化、自动化后,发现IT运维所产生的大量数据是非常有意义的,特别是对于企业数字化而言,这些数据经过加工分析,可以对日常业务产生价值。于是Gartner提出了一个新的标准“ITOA”。ITOA强调IT数据的价值,提出对IT运维分析的诉求,但没说明这个数据能干什么。很快Gartner就将ITOA演化成“AIOps”。这时AIOps中的“AI”是指“Algorithm(算法)”,强调的是数据分析本身产生的价值,包括通过算法来解决线上故障发现、日常交互等运维问题。
4)智能化阶段随着行业对IT运维要求的不断提高,无论是AIOps还是ChatOps,都面临一个严重的问题:人处理不过来了。从工程角度来看,运维面临的现状是异构性非常强,需要引入三方应用和各种各样的设备,交付模式也越来越多,运维复杂度出现指数级增长。为解决上述问题,Gartner适时提出了“AIOps”的概念,这里的“AI”代表的是人工智能,通过机器人的参与将人工智能技术体系带入到运维的各个环节,帮助解决运维问题,运维发展也由此进入智能化阶段。
二、什么是智能运维 2.1 什么是智能运维(AIOps)? 图4BMC给了AIOps定义是:
AIOps refers to multi-layered technology platforms that automate and enhance IT operations by 1) using analytics and machine learning to analyze big data collected from various IT operations tools and devices, in order to 2) automatically spot and react to issues in real time.
简单来说,就是引入多层平台,使用大数据分析和机器学习等方法,加强IT运维自动化的能力。
上图底部三张小图分别表示2016、2017、2018年的AIOps架构演进,都是围绕Machine Learning和Big Data来建设的。
2.2 技术、场景与算法 图5AIOps涉及的技术、场景和算法如图所示。
1)技术层面大数据分析:主要关注点在分析的部分,包括基于海量数据的分析。
机器学习:数据量太大,人工的简单分析远远不够,需要它自己产生智能,这是机器学习的价值。
知识图谱:日常运维会产生各种经验数据,这些数据如何反过来对运维工作产生真正的价值,这就涉及到知识图谱。
自然语言处理:自然语言处理是ChatOps能引入到AIOps这个领域的原因,我们希望能够找到一个相对简单且容易接受的交互界面,最好的就是聊天平台Chat,这就需要使用自然语言处理的方式,理解人的语言并反馈给人,并理解相关的执行动作。
2)涉及场景单指标异常检测:比如想要知道一个实时数据的指标是否出现异常,我们可以对它进行检测,如有异常就反馈出来。
多维指标异常检测:指标和指标之前是有关系的,通过比如聚类的一些操作能够检查出更多异常。
趋势预测:主要体现在成本部分,能够通过人工智能的方式预测出未来的增长和变化,更好地指导决策。
日志异常检测:检测日志是否出现异常。
根因分析:出现故障时,能够从时间维度和空间维度找到导致故障出现的原因。
智能问答:以前每次变更操作都需要向运维提出要求,现在这些职能全部被承接下来变成一个智能平台,日常运维的工作可以通过智能平台或机器人直接完成。
智能执行:这是我们期待的最好的方式,通过聊天窗口能够实时感知线上业务发生的变化,需求提交给平台后平台会自动执行。
3)算法层面规则
统计
机器学习
变分自编码器、GBRT、EMA、极限理论
Pearson 相关系数、DBScan 算法
FP-Tree
Path Ranking
2.3 AIOps平台架构 图6上图所示是一个比较典型的AIOps平台架构。