欢迎您光临本站,如有问题请及时联系我们。

运维平台:从ITOM走向AIOps

  “工欲善其事,必先利其器”,运维工具是我们实现各种运维操作的有效帮手,它解放了运维人员,让他们可以更多更好地维护各种IT系统。运维体系的发展当然也离不开运维工具的发展。

  1、手工运维

  二十多年前,企业IT信息化刚刚起步,IT运维基本还处于刀耕火种的时代,没有所谓运维工具也没有意识其存在必要性。几个小姑娘定时在终端上敲些命令,并在纸质的表格上一丝不苟地记录着读数,这还是当时比较规范运维做法。原因是当年那个年代需要维护IT系统的量很少,单靠人也看得过来。

  在IOE架构统治的时代,运维团队的人工维护还是占绝大部分。当然其中也不乏一些人,开始总结他们的运维操作,将一些常用的操作写成大量的脚本以便于从事一些机械、重复的事情时候可以“偷个懒”。但是,在这个阶段手工运维还是占了绝大部分的工作量。

  2、ITOM

  在IOE架构时代的后期以及互联网架构开始普及,也同时伴随着企业IT信息化的不断深入,企业中IT设备量呈现爆发性的增长,单靠人力开始逐渐管不过来。

  以我服务过的某运营商客户为例,最初的业务支撑部门负责维护其核心系统,当时只有区区20来台主机,几个数据库。然而其后数年,维护系统规模上升了十数倍,运维团队规模只增加了不到一倍。维护规模和运维团队能力只会形成了事实上的越来越明显的剪刀差,这成为运维管理中最核心的矛盾。

  而后到了企业开始尝试引入互联网架构,系统的复杂度更是陡然上升、维护目标更是迅速增长,按照传统的手工或者半自动维护来做,就更是走不通。因此,企业为解决这种问题,尝试引入各种运维工具通过自动化的手段解决运维人手和能力不足的问题,IT运营管理也就应运而生。

  IT运营管理(ITOM)是指对IT基础设施以及软件应用等对象的运营进行实时监控管理并提供反馈的服务,为监测对象保持最佳运行状态提供保障。ITOM领域的工具分为三大类别,分别是:

  监控类:各种提供应用性能监控、基础软件服务监控、主机存储设备、网络设备等自动化监控和告警的软件服务,例如,商用软件中的Tivoli、开源软件中的Zabbix等为代表。

  管理类:各种提供IT运维支撑服务以及配置管理等方式的软件服务,例如,各种ITSM系统和CMDB软件系统,例如,HP的OpenView之类。

  自动化类:各种提供自动化运维手段的工具和软件,例如,开源的Ansible、Puppet之类。

  IT 运维管理(ITOM)将从原有的人工加被动响应,转变为更高效、更为自动化的运维体系。

  以上文提及的运营商客户为例,由于运维人力的增长无法区配IT系统规模的增速,企业连每天早上大规模营业前,对所有IT系统的设备进行一次常规状态巡检也难以维持。

  为解决这个矛盾,专门部署和实施了我们的自动化监控和运维平台,将大量常规的操作交由机器实现。就正如每天的巡检动作,只需要定义好相关的巡检模板,机器就会十年如一日地按照我们定义的规范进行各种巡检操作。

  如巡检结果中出现任何异常,运维人员的手机就会出现该问题的告警短信,通知相关运维人员处理。这种自动化的运维工具体系,其实质是让机器管理机器,将大量重复、机械的运维工作交给机器执行,有效地降低运维人力资源的投入,也让运维人员的精力得以释放并投向更为重要的领域。

  最近我又跟该运维团队的负责人在聊天,了解到他们实际上80%运维操作都交给机器自动去完成。最后,他哈哈一笑道:“其实我们现在运维团队除了应对突发性的系统故障以外,最常见的事务实际上是给应用系统为企业各式人员创建账号和分配权限,并且我们现在正在开发代码将这件事也自动化了”。

  3、基于运维数据的分析ITOA

  ITOM体系将自动化带到运维当中,让IT运维更加高效。但是,ITOM仍然未能打破运维工作对运维者经验的依赖,往往缺乏分析能力,虽然也能采集到运维数据,但无法对这些数据所包含的信息进行洞察,更加无法将数据进行知识化的本质提升。

  例如,各种故障的处理分析过程中,仍然是依靠运维者的经验甚至直觉来分析处理,运维决策中各种拍脑袋的例子仍然层出不穷。这是因为传统的ITOM工具往往缺乏数据分析能力。虽然也能采集到部分的运维数据,但是由于数据采集不全面,并且数据未能整合、数据间缺乏连接和分析手段,所以运维者无法对这些数据所包含的信息进行洞察,更加无法将运维背后进行知识化的本质提升。

  因此,运维者开始着手进行基于运维数据分析ITOA的探索。大数据技术的成熟,让海量运维数据的分析成为了可能。参考经营分析领域的例子,我们开始着手建立了从运维数据采集、处理、分析和可视化展示的全面运维数据分析体系。我们运维IT系统无时无刻不在产生海量的数据,它产生的数据量甚至可能会超过我们的应用系统,因此运维分析天生就是个大数据的应用场景。

  实现基于运维数据的分析ITOA

  首先要解决的是数据采集问题:

  因为运维体系中的数据是多种多样的,有像监控系统直接采集回来的结构化的数据,也有像各种应用日志、机器日志等非结构化的数据。

  为了便于我们后续的数据分析,我们需要将其中难于分析的非结构化数据转换成结构化的数据加以存储。例如图1-3是在Apache Web日志中的一行记录,其中蕴含着会有大量有用的信息,如客户的IP、客户所使用的客户端,它访问的页面信息、访问时间等关键信息。

IT运维发展趋势及运维人的转型升级

  图1-3 Apache Web日志中的一行记录

  我们通过有效的工具将这些信息切分并形成结构化信息,源源不断地存储到运维大数据中心,见图1-4:

IT运维发展趋势及运维人的转型升级

  图1-4 结构化信息

  大数据技术发展也为我们提供了存放海量运维数据基础:

  我们可以通过大数据平台构建我们的运维大数据中心,从我们整个运维的IT环境中采集回来的运维数据将在此基础上进行数据存储和整合。这样我们可以改变ITOM体系中数据分散,难以关联分析的缺陷,因为数据需要更多的连接与关联,其背后的价值才能充分发挥。

  例如,在ITSM系统中一个孤立的事件可能很难看出什么,但是在运维数据分析的角度,它可能将与历史上一系列相同的事件做比较,发现在附近时间点上各种数据指标的变化。运维人员通过层层筛选和分析,最终通过分析发现其中运维数据背后规律最后总结为知识库与相关优化动作。这正是一切以数据说话,以数据分析代替经验决策的良好结果。

  数据检索能力和数据可视化能力提供保障:

  当然,运维数据分析除了单纯提供一个大数据存储和分析的载体外,还需要一些必要的能力保障运维人员可以更好地利用其中的运维数据:

  平台需要有极强的数据检索能力。运维数据分析平台存储着海量的运维数据,运维人员为了尝试建立和验证一个探索性场景的时候,往往多次反复检索和查询特定数据。如果运维数据分析平台的数据查询很慢或者查询角度很少的情况下,运维人员建立场景的时间就会拖得很长甚至进行不下去。因此,运维人员可通过平台可以实现关键字、统计函数、单条件、多条件、模糊多维度查找功能,以及实现海量数据秒级查询,才能更有效帮助运维人员更便捷分析数据。

  平台需要强大的数据可视化能力。人们常说“一图胜千言”,运维人员经常会通过各系统的运维数据进行统计分析并生成各类实时报表,对各类运维数据(如应用日志、交易日志、系统日志)进行多维度、多角度深入分析及可视化展现,将他们分析的结果和经验向他人表达和推广。因此,平台中需要具备各种旋转透视表、常规报表能力就相当重要。

  可应用于多种业务场景:

  此外,运维数据分析其实不只用于运维这个范围中,在我们的经验中还常有风险分析、审计、情感分析等业务场景之下。通过采集当前环境中的运维数据,集成现有ITOM工具,利用大数据及数据分析的技术,对IT系统中各个环节的问题进行快速定位、故障排除和预测。对来自业务环节中各个分布系统的数据进行整体分析,合理优化IT服务,挖掘关键业务KPI指标,反哺业务端,帮助其做出明智决策。

  4、AIOps

  艾瑞咨询研究院的分析预测ITOM/ITOA的市场规模到2020年将达到114.5亿元(见图1-5),但增长逐渐趋缓,而AIOps正是ITOM、ITOA的延续。

IT运维发展趋势及运维人的转型升级

  图1-5 艾瑞咨询预测2020年ITOM/ITOA中国市场将达114.5亿元

  通过大数据和人工智能技术分析日志和运维数据,发掘更多运维人员尚未觉察的潜在的系统安全和运维问题。

  Gartner在2016年发布的报告中首先提出了基于大数据及算法(Algorithmic IT Operations)的IT运维概念。随着人工智能的快速兴起,Gartner将AIOps的概念从原本的基于数据分析,扩充为基于人工智能,期望通过大数据、现代机器学习及更多高级分析技术,提供具备主动性、人性化及动态可视化的能力,直接或间接地提升目前传统IT运维(监控、自动化、服务台)的能力。

  AIOps真正应用和落地时间还很短,从目前的应用而言主要是在运维数据集中化的基础上,应用机器学习算法进行各种数据分析和挖掘的工作。主要的应用场景包括:

  异常告警:根据历史监控指标数据,运用基于时序的相关算法对监控指标异常分析,并对出现异常的监控指标发出精准告警。

  告警收敛:根据历史事件和告警数据,发现这些事件和告警之间的关系,整合频繁一起出现的事件和告警,并将其认看作同一类故障的告警,从而把多个告警和指标合并,推送给运维人员,做到精细化告警,避免传统监控工具因一故障而导致的告警风暴,生产告警噪音。

  故障分析:通过运维数据及事件、告警,结合以前发现问题的经验知识库和模型,建立故障树分析,结合决策树等相关算法,通过推导路径使运维人员对于问题的定位更加快速、直观,使得问题的解决更加容易。

  趋势预测:进行历史数据拟合等算法,进行资源趋势/容量预测。例如,主机CPU,交换页不足、内存不足、存储不足会逐渐导致系统故障或应用故障,该系统建立关联模型,提醒用户可能后继可能发生系统故障或应用故障。在故障产生真正业务影响前,告知运维人员事先解决问题。

  故障画像:通过采集多维度运维数据,构建多元结构化底层运维数据模型,配合各类运维场景,并在场景里对故障进行画像,通过各种故障画像标准形式来辅助企业进行IT运维 决策和处理过程。

  当然,AIOps的应用场景远不止于此,正是由于这个概念出现的时间比较短,也就有更多的发挥空间容我们去细细发掘。总体而言,从手工运维、ITOM、ITOA、AIOps的发展路径体现了运维自动化、数据化到智能化这一主要发展趋势。

  E8运维是国内最早成立的IT运维技术社区,致力于为运维相关领域的工程师打造一个良好的学习交流平台。深度剖析国内运维业内动态,分享DevOps、自动化运维、智能运维等优秀实践,帮助运维人员提升技能和规划职业发展路线。


来源:本文由E8运维原创撰写,欢迎分享本文,转载请保留出处和链接!