1. 解决方案简介
智能运维解决方案的系统应用架构采用多层设计,主要包括展现层、服务层、智能分析层和数据层四个层次。展现层的目的是为运维人员提供前端交互界面,满足其接入数据、调节算法结果、数据可视化展示与理解等一系列运维操作要求;服务层对底层功能进行接口抽象,对上提供查询和控制接口服务,对下进行大数据任务下发;智能分析层是智能运维算法的核心层,为核心智能运维算法大数据组件提供任务、资源和模型管理;最后数据层提供时序数据管道和持久化,及模型和配置的存储服务。
这种架构的优势在于随着新算法的不断成熟,支持随时扩展新的算法组件和数据组合,适合银行业根据自身IT系统运维特点来灵活选择数据类型与算法,构建新的智能运维场景。
智能运维解决方案可以为银行业客户提供业务指标异常检测、日志异常检测、调用链根源系统定位、机器指标定位、业务明细多维定位和指标趋势预测等智能运维场景,主要满足客户IT运维工作中故障预警和故障定位两个方面的需求。
▪
业务指标异常检测
本场景使用机器学习算法对具有固定时间间隔、一定时序或者周期特征的业务关键指标(如交易量、响应时间、成功率)数据进行训练并获取指标特征,然后运用检测算法“快”、“准”的实时智能识别出异常点并给IT运维人员发出预警。对于一条时间序列,首先对其特征进行表述,分为:
o o o o o
时间序列的周期 趋势性特征 周期偏移情况 数据抖动程度 上下界极限值
之后根据时间序列的特征和计算资源的分配来合理选用不同的模型组合来训练并生成对应的模型,进而实现对实时指标数据的异常检测。
▪
日志异常检测
无需人工配置,基于AI机器学习进行日志自动解析,对应用日志、系统日志或其他三方软硬件产生的日志等非结构化日志数据进行结构化梳理,提取模板和特征变量解析。根据历史日志构建模板库和可视化,并根据模板进行日志在线解析,同时进行实时的异常检测,从日志中及时发现故障。本场景主要分为日志模板提取和异常检测两部分。
1、模板提取
自动地从系统日志中提取模板——系统日志消息中详细信息字段的子类型。Carpenter-Tree是一种扩展的前缀树结构,用以表示交换机系统日志消息模板。Carpenter-Tree的基本思想是,系统日志消息中详细信息字段的子类型通常是频繁出现的单词的最长组合。因此,提取模板等价于从系统日志消息中识别出频繁出现单词的最长组合。
2、异常检测
通过模板提取和在线日志解析,本算法能够统计出各个模板的数量和每个变量分布的信息,基于此模板提取和解析结果,进而实现对日志总数、模板日志数量和未知日志数量的异常检测。
▪
机器指标定位
本场景由已知的业务异常警告触发,从海量监控实体(机器、中间件、实例等)及其性能指标中,排查出异常的实体并自动分类排序,将最严重异常的实体排序在最前面,方便运维人员排查并快速定位问题。
机器指标定位功能实现主要分为三部分:
o
指标异常程度评判:系统会收集当前一段时间所有机器和模块的指标数据,
并执行异常检测算法去检测所有指标的异常程度;
o
相似异常机器聚类:得到所有指标的异常程度后,通过聚类算法将具有类
似指标异常的机器进行聚类;
o
定位结果排序:通过运行智能排序算法,将所有的聚类结果按照异常程度
排名,并最终展现给管理员。
▪
调用链根源系统定位
在大型系统中,往往需要多个系统间的相互调用来完成一个确定的任务。因此故障发生时,许多系统可能会同时产生告警。调用链根源系统定位算法利用系统间的调用链数据,定位故障的可能根源,解决运维人员需要逐个排查的痛点。
o o o ▪
通过指标异常检测找到所有异常调用 确定故障传播方向 计算节点根因概率 业务明细多维定位
本场景由已知的异常告警触发,从故障业务系统异常时间段的大量交易明细中,分多种属性维度统计后进行异常检测,并且根据候选根因集的指标变换率和包含关系等进行排序,最终确定异常根因集。
本场景可读取系统告警前后m+n分钟数据作为根因定位的源数据。首先根据告警发生时刻的维度组合对其他时间的数据进行缺失值填充、按维度聚合、KPI计算等。接着对当前数据规模进行评估。
不同规模的数据的异常检测的策略有所不同,对于数据规模较小的情况(维度及维度取值较少),采用部分异常检测进行加速,以及对根因的搜索有一定的优化。鉴于随着维度及维度取值的增加,最细粒度的维度组合的数据较少,本方案根据参考的历史时间序列长度以及算法训练的时间综合选择不同的异常检测定位算法。
▪
指标趋势预测
本场景用于实现对磁盘空间、业务量等具备长期发展特性的指标走势预测,描绘未来一段时间内指标可能的趋势情况,判断该趋势下特定时间后是否会产生问题,通过配置阈值产生告警进行容量预警提醒,帮助管理员提前、主动消除故障。
本场景主要包含指标画像和预测两个步骤,指标画像对输入的指标数据进行特征分析和特征描述,根据数据特征的不同选择合适的预测算法;指标预测采用特定的预测算法根据指标历史数据进行建模分析,预测其未来走势。
2. 应用场景痛点简介
目前大型企业均已建设了基础的IT运维管理系统,借助各类运维工具实现对业务系统的监控管理、自动化运维和资源管理。但随着业务规模的快速增长,IT基础设施的种类和数量也在与日俱增,而且系统应用架构的复杂度越来越高,在运维人力有限的情况下,依赖人工排查海量告警和数据、依据专家经验进行故障定位分析的传统运维方式已经无法适应当前形势下的运维需要,难以充分挖掘各类运维数据的价值,限制了运维工作效率的进一步提升。
▪
故障预警:故障预警包括针对时序监控指标异常检测和预测,针对日志数
据的异常检测。
➢针对时序监控的异常发现,传统的监控方式是通过配置固定阈值的方式实现,但往往业务类指标会有业务忙时和业务闲时,指标会随时间周期的变化而波动,固定阈值的监控方式则不能适应这种指标波动,进而产生很多告警误报或漏报,另外随着监控对象的增加,配置和维护固定阈值所需的工作量也会逐渐增加,耗费过多运维人力;
➢针对日志数据的异常发现,传统的监控方式是通过配置正则解析规则对原始日志进行结构化处理,然后通过配置关键字监控来实现异常发现,但这种规则配置的字段提取方式和关键字监控方式都将耗费大量运维人力,而且无法自动适配新增日志类型的监控需求;
➢针对业务容量或系统容量指标的预测,常见的预测算法往往无法自动适应不同波动规律类型的指标预测要求,导致预测效果无法反映真实指标的波动规律,另外对于算法参数的调优也是一件耗费人力的事情,参数设置的不同也会直接影响预测结果的输出,无法满足客户对容量指标的快速预测需求。
▪
故障定位:故障定位包括对实体对象(机器、数据库、中间件等)、多个
系统和业务维度的异常定位。
➢针对实体对象的异常定位,往往依赖人工对可能和告警事件存在关联关系的主机、网络设备、数据库和中间件等实体对象和指标进行分析,排查哪些对象和指标存在异常,来定位告警事件的原因,这种定位方式非常依赖专家经验,不能广泛推广,而且人工分析数据的耗时过长,影响故障恢复效率;
➢针对多个系统的异常定位,常见于一笔交易需要多个系统彼此反复调用来协同合作的场景,当发生业务故障时,通常需要首先界定到底是哪个系统的异常导致了整体异常,而人工分析根源系统的方式耗时过长,或者需要投入大量运维人力,从效率和成本两方面都存在很大问题;
➢针对业务维度的异常定位,常见于存在很多维度属性的业务故障,例如一笔交易可能有交易渠道、来源省市、机房等多个维度和属性取值,需要首先定位是哪个业务维度上产生了异常,而通过人工分析的方式很难在短时间对众多维度属性进行快速定位,无法满足快速定位的需要。
3. 解决方案亮点介绍
o o
秒级故障发现,分钟级故障定位,趋势预测准确率可达90%以上; 智能运维场景基于自研、独创的运维算法,高度适配运维行业特点,自适
应不同特征类型的数据;
o
算法模型融合了大量行业场景落地实践经验,极大的简化了用户参数设置
工作,使整个系统更加简明易用;
o
采用无监督的机器学习算法,无需人工干预,自动实现模型训练和异常检
测/定位过程;
o o o o
算法输出效果不受“坏”数据如时间偏移、数据断点影响;
支持海量异构数据接入,满足不同类型、不同来源的运维数据处理要求; 支持计算能力横向扩展,实现海量数据的高速、实时、并发处理; 平台底层采用智能动态任务调度机制,保证各模块功能稳定均衡工作;
因篇幅问题不能全部显示,请点此查看更多更全内容