一种故障根因分析方法与流程

文档序号:29792850发布日期:2022-04-23 18:05阅读:375来源:国知局
一种故障根因分析方法与流程

1.本发明涉及网络安全技术领域,具体是涉及一种故障根因分析方法。


背景技术:

2.随着越来越多的软件系统部署于云环境中,当软件发生性能故障的时候,运维人员要迅速定位故障的原因变得越来越困难。传统的故障定位主要依赖于运维人员的经验判断,人工查阅海量的告警信息,这里有两个方面的挑战,一方面,人工察看海量的告警信息非常耗时,这不利于迅速处置业务系统故障。另一方面,海量的告警信息之间存在着因果难辨的问题,即大量的监测指标几乎同时发生异常变动,这里只有少量的是故障的根本原因,大量的是症状原因。运维人员如果需要依赖于人工经验来判断故障的根因,极大地提高了运维人员的门槛。
3.云环境结构的复杂性也进一步提升了故障根因分析的难度。通常来讲,对云环境中业务系统的监测,包括对云环境的、虚拟主机、中间件和业务系统本身的多重监测指标,这些指标之间具有多重的关联关系。有些关联关系是对故障定位有用的,有些关联关系却是对故障定位起误导作用的,因此,需要提供一种故障根因分析方法,旨在解决上述问题。


技术实现要素:

4.针对现有技术存在的不足,本发明的目的在于提供一种故障根因分析方法,以解决上述背景技术中存在的问题。
5.本发明是这样实现的,一种故障根因分析方法,所述方法包括以下步骤:
6.主机监测指标;
7.构建异常指标集,所述构建异常指标集由确定指标异常变动时间、计算监测指标异常变动程度和确定异常指标集三个步骤组成;
8.构建指标依赖关系图;
9.对故障根因指标进行排序。
10.作为本发明进一步的方案:所述确定指标异常变动时间的步骤,具体包括:
11.在故障时间窗内,对指标进行分析,提取指标异常变动的时间,其中故障时间窗通常表示为[t
f-w1,tf],tf表示业务系统观察到故障的时间,w1是一个回溯窗口;
[0012]
采用差分绝对值来表示指标在故障窗口内每一个监测点的变动量,监测点的变动量表示为|x
t+1-x
t
|,其中x
t
代表监测指标t时刻的值,x
t+1
表示后续时刻的值,将监测指标在故障窗口内最大的差分绝对值所对应的时间点定义为监测指标的异常变动时间。
[0013]
作为本发明进一步的方案:所述计算监测指标异常变动程度的步骤,具体包括:
[0014]
将异常变化前[t
c-w2,tc]时间段内的监测指标序列定义为{xi},将异常变化后[tc,tr]时间段内的监测指标序列定义为{xj},其中w2表示计算{xi}统计特征的时间段,tr表示故障分析人员采取应急措施的时间;
[0015]
采用后验概率表示监测指标异常变动程度,后验概率用于刻划指标的上升程度u
和下降程度d,取几何平均来消除指标间不同的采样概率,表示如下:
[0016][0017][0018]
其中x表示异常变化前监测指标的概率分布。
[0019]
作为本发明进一步的方案:所述确定异常指标集的步骤,具体包括:
[0020]
定义m为[u,d]中的最大值,m用于表示监测指标在异常变化点的变化程度;
[0021]
取监测指标正常值的3倍均方差作为阈值,若m大于所述阈值,则对应的指标为异常指标,构建异常指标集。
[0022]
作为本发明进一步的方案:所述构建指标依赖关系图的步骤,具体包括:
[0023]
构建异常指标集中的指标的全量关系图,全量关系图中的节点为异常指标集中的指标,每一对节点之间设置有边;
[0024]
采用fisher-z测试计算全量关系图中节点之间的关系,构建指标x和指标y之间的统计量:
[0025][0026]
其中m表示指标的取样点数,r表示指标x和指标y的偏相关系数,指标间的相关性采用fisher-z测试零假设的p值来表示,采用来表示指标之间的相关性,即全量关系图的边权重,构建完成的全量关系图即为指标依赖关系图。
[0027]
作为本发明进一步的方案:所述对故障根因指标进行排序的步骤,具体包括:
[0028]
采用加权的pagerank算法计算指标影响力,其计算公式如下:
[0029][0030]
其中b(u)表示直接和u节点有边连接的节点,w
uv
表示节点u和v之间的权重,d是一个常量为0.85;
[0031]
计算指标依赖关系图中所有的节点的指标影响力,根据指标影响力对异常指标进行排序,进而使得故障根因指标排在前面。
[0032]
与现有技术相比,本发明的有益效果是:
[0033]
本发明通过构建指标依赖关系图并对故障根因指标进行排序,输出是一个经过排序的指标序列,使得故障根因节点排在列表的最前面,运维人员仅需要验证故障根因指标排序结果的前几项即可发现根因指标,能够有效提升运维人员故障排查的效率。
附图说明
[0034]
图1为一种故障根因分析方法的流程图。
[0035]
图2为3项异常指标构建的依赖关系图。
具体实施方式
[0036]
为了使本发明的目的、技术方案及优点更加清晰,以下结合附图及具体实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0037]
以下结合具体实施例对本发明的具体实现进行详细描述。
[0038]
如图1所示,本发明实施例提供了一种故障根因分析方法,所述方法包括以下步骤:
[0039]
s100,主机监测指标;
[0040]
s200,构建异常指标集,所述构建异常指标集由确定指标异常变动时间、计算监测指标异常变动程度和确定异常指标集三个步骤组成;
[0041]
s300,构建指标依赖关系图;
[0042]
s400,对故障根因指标进行排序。
[0043]
需要说明的是,随着越来越多的软件系统部署于云环境中,当软件发生性能故障的时候,运维人员要迅速定位故障的原因变得越来越困难。传统的故障定位主要依赖于运维人员的经验判断,人工查阅海量的告警信息,这里有两个方面的挑战,一方面,人工察看海量的告警信息非常耗时,这不利于迅速处置业务系统故障。另一方面,海量的告警信息之间存在着因果难辨的问题,即大量的监测指标几乎同时发生异常变动,这里只有少量的是故障的根本原因,大量的是症状原因。运维人员如果需要依赖于人工经验来判断故障的根因,极大地提高了运维人员的门槛。
[0044]
云环境结构的复杂性也进一步提升了故障根因分析的难度。通常来讲,对云环境中业务系统的监测,包括对云环境的、虚拟主机、中间件和业务系统本身的多重监测指标,这些指标之间具有多重的关联关系。有些关联关系是对故障定位有用的,有些关联关系却是对故障定位起误导作用的,因此,要对运维人员故障定位形成技术支撑,需要从技术上解决对监测指标之间的关联关系分析和利用的问题。
[0045]
本发明实施例从海量的、多源的(来自云环境、虚拟机、中间件、业务系统)监测指标中,构建监测指标之间的关联关系,即故障传播关系,然后以上述关系为基础,推断出当前业务系统故障的根本原因。
[0046]
本发明实施例中,首先通过主机监测指标模块完成对分析所需的各类主机指标的采集,本发明构建了一个部属于私有云环境的业务系统,该部属包含了私有云环境、虚拟机、中间件和业务系统,针对该实验环境,采集了覆盖各层面的监测指标,包括运算负载、存储引擎、中间件资源、虚拟主机资源和业务系统指标,共计90项指标。然后构建异常指标集,所述构建异常指标集由确定指标异常变动时间、计算监测指标异常变动程度和确定异常指标集三个步骤组成;接着构建指标依赖关系图;最后对故障根因指标进行排序,使得故障根因节点排在列表的最前面,运维人员仅需要验证故障根因指标排序结果的前几项即可发现根因指标。
[0047]
作为本发明一个优选的实施例,所述确定指标异常变动时间的步骤,具体包括:
[0048]
在故障时间窗内,对指标进行分析,提取指标异常变动的时间,其中故障时间窗通常表示为[t
f-w1,tf],tf表示业务系统观察到故障的时间,w1是一个回溯窗口,通常根据运维系统的实际情况确定,w1一般可以取15分钟;
[0049]
采用差分绝对值来表示指标在故障窗口内每一个监测点的变动量,监测点的变动量表示为|x
t+1-x
t
|,其中x
t
代表监测指标t时刻的值,x
t+1
表示后续时刻的值,将监测指标在故障窗口内最大的差分绝对值所对应的时间点定义为监测指标的异常变动时间。
[0050]
作为本发明一个优选的实施例,所述计算监测指标异常变动程度的步骤,具体包括:
[0051]
将异常变化前[t
c-w2,tc]时间段内的监测指标序列定义为{xi},将异常变化后[tc,tr]时间段内的监测指标序列定义为{xj},其中w2表示计算{xi}统计特征的时间段,假设为30分钟,tr表示故障分析人员采取应急措施的时间;
[0052]
采用后验概率表示监测指标异常变动程度,后验概率用于刻划指标的上升程度u和下降程度d,取几何平均来消除指标间不同的采样概率,表示如下:
[0053][0054][0055]
其中x表示异常变化前监测指标的概率分布,可以用高斯核拟合的方法从观察数据取得。监测指标的异常变动程度可以用已知监测指标的统计特征,观察到{xj}的概率来描述,{xj}的概率越小,表示监测指标的异常变动越大。
[0056]
作为本发明一个优选的实施例,所述确定异常指标集的步骤,具体包括:
[0057]
定义m为[u,d]中的最大值,m用于表示监测指标在异常变化点的变化程度;
[0058]
取监测指标正常值的3倍均方差作为阈值,若m大于所述阈值,则对应的指标为异常指标,构建异常指标集。
[0059]
如图2所示,作为本发明一个优选的实施例,所述构建指标依赖关系图的步骤,具体包括:
[0060]
构建异常指标集中的指标的全量关系图,全量关系图中的节点为异常指标集中的指标,每一对节点之间设置有边;
[0061]
采用fisher-z测试计算全量关系图中节点之间的关系,该算法基于皮尔逊相关系数来计算检测指标间的相关性,构建指标x和指标y之间的统计量:
[0062][0063]
其中m表示指标的取样点数,r表示指标x和指标y的偏相关系数,指标间的相关性采用fisher-z测试零假设的p值来表示,p值越小,指标间的相关性越大,采用来表示指标之间的相关性,即全量关系图的边权重,构建完成的全量关系图即为指标依赖关系图。
[0064]
作为本发明一个优选的实施例,所述对故障根因指标进行排序的步骤,具体包括:
[0065]
采用加权的pagerank算法计算指标影响力,其计算公式如下:
[0066]
[0067]
其中b(u)表示直接和u节点有边连接的节点,w
uv
表示节点u和v之间的权重,d是一个常量为0.85;
[0068]
计算指标依赖关系图中所有的节点的指标影响力,根据指标影响力对异常指标进行排序,进而使得故障根因指标排在前面,从而故障根因节点排在列表的最前面,运维人员仅需要验证故障根因指标排序结果的前几项即可发现根因指标。
[0069]
本发明实施例提高了运维人员对于故障根因排查的效率,构建了一个部属于私有云环境的业务系统,该部属包含了私有云环境、虚拟机、中间件和业务系统。针对该实验环境,我们采集了覆盖各层面的监测指标,包括运算负载、存储引擎、中间件资源、虚拟主机资源和业务系统指标,共计90项指标。
[0070]
采用模拟的方式给业务系统随机注入故障,总共包含了五种常见的故障,包括cpu过载、网络拥塞、io饱和、内存过载和突发流量。收集了一段固定时长的正常监测指标值,然后针对每一种故障,随机在30个时间点和随机时长注入了故障,从而一共获得了150组数据。
[0071]
本发明设定一个变量k,假设模型输出的前k个指标中包含了真实的根因指标,就判定该模型输出正确。
[0072]
针对150组数据,本发明采用召回率来衡量模型的性能。定义如下:
[0073][0074]
其中n
tp
表示系统准确定为根因指标的案例数,n
fn
表示未能准确定位根因指标的案例数。
[0075]
本发明在150组数据上的实验结果如下表所示。
[0076]
变量kk=1k=2k=3k=4召回率61%(91/150)66%(99/150)71%(107/150)77%(115/150)
[0077]
本发明所提出的根因分析方法从两个方面保证了指标间依赖关系的准确性。一方面,本文的模型仅考虑依赖关系的存在性,不考虑依赖关系的方向,从而更加简化关系的描述。另一方面,通过异常指标集的构建,剔除了无关指标,减少干扰。
[0078]
以上仅对本发明的较佳实施例进行了详细叙述,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
[0079]
应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0080]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供
的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0081]
本领域技术人员在考虑说明书及实施例处的公开后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1