云AIOps社区是云智能发起的解决方案交流社区,提供算法、算力、数据集的整体服务体系和智能运维业务场景。社区致力于传播AIOps技术,旨在与各行业客户、用户、研究人员、开发者共同解决智能运维行业的技术难题,推动AIOps技术在企业的落地,构建健康共赢的AIOps开发者生态。
前锋近年来,随着IT互联网的快速发展,数字经济和数字生活对人们日常生活的影响逐渐加深。如下图右下角所示,一些app改变了人们的衣食住行。此外,全球爆发的新冠肺炎疫情也进一步加快了全球数字化发展的速度。面对疫情不确定性的挑战,各行各业都意识到数字化转型对企业的重要性。下图是联合国发布的2021年全球数字经济报告,进一步指出了数字经济和数字资产对各国的影响。
数字化运维的现状与分析
数据分类和应用场景
通过云智慧的总结和梳理,从数据角度来看,运维数据大致可以分为以下七类:
指标数据:当前CPU利用率、可用内存容量、磁盘IO率、网络传输速度等。当服务器运行时;日志数据:即记录系统运行过程中某一时刻某一节点的一些事件的各种软硬件输出文件;类告警数据:即基于自己定义的错误或故障的各级各类软硬件告警信息,某些类型的告警也是日志的一部分;类数据;更多的是指运维对象的一些相对静态的属性信息。常见的是存储在CMDB的配置项属性信息;类数据:业务系统的水平和垂直拓扑,以及操作和维护对象之间的关系数据。常见的有基础监控中基于snmp等技术发现的拓扑信息、apm输出的调用链信息、基于open tracing规范或用户自己的业务标记生成的日志输出的调用链、基于CMDB存储的各种基础监控技术手工生成或发现的关系数据;类数据:基于日常运维流程产生的各种运维工作数据,如服务请求工单、事件工单、问题工单、变更工单等。知识数据:日常运维工作中积累的IT运维知识数据,如知识库中的通用IT技术知识、工单沉淀的业务运维知识等。
以上数据类型可以支持以下运维场景:
日常监控:IT算法可以对指标数据设置各种智能阈值,减少人工设置和更改阈值带来的工作量。此外,它还可以减少固定阈值导致的虚警或误报。同时,可以通过算法识别日志的常量模式和变量模式,将一个典型错误的常量模式设置为一个告警,从而丰富告警源,加强系统监控维度。另一方面,海量的告警数据可以通过算法进行压缩,按照一系列规则生成少量的告警事件,从而减少告警风暴,使运维人员集中精力处理关键事件。这种场景可以称为低配置IT监控和报警。此外,通过预测算法,可以根据日志的模式组合来预测和分析指标的趋势,从而在一些故障发生之前,通过捕捉特征来对这类故障进行预警。事件处理和问题管理:通过整合系统间的指标数据、日志数据、告警数据和关系数据,并辅以可视化技术和AI技术,可以很好地向用户展现有向无环的IT逻辑调用关系,从而帮助运维人员在系统故障发生时快速定位第一原因,结合过往工单和知识数据,在一定程度上辅助用户进行根本原因分析。并为用户推荐处置策略。容量管理:通过指标数据的预测来预测各类IT资源的容量,并根据各类数据和容量信息转换成的用户体验指数来评估IT资源的利用率。服务:系统的用户体验评分可以由系统运行的指标、告警等数据生成。同时可以根据工单数据统计运维团队的服务效率,结合这两种数据评估IT服务的价值。
应对策略的比较分析
充分利用运维大数据,可以帮助运维机构更好地支撑企业IT业务的高质量运营。但是大数据的运维和其他大数据并不完全一样。企业需要了解其特点、面临的挑战和应对策略,才能实现大数据运维的价值。运维大数据区别于其他大数据的特点主要包括以下几个方面:
数据来源相当复杂。其他领域大数据的数据源往往来自于具体的业务系统,但是大数据的运维却不一样。运维大数据的数据源来自于各种运维对象,所以这个数据源的规模变得非常大,不同运维对象的数据访问方式也有很大差异。例如,服务器硬件的相关索引信息可以来自各种收集方法,如ipmi、snmp或ssh。面对如此复杂的数据源,大数据的运维平台必须能够实现对这些数据源的统一管理,并且能够灵活地适应和访问数据源。数据很不一致。不同类型运维对象的指标维度、输出数据格式、指标单位的规格大多不同。因此,需要灵活的ETL能力来处理复杂的数据处理。时机很好。强计时主要表现在两个方面。第一,强时间序列的数据顺序很重要,数据的倒置会完全扭曲数据所表达的意义;第二,随着时间的推移,强时间序列的数据价值会急剧下降。为了最大程度的转化数据价值,强时序的数据必须能够低延迟的处理和计算数据,尽可能的缩短从数据生成到呈现的中间时间。同时,还需要支持数据使用的时序,这样才能按照事件发生的先后顺序准确还原事件。高吞吐量和高并发性。这个功能非常直观。由于运维对象数量庞大,在数据采集上需要支持高并发,而由于数据本身量大,在高并发的基础上,高吞吐量也很重要。因此,大数据运维的基础框架必须支持高并发、高吞吐量的数据处理、存储和分析能力。关系很复杂。运维大数据的应用场景中,很重要的一部分就是运维对象的关系分析。这种关系分析与其他等价的人或物之间的关系操作有很大不同,对象之间的关系链非常复杂,这就需要大数据平台具备分析这些复杂关系的能力。
智能运维层次成熟度模型介绍
在介绍解决方案之前,先简单介绍一下智能运维的分层成熟度模型,这是国内首个由云智慧发起的智能运维AIOps成熟度模型。用户可以通过该模型评估自身智能运维能力所处的阶段,根据评分标准加强自身的短板建设,或者有目标地规划自己未来的运维建设方向。我们接下来要介绍的云智能运维大数据解决方案在这个模型中的L3,这是最初的智能化阶段。这个阶段的核心是打通数据层面,将传统的运维机构转变为数据驱动的运维机构。通过运维数据中心的引入,实现业务观察、资产知识、状态可见、运维管理、安全可控等功能。
云智能运维数据平台方案介绍
平台的总体技术架构
该方案由数据采集与控制中心、Kafka、数据平台和算法中心四部分组成。
采集控制中心:负责集中收集和管理各种数据源的指标、日志、告警、配置和关系数据。Kafka:作为整个方案的数据管道,作为方案各组成部分之间以及方案与外部系统之间的主要数据传输手段。数据平台:主要负责数据处理/计算、数据存储、数据查询结果输出等。算法中心:主要负责运维相关智能算法的培训、配置和发布。
该方案的主要组件采用分布式架构,具有高并发、高吞吐量、低延迟的特点。数据平台采用Flink和Clickhouse两种主流大数据技术,算法中心采用Pytorch和Tensorflow两种主流机器学习框架/平台,内置云智能开发的7种AIOps算法。该方案经过了多个行业头部用户的验证和洗礼,完全可以应对大规模运维数据的集中采集、处理、分析和应用。结合云智能开发的数据价值应用,可以充分发挥运维大数据的价值,让用户全面掌握系统运行状态,进行高效运维。该方案整体依托上一章的分析,有针对性地回应了运维大数据的特点,是一套非常有特色的运维大数据解决方案。
方案优势
本章主要从数据采集、处理、存储、应用四个大数据业务场景来分析智能运维数据平台的解决方案。
分布式采集,集中控制,一个人可以轻松管理几千/几万个采集任务。
数据采集。在数据收集的过程中,我们运维机构面临的最大问题就是数据源太多,整个数据收集的工作量很大。即使前期可以使用一些监控工具进行数据采集,但是很多采集任务仍然需要单独管理,导致整个采集工作涉及的数据源和任务管理接口比较分散。为了解决上述问题,云智慧专门开发了集中式运维数据采集管控平台,该平台采用可视化集中管控模式,集成指标、日志、告警、内置采集任务模板等主流数据采集技术,结合分布式基础设施,最大化用户通过一个系统管理所有采集任务的能力,使用户可以通过一个平台轻松发现数据源、安装采集组件、配置采集任务、监控采集任务的执行。的确,只有一个人可以轻松管理数千个数据收集任务。此外,平台还支持基于阈值定义的采集任务自动融合和自动恢复功能,保证了数据采集过程不影响前端业务的正常运行,同时保证了数据采集任务的及时启动和停止。可以说,该方案在数据采集方面的技术设计,避免了多源、多采集端、监控采集等运维数据采集手段管理分散、效率低下的问题。
灵活的采控架构,边缘计算支持,不怕复杂的对象环境。
云智能采集管控平台除了方便运维人员集中管理大量采集任务之外,还有一些其他的设计特点,可以适应用户复杂的IT环境,尤其是在网络中,实现了分布式采集,集中管控的模式。复杂网络的特性主要集中在带宽和跨网络上。针对低带宽的情况,该解决方案为企业提供了边缘计算的能力。通过边缘计算,可以对数据进行一定程度的预处理,然后将关键数据通过低带宽网络发回。这种解决方案有效地降低了数据传输对网络带宽的要求。同时充分利用边缘设备的计算能力,降低总部运维的it规模,进一步提高运维效率。针对跨网不能直连的情况,本方案支持分层部署。通过部署Proxy agent作为采集中继和采集与控制脑之间的纽带,可以轻松实现跨网络数据采集。此外,平台还实现了插件式的挖掘控制模式。用户可以根据需要在数据源设备或采集集群上部署采集插件,根据实际环境条件组合出能效比最高的采控方案。
可视化,内置丰富的运算符,提高管道数据处理效率。
以上主要介绍了该方案在数据采集场景下的一些价值和特点。我们来看看这个方案在数据处理场景下能给企业带来的价值。数据处理场景分为两大类:数据清理和数据计算。两种场景可以分别处理不同的数据处理场景,也可以结合使用。在数据清洗方面,数据清洗引擎采用云智慧自主研发的分布式ETL引擎,可根据待处理数据量扩展处理集群;此外,系统内置了42种数据清洗组件,支持绝大多数运维数据清洗场景。企业可以通过低代码、模块化的方式管理自己的数据处理任务,也可以实时读取样本数据来验证ETL任务配置的正确性,非常方便高效。在数据计算方面,云智慧使用flink作为批量流的数据计算引擎,为flink的计算任务安排提供可视化的管理界面。基于flink sql,企业可以方便地创建和管理批量流数据计算任务。此外,我们还提供了Jar任务创建模式和SQL任务创建模式,企业可以根据实际需要灵活选择任务类型。基于jar任务,企业也可以通过该方案方便地管理flink支持的自定义操作符。
灵活配置,高效考虑大数据存储运维的两大V特性
数据处理完了,我们继续看数据存储。在上面的介绍中,运维数据分为七大类,其中指标、日志、告警和一些关系数据符合大数据容量大、多样性强的特点。为了满足这些数据的存储需求,云智慧采用了clickhouse作为核心存储技术。Smart根据运维数据的特点,利用clickhouse丰富的表格引擎,为企业设计了三款专用表格引擎。这三个引擎旨在优化运维数据,确保不同数据在IO和压缩比上的平衡。在保证数据应用效果的同时,减轻运维人员的维护压力。此外,该方案提供了一个通用的表格引擎,在大多数大数据分析场景下表现良好。通过该引擎,可以增强数据存储的通用性,为后续的数据分析打下良好的性能基础。其次,clickhouse采用完全对称的分布式架构。近两年,该数据库在国内流数据仓库和流数据分析场景中非常活跃。很多互联网头部企业都采用了clickhouse作为其实时数据分析场景的核心技术。其中,字节跳动公司是clickhouse的最大用户。目前,字节跳动已经搭建了数万节点的clickhouse环境,其中最大的单个集群拥有超过1200个clickhouse实例,实际数据存储容量数百PB。
支持用户获得及时观察/决策支持的行业最佳实践框架。
在数据应用层面,该方案结合了大数据运维的特点和行业最佳实践。选择Flink和clickhouse作为数据计算,即使用数据查询的核心引擎来处理实时数据监控和实时数据分析场景。以上两项技术已经在中国互联网头部企业得到广泛实践,如阿里巴巴、腾讯、字节跳动、滴滴、美团等。应用场景包括实时指标监控、短视频和直播的用户体验监控、用户自定义报警规则的实时计算、实时数据ETL、实时用户行为分析和运营效果等。使用以上两个引擎主要是因为它们在数据查询和计算方面的出色表现,并且使用了大量的技术来优化相关能力。举几个简单的例子,flink的架构旨在实现数据计算的高并发、高吞吐量和低延迟。flink基于jvm实现了自己的内存管理机制,在内存利用和垃圾收集方面做了针对性的优化。同时,flink支持多个流窗口,以适应不同类型的流数据处理,flink天然支持具有一定流量控制能力的数据计算模型。Clickhouse的executor既支持矢量化计算模式,也支持多核并行计算模式。而且在生成机器码的过程中,clickhouse采用了动态代码生成Rntime Codegen技术,结合clickhouse灵活的表引擎,使得clickhouse拥有目前业界最强的单表数据聚合查询性能。上述技术特点很好地满足了运维大数据实时性高、时序性强的特点,保证了用户能够获得及时的观察结果或统计分析决策支持。
七大类内置算法,展现数据价值,轻松提升运维效率。
此外,在数据应用层面,方案内置了七大类AIOps算法,能够充分展现运维数据的价值,直接实现具体的智能运维场景,帮助企业大幅提升运维效率。该方案主要包括以下八大优势,其中大部分是云智慧独有的能力。这些能力在很多项目中为企业的运维能力带来了极大的提升。
Clickhouse SQL建模可视化:保证用户数据资产全生命周期的集中可视化管理。分析模型API发布:方便用户对外开放数据能力,面向业务。智能自研AIOps应用集:帮助运维团队从终端用户的角度为用户体验运维。内置AIOps算法训练数据集GAIA:方便用户开启AIOps探索,逐步步入智能运维之路。支持数据分级存储和备份还原策略:保证数据安全,支持用户灵活设置数据管理策略。支持容器化部署:与用户拥抱云原生,简化维护难度。内置OMP自主运维平台:一键部署,可视化维护,进一步保证平台自主运维的便捷性。以客户为中心的智慧专家团队:10+年运维经验,1000+技术人才,与用户共同成长。
案例分享
本案例是一家航空空信息企业。该项目的背景是建立一个基于业务发展需求的云计算应用平台。这个平台是一个容器化的IaaS平台。基于这个平台,企业正在将自己的业务系统转换和迁移到微服务和容器化。在这个过程中,企业遇到了两大难题:微服务和容器架构的故障发现、定位和分析困难,效率低下,运维数据复杂碎片化,缺乏统一的数据处理和全局分析能力。云智慧从企业面临的问题出发,基于上述大数据解决方案和自身的立体监控工具集,为企业搭建智能运维平台。到2021年初,云智慧已经管理了超过5000台主机和近400个应用。在云智慧平台中,接入69个数据源,建立59个数据管道和54个数据表,每天有3.5TB的数据流入,最终存储400GB的数据,维护着航信两大核心业务的商业模式。在这个项目中,云智慧最终为企业实现了三个价值:复杂呼叫链的分析能力、企业系列分析的场景化和利用算法实现智能运维建设的目标。为企业的运维提供了极大的帮助,赢得了企业的高度赞誉。
写在最后
近年来,随着AIOps的快速发展,各行业对IT工具、平台能力、解决方案、AI场景和可用数据集的迫切需求正在产生。基于此,云智慧于2021年8月发布了AIOps社区,旨在树立开源大旗,为各行业的客户、用户、研究人员和开发者搭建活跃的用户和开发者社区,共同贡献和解决行业问题,推动该领域的技术发展。社区陆续开放了数据可视化布局平台——FlyFish、运维管理平台OMP、云服务管理平台——摩尔平台、小时算法等产品。可视化平台-飞鱼:项目介绍:https://www.cloudwise.ai/flyFish.htmlGithub地址:https://github.com/CloudWise-OpenSource/FlyFishGitee地址:https://gitee.com/ CloudWise/飞鱼行业案例:https://www.bilibili.com/video/BV1z44y1n77Y/;部分大屏案例