一种基于日志的故障指标自动标注方法与系统技术方案

技术编号:16472422 阅读:228 留言:0更新日期:2017-10-29 00:09
本发明专利技术涉及一种基于日志的故障指标自动标注系统与方法,包括:根据系统日志的事件等级筛选出失效/故障日志,根据每条失效/故障日志的信息内容为每条失效/故障日志分配失效/故障类别,根据每类失效/故障类别确定性能指标数据的有效时间窗口;对每类失效/故障类别的有效时间窗口对应的所有性能指标数据进行建模,构建故障指标模型;根据故障指标模型对性能指标数据进行自动标注性能指标数据是否为故障指标。本发明专利技术可减少人工标注故障指标的耗时耗力,节省时间和人力资源,减少工作量,方便管理员快速排查系统故障、进行故障诊断,还可根据指标的特征估计出某时间段内系统是否处于某种故障/失效状态,方便及时采取相应措施。

Method and system for automatically marking fault index based on log

The invention relates to an automatic marking system and method of fault indicators based on log log events include: according to the system level screening failure / error log, according to each failure / information fault log for each failure / fault log allocation failure / fault categories, according to each type of failure / fault categories to determine the effective time window performance the index data; for each type of failure / all performance data corresponding to effective time window of fault type of modeling, construction of the fault according to the fault index model; index model of automatic annotation performance index data are indicators of performance index data of fault. The invention can reduce the artificial fault index annotation is time-consuming, save time and manpower resources, reduce workload, convenient and fast fault diagnosis fault checking system administrator, can also according to the characteristics of the index system is estimated for a period of time is in a failure state, convenient and timely take corresponding measures.

【技术实现步骤摘要】
一种基于日志的故障指标自动标注方法与系统
本专利技术涉及分布式环境可靠性领域,特别涉及一种基于日志的故障指标自动标注方法与系统。
技术介绍
故障诊断是指:用于发现系统或系统组件中不正常现象的一种技术。随着软件系统的规模不断变大,逻辑变得更加复杂,故障诊断的难度也越来越大。一方面,大规模系统中不一定具备细致的监控能力;另一方面,由于一些容错机制的存在,故障有时并不会直观表现出来。故障诊断技术主要可以用于发现系统的不足。当前,故障诊断技术正不断融入新的计算技术和数学方法,包括人工智能、机器学习、随机过程、贝叶斯推断、图论等。下面列举主要的故障诊断技术及其优缺点:基于规则的技术,基于规则的技术主要通过将专家知识表示为一系列规则来进行故障诊断,规则是人为可扩展和可解释的,但这种技术不能诊断未知的错误,而且大量的知识库也不易维护;基于模型的技术,基于模型的技术将系统定义为数学表示,通过测试观察到的行为来验证是否满足模型,基于模型的技术适合诊断应用级别的问题,然而,构建模型需要对系统有非常深刻的理解;统计技术,统计技术通过对经验数据使用关联分析、对比和概率等理论来进行故障诊断,统计技术不需要对系统内部或者模型具备深入的了解,但是对于系统的非稳态(意料之外,情理之中)故障难以诊断,而这类非稳态故障对于大规模系统而言是很常见的;机器学习技术,机器学习技术采用聚类的方法识别模式,或者使用训练数据来确定系统状态是否健康,找出故障的潜在原因,机器学习技术可以自动地学习系统行为,但是当特征维度变大时,精确度会迅速下降;计数和阈值技术,计数和阈值技术可以诊断出短暂和间歇性错误,这种技术在很大程度上依赖于参数的校正,可通过严格的数学公式和分析模型的配置参数;可视化技术,可视化技术通过可视化数据的趋势和模式来识别异常点,它可以对问题出现的根源有各种假设,但是这种技术并不能自动识别问题。目前故障诊断的数据来源包括:基于日志的故障诊断,日志是故障诊断的主要信息来源之一,基于日志的故障诊断是指采用系统日志、RAS日志等作为故障诊断的手段,从日志中提取出故障特征和失效规则等,然后用于故障诊断和失效预测;基于指标的故障诊断,指标数据是故障诊断的另一种信息来源,基于指标的故障诊断是指分析系统运行过程的各种指标,如cpu利用率、内存使用率、网络带宽、访存带宽、IPC(InstructionPerClock,即CPU每一时钟周期内所执行的指令多少)、Cache失效率等,来进行故障及异常的发现、诊断及预测。一般来说,使用基于指标的故障诊断方法,主要是通过基于指标数据的时序分析并设置异常阈值来发现故障;然而,什么样的指标数据是属于故障指标,目前的方法主要是由人工来确定和标注。目前使用人工标注指标的故障诊断方案,会事先由人工来筛选出哪些指标范围属于故障指标的范围,或这预先定义好指标的故障特征,即通过人工标注来对指标数据进行分类(故障,正常),再使用相关的诊断技术来进行故障诊断。人工标注故障指标的方法由于需要人的参与,不仅耗时耗力,增加了用户的工作量,而且难以实现自动化。专利“一种基于非相似度指标的故障分类诊断方法”,该专利的原理是,首先通过对每种参考故障类型进行特征变量选择,选择出该种故障最能区别于正常数据的特征变量,然后,利用特征变量两两对比在线故障数据窗口与各个参考故障数据窗口的分布非相似度,在线检测出的故障类型就对应于取得最小非相似度指标的参考故障类型。该方法通过窗口数据在空间分布上的相似匹配来实施故障诊断,能最大化地避免重叠数据的错分类情况。相较于上述专利提出的参考故障类型进行特征变量选择的不确定性,本专利技术根据收集到的日志的syslogseverity严重性等级便可确定该日志是否是失效或故障日志,再结合message信息进行文本相似度分类,进一步确定其-失效/故障类别。其次,根据每类故障来确定故障指标的有效时间窗口范围,然后对同类故障指标进行训练(SVDD一类分类算法),构建出该类的故障指标模型。论文“基于PU学习的软件故障检测研究”,本文设计实现仅用正例和未标注数据建模可以得到与有监督学习方法相近的软件故障检测率,且集成分类器方法比单分类器方法具有更高的检测率,未标注样本集大小的软件故障检测率同样有影响。首先采用合成少数类过采样SMOTE算法对数据集中的正例样本进行过采样,平衡数据集中的类分布。在此基础上合理构建正例集合和未标注集合,采用POSC4.5和Bagging算法构建软件故障决策树集成分类器。相比于上述论文只采用正例和未标注数据建模的局限性,本专利技术在数据收集方面更加全面,可结合系统日志对指标数据进行自动标注。现有技术在使用系统指标数据进行故障检测和自动诊断过程中,在检测不同应用在运行过程中产生的各类指标数据时,哪些指标属于系统失效或故障时对应的指标难于界定,通常需要通过人工查看系统行为和指标时序图来进行有针对性分析,且即使用户可以根据自己的经验来对异常或故障指标预先设定阈值,但是不同的指标具有不同的单位,例如,cpu利用率和内存使用率为百分比值,磁盘访存带宽和网络传输带宽为MB/s,等等,那么当面对繁多的系统指标时,故障指标的阈值如何选取,对用户来说也是一个难题。针对以上问题,本专利技术结合系统日志中的失效/故障事件,来自动为故障指标进行标注,通过一段时间的训练后,就可以仅根据已经训练得到的故障指标集进行基于指标的故障诊断。
技术实现思路
本专利技术的目的是对故障指标进行自动标注,用以减少人工标注。具体包括:如何提取故障指标的特征,并自动标注故障指标,本专利技术目的在于通过结合日志中的严重性等级和信息,找出失效/故障日志所对应的性能指标,并将这些性能指标进行建模,用以构建故障指标模型,然后基于故障指标模型用于对故障指标的自动标注。具体地说,本专利技术公开了一种基于日志的故障指标自动标注系统,其中包括:日志收集模块、用于从分布式系统或单机计算机系统收集多条系统日志;指标采集模块、用于采集该分布式系统或该单机计算机系统中的性能指标数据;数据处理模块、用于首先根据该系统日志的事件等级筛选出失效/故障日志,其次根据每条该失效/故障日志的信息内容为每条该失效/故障日志分配失效/故障类别,最后根据每类该失效/故障类别确定该性能指标数据的有效时间窗口;离线建模模块、用于对每类该失效/故障类别的该有效时间窗口对应的所有该性能指标数据进行建模,构建故障指标模型;故障指标标注模块、用于根据该故障指标模型对该性能指标数据进行自动标注该性能指标数据是否为故障指标。该基于日志的故障指标自动标注系统,其中该指标采集模块,每隔一定时间间隔采集系统中的性能指标数据,该性能指标数据包括cpu利用率、内存使用率、磁盘读写带宽、IPC、缓存缺失率等。该基于日志的故障指标自动标注系统,其中该数据处理模块包括:时间窗口划分模块、通过查询具有同类失效/故障类别的失效/故障日志的时间戳并结合预先设定的时间窗口阈值,确定各失效/故障类别的有效时间窗口,并通过查找该有效时间窗口内性能指标的时间戳,得到该有效时间窗口范围内的该性能指标数据。该基于日志的故障指标自动标注系统,其中该离线建模模块包括:汇总模块、用于将每类失效/故障类别的所有有效时间窗口所对应的性能指标数据汇总为故障指标组;模型构建模本文档来自技高网
...
一种基于日志的故障指标自动标注方法与系统

【技术保护点】
一种基于日志的故障指标自动标注系统,其特征在于,包括:日志收集模块、用于从分布式系统或单机计算机系统收集多条系统日志;指标采集模块、用于采集该分布式系统或该单机计算机系统中的性能指标数据;数据处理模块、用于首先根据该系统日志的事件等级筛选出失效/故障日志,其次根据每条该失效/故障日志的信息内容为每条该失效/故障日志分配失效/故障类别,最后根据每类该失效/故障类别确定该性能指标数据的有效时间窗口;离线建模模块、用于对每类该失效/故障类别的该有效时间窗口对应的所有该性能指标数据进行建模,构建故障指标模型;故障指标标注模块、用于根据该故障指标模型对该性能指标数据进行自动标注该性能指标数据是否为故障指标。

【技术特征摘要】
1.一种基于日志的故障指标自动标注系统,其特征在于,包括:日志收集模块、用于从分布式系统或单机计算机系统收集多条系统日志;指标采集模块、用于采集该分布式系统或该单机计算机系统中的性能指标数据;数据处理模块、用于首先根据该系统日志的事件等级筛选出失效/故障日志,其次根据每条该失效/故障日志的信息内容为每条该失效/故障日志分配失效/故障类别,最后根据每类该失效/故障类别确定该性能指标数据的有效时间窗口;离线建模模块、用于对每类该失效/故障类别的该有效时间窗口对应的所有该性能指标数据进行建模,构建故障指标模型;故障指标标注模块、用于根据该故障指标模型对该性能指标数据进行自动标注该性能指标数据是否为故障指标。2.如权利要求1所述的基于日志的故障指标自动标注系统,其特征在于,该指标采集模块,每隔一定时间间隔采集系统中的性能指标数据,该性能指标数据包括cpu利用率、内存使用率、磁盘读写带宽、IPC、缓存缺失率。3.如权利要求1所述的基于日志的故障指标自动标注系统,其特征在于,该数据处理模块包括:时间窗口划分模块、通过查询具有同类失效/故障类别的失效/故障日志的时间戳并结合预先设定的时间窗口阈值,确定各失效/故障类别的有效时间窗口,并通过查找该有效时间窗口内性能指标的时间戳,得到该有效时间窗口范围内的该性能指标数据。4.如权利要求1所述的基于日志的故障指标自动标注系统,其特征在于,该离线建模模块包括:汇总模块、用于将每类失效/故障类别的所有有效时间窗口所对应的性能指标数据汇总为故障指标组;模型构建模块、用于对每个该故障指标组中的性能指标数据,使用一类目标分类算法,构建出该失效/故障类别的故障指标模型。5.如权利要求1所述的基于日志的故障指标自动标注系统,其特征在于,该故障指标标注模块,通过计算该性能指标数据和该故障指标模型间局部离群概率,标注该性能指标数据...

【专利技术属性】
技术研发人员:任睿殷岩程杰超詹剑锋
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1