一种系统故障预测方法、装置、电子设备及存储介质与流程

文档序号:25543568发布日期:2021-06-18 20:40
一种系统故障预测方法、装置、电子设备及存储介质与流程

本发明涉及服务器技术领域,尤其是涉及一种系统故障预测方法、装置、电子设备及存储介质。



背景技术:

随着数据访问量的增大,集群存储规模和系统的复杂性也在随之增加,因此在大规模存储集群日常运作中,集群故障的发生也慢慢成为一种常态现象。在集群的运行过程中一旦发生某些未知的故障,对整个大规模存储集群系统的维护和运营就会造成重大损失,同时增加额外的成本。因此一种的精准的故障预测可以优化各种容错过程,以此来降低即将发生的故障对大规模存储集群产生的问题,提高系统运行的稳定性。



技术实现要素:

本发明的目的在于提供一种系统故障预测方法、装置、电子设备及存储介质,缓解了现有技术中存在的系统故障预测方案不够完善的技术问题。

第一方面,本发明提供的系统故障预测方法,包括以下步骤:

获取系统实时日志;

将实时日志进行解析获得包含多个日志序列的矢量化特征集,并通过预设的聚类分析的算法从所述特征集中获得满足预设条件的代表性日志序列;

计算代表性日志序列与知识库中预存的原始代表性日志序列的相似度;

若相似度高于预设阈值,则生成即将发生故障的信息。

进一步的,所述将实时日志进行解析获得包含多个日志序列的矢量化特征集,并通过预设的聚类分析的算法从所述特征集中获得满足预设条件的代表性日志序列的步骤,具体包括:

将实时日志解析成结构化文本;

根据所述结构化文本提取日志特征,并形成特征集;

将所述特征集进行矢量化;

使用k-means算法对矢量化的特征集进行聚类分析,并形成多个数据集;

通过计算每个数据集的质心提取每个数据集中的代表性日志序列。

进一步的,将所述特征集进行矢量化的步骤,具体包括:

使用会话窗口将实时日志链接为多个日志序列;

根据日志序列中每个日志事件出现的次数将日志序列转化为日志事件计数向量;

将所述计数向量进行加权计算,形成矢量化特征集。

进一步的,所述通过计算每个数据集的质心提取每个数据集中的代表性日志序列的步骤,具体包括:

对于每个数据集:

计算数据集中每个日志序列与其它日志序列的距离;

计算每个日志序列与其它日志序列的距离的平均值;

将距离平均值最小的日志序列作为每个数据集的质心,并提取为代表性日志序列。

进一步的,所述获取系统实时日志的步骤之前,还包括:

获取系统原始日志;

将原始日志进行解析,并通过预设的聚类分析的算法提取原始代表性日志序列;

根据原始代表性日志序列创建知识库。

进一步的,所述生成即将发生故障的信息的步骤之后,还包括:

确认是否发生故障;

若是,则将所述代表性日志序列更新至知识库。

第二方面,本发明还提供一种系统故障预测装置,包括:

日志获取模块,用于获取系统实时日志;

日志解析模块,用于将实时日志进行解析获得包含多个日志序列的矢量化特征集,并通过预设的聚类分析的算法从所述特征集中获得满足预设条件的代表性日志序列;

故障计算模块,用于计算代表性日志序列与知识库中预存的原始代表性日志序列的相似度;

信息发送模块,用于生成即将发生故障的信息。

第三方面,本发明还提供一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

第四方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述方法。

本发明提供的系统故障预测方法,通过获取系统实时日志,并对日志进行解析,提取出代表性日志序列,并将代表性日志序列与知识库中的日志序列进行比较,计算相似度,若相似度高于预设阈值,则说明即将发生对应的故障,通过上述方法,进一步提升系统故障预测方法的准确性,提升了系统的稳定性,缓解了现有技术系统故障预测方法不够完善的问题。

相应地,本发明提供的一种系统故障预测装置、电子设备及计算机可读存储介质,也同样具有上述技术效果。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的系统故障预测方法流程图;

图2为本发明实施例提供的根据实时日志提取代表性日志序列的方法流程图;

图3为本发明实施例提供的将特征集矢量化的方法流程图;

图4为本发明实施例提供的提取每个数据集中的代表性日志序列的方法流程图;

图5为本发明实施例提供的构建知识库方法流程图;

图6位本发明实施例提供的系统故障预测装置示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

如图1所示,本发明实施例提供的一种系统故障预测方法,包括以下步骤:

s11:获取系统实时日志;

s12:将实时日志进行解析获得包含多个日志序列的矢量化特征集,并通过预设的聚类分析的算法从所述特征集中获得满足预设条件的代表性日志序列;

s13:计算代表性日志序列与知识库中预存的原始代表性日志序列的相似度,若相似度高于预设阈值,则执行步骤s14;

s14:生成即将发生故障的信息。

本发明实施例提供的系统故障预测方法,通过获取系统实时日志,并对日志进行解析,提取出代表性日志序列,并将代表性日志序列与知识库中的日志序列进行比较,计算相似度,若相似度高于预设阈值,则说明即将发生对应的故障,通过上述方法,进一步提升系统故障预测方法的准确性,提升了系统的稳定性,缓解了现有技术系统故障预测方法不够完善的问题。

如图2所示,在一种可能的实施方式中,所述将实时日志进行解析获得包含多个日志序列的矢量化特征集,并通过预设的聚类分析的算法从所述特征集中获得满足预设条件的代表性日志序列的步骤,具体包括:

s221:将实时日志解析成结构化文本;

s222:根据所述结构化文本提取日志特征,并形成特征集;

s223:将所述特征集进行矢量化;

s224:使用k-means算法对矢量化的特征集进行聚类分析,并形成多个数据集;

s225:通过计算每个数据集的质心提取每个数据集中的代表性日志序列。

实时日志无法进行直接的分析,通过上述步骤,可以将实时日志解析并提取出计算所需的代表性日志序列。

如图3所示,在一种可能的实施方式中,将所述特征集进行矢量化的步骤,具体包括:

s3231:使用会话窗口将实时日志链接为多个日志序列;

s3232:根据日志序列中每个日志事件出现的次数将日志序列转化为日志事件计数向量;

s3233:将所述计数向量进行加权计算,形成矢量化特征集。

在进行后续k-means算法的步骤之前,需要将获得到的特征集先进行矢量化,形成可以计算的矢量化信息,方可进行后续的计算。

如图4所示,在一种可能的实施方式中,所述通过计算每个数据集的质心提取每个数据集中的代表性日志序列的步骤,具体包括:

对于每个数据集:

s4251:计算数据集中每个日志序列与其它日志序列的距离;

s4252:计算每个日志序列与其它日志序列的距离的平均值;

s4253:将距离平均值最小的日志序列作为每个数据集的质心,并提取为代表性日志序列。

在获取到数据集后,根据上述步骤,计算出数据集中最能代表该数据集的日志序列,作为本数据集的代表性日志序列。

如图5所示,在一种可能的实施方式中,所述获取系统实时日志的步骤之前,还包括:

s51:获取系统原始日志;

s52:将原始日志进行解析,并通过预设的聚类分析的算法提取原始代表性日志序列;

s53:根据原始代表性日志序列创建知识库。

上述步骤为构建知识库的流程,就整体方法而言,与预测阶段没有本质的区别,通过获取到原始代表性日志序列,获取到发生故障时最能代表该故障的日志序列,构建知识库,进而为预测阶段提供数据基础。

在一种可能的实施方式中,所述生成即将发生故障的信息的步骤之后,还包括:

s15:确认是否发生故障,若是,则执行步骤s16,若否,则执行步骤s17;

s16:将所述代表性日志序列更新至知识库;

s17:结束进程。

通过上述方式,可以对知识库内的日志序列进行更新,保证知识库的准确性。

本发明实施例提供的系统故障预测方法,具体实施方案如下:

在构建知识库阶段,首先将大规模存储集群产生的系统日志进行解析形成可提取特征的结构化文本,再提取日志特征形成特征集并进行矢量化,以便进行日志的聚类。

在进行特征矢量化时,需要将解析后的日志进行划分,可以使用会话窗口将日志链接为不同的日志序列,会话窗口基于标识符,标识符用于标记某些日志数据的执行轨迹,其中每一个会话窗口都有唯一标识符,通过这种方法最终形成多个日志序列。

根据日志事件序列中的每个日志事件出现的次数,将日志序列转化为日志事件计数向量,最后对计数向量进行加权形成矢量化特征集。

在日志聚类中可以使用k-means方法进行聚类形成正常和异常两种数据集。

k-means算法流程如下:

初始化聚类中心,首先获取数据的长度,然后在range(表示区间内的数值)(0,length)这个区间上随机产生k个不同的值,以此为下标提取出数据点,将它们作为聚类初始中心,产生列表center。

分配数据点,将数据点分配到距离(欧式距离)最短的聚类中心中,产生列表,并计算平均误差。

如果首次分配后有结果为空,则重新初始化聚类中心。

更新聚类中心,(计算每一簇中所有点的平均值),然后再次进行分配,并计算平均误差。

比较前后两次的平均误差是否相等,若不相等则进行循环,否则终止循环,并完成算法。

在聚类完成获得数据集后,再提取代表性日志序列,对于每一个数据集,通过选择数据集的质心作为初始代表性日志序列,然后计算每个日志序列距离数据集内其他日志序列的平均距离,最后选择平均距离最小的作为每个数据集的代表性日志序列。

在获得代表性日志序列后,根据代表性日志序列构建知识库,为预测阶段提供数据支持。

在预测阶段(使用阶段),首先获取系统日志,并根据同样的步骤将系统日志进行解析获取代表性日志序列,并根据代表性日志序列与知识库中已知的日志序列进行对比,计算相似度,当相似度超过预设阈值时,则认为即将发生故障,则向管理中心发送即将发生故障的信息,提醒工作人员及时处理,提早准备解决,避免因故障影响服务器的工作。

如图6所示,本发明实施例还提供了一种系统故障预测装置,包括:

日志获取模块1,用于获取系统实时日志;

日志解析模块2,用于将实时日志进行解析获得包含多个日志序列的矢量化特征集,并通过预设的聚类分析的算法从所述特征集中获得满足预设条件的代表性日志序列;

故障计算模块3,用于计算代表性日志序列与知识库中预存的原始代表性日志序列的相似度;

信息发送模块4,用于生成即将发生故障的信息。

对应于上述方法,本发明实施例还提供了一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

对应于上述方法,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述方法的步骤。

本发明实施例所提供的装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

又例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,再例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1