1.本技术涉及计算机技术领域,尤其涉及一种故障确定方法、装置、设备和存储介质。
背景技术:2.宕机是由于操作系统内核检测到硬件错误或者操作系统内核软件错误,重启机器或者计算节点的现象。由于宕机会使机器或者计算节点中断对外服务,所以,如何快速并准确地在数据库中匹配到宕机原因以恢复对外服务至关重要。
3.在相关技术中,可以通过与宕机日志对应的宕机调用堆栈,从数据库中匹配相似的预设宕机原因,但是这种匹配方式过于单一,匹配到的宕机原因准确度较低。
技术实现要素:4.本技术实施例提供一种故障确定方法、装置、设备和存储介质,能够提高在数据库中匹配宕机原因的准确性。
5.根据本技术实施例的第一方面,提供一种故障确定方法,包括:
6.在检测到计算节点故障的情况下,获取宕机信息,宕机信息包括日志信息、事件信息和调用栈信息,事件信息包括维护计算节点执行计算事件的信息,调用栈信息包括执行计算事件对应的函数调用栈;
7.将日志信息、事件信息和调用栈信息与多个预设宕机原因进行匹配,得到匹配结果;
8.根据匹配结果,从多个预设宕机原因中确定与计算节点对应的故障原因。
9.根据本技术实施例的第二方面,提供一种故障确定装置,包括:
10.获取模块,用于在检测到计算节点故障的情况下,获取宕机信息,宕机信息包括日志信息、事件信息和调用栈信息,事件信息包括维护计算节点执行计算事件的信息,调用栈信息包括执行计算事件对应的函数调用栈;
11.匹配模块,用于将日志信息、事件信息和调用栈信息与多个预设宕机原因进行匹配,得到匹配结果;
12.确定模块,用于根据匹配结果,从多个预设宕机原因中确定与计算节点对应的故障原因。
13.根据本技术实施例的第三方面,提供一种计算机设备,包括:存储器和处理器;
14.存储器,用于存储有计算机程序;
15.处理器,用于执行存储器中存储的计算机程序,计算机程序运行时使得处理器执行如第一方面所示的故障确定方法的步骤。
16.根据本技术实施例的第四方面,提供一种计算机可读存储介质,计算机可读存储介质上存储程序或指令,在程序或指令被计算机设备执行的情况下,使得计算机设备执行如第一方面所示的故障确定方法的步骤。
17.根据本技术实施例的第五方面,提供一种计算机程序产品,包括计算机程序,在计算机程序被计算机设备执行的情况下,使得计算机设备执行如第一方面所示的故障确定方法的步骤。
18.根据本技术实施例中故障确定方法、装置、设备和存储介质,在检测到计算节点故障的情况下,获取宕机信息,宕机信息包括日志信息、事件信息和调用栈信息,事件信息包括维护计算节点执行计算事件的信息,调用栈信息包括执行计算事件对应的函数调用栈,接着,将日志信息、事件信息和调用栈信息与多个预设宕机原因进行匹配,得到匹配结果,这样,通过日志信息、事件信息和调用栈信息等更多维度的特征来描述故障事件,借用宕机信息中独立、无依赖和内容只在固定文本范围的特点,使得用户无需针对每个宕机信息提取不同的特征点,减少用户匹配已知宕机原因的操作。然后,根据匹配结果,从多个预设宕机原因中确定与计算节点对应的故障原因,如此,通过多个维度的宕机信息实现对已知故障原因自动化匹配、灵活化匹配,使得用户无需对已知故障原因进行人工分析和匹配,从而提高匹配宕机原因的准确率和效率。
附图说明
19.从下面结合附图对本技术的具体实施方式的描述中可以更好地理解本技术其中,相同或相似的附图标记表示相同或相似的特征。
20.图1是示出根据一个实施例的一种故障确定架构示意图;
21.图2是示出根据一个实施例的一种故障确定的流程示意图;
22.图3是示出根据一个实施例的一种故障确定方法的流程图;
23.图4是示出根据一个实施例的一种故障确定装置的结构示意图;
24.图5是示出根据一个实施例的计算机设备的硬件结构示意图。
具体实施方式
25.下面将详细描述本技术的各个方面的特征和示例性实施例,为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本技术,并不被配置为限定本技术。对于本领域技术人员来说,本技术可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本技术的示例来提供对本技术更好的理解。
26.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
27.宕机是由于操作系统内核检测到严重的硬件错误或者操作系统内核软件错误而产生的操作系统崩溃然后重启机器、节点的现象。操作系统的宕机率是反映操作系统稳定性的关键指标,也是所有服务平台的关注重心。由于宕机会导致机器、节点的重启,造成服
务中断,而且每次分析宕机的宕机原因都需要运维人员投入较多的时间,所以,为了缩短运维人员对于重复宕机的宕机原因的分析时间,如何快速、准确地匹配到已知宕机原因成为亟需解决的问题。
28.在相关技术中,可以利用调用栈之间的相似度来反映是否为同一个宕机原因。因此,通过位置相关模型(position dependent model,pdm)对调用栈的相似度判断,两个调用栈中越靠近栈顶的函数影响的权重越大,相同函数所在的层数越接近则越相似。然而,这种仅用单一参数匹配宕机原因的方式,使得在匹配过程中会匹配到很多无关的宕机原因,导致匹配到的宕机原因准确度较低。所以,现有的系统中虽然能够做到快速的匹配到宕机原因,但是匹配的方式只与调用栈有关,逐渐暴露出匹配到的宕机原因准确度低的问题。
29.面对上述问题,本技术实施例提供了一种故障确定方法,通过日志信息、事件信息和调用栈信息等更多维度的特征来描述故障事件,不同于以往的只用调用栈来匹配相似的预设宕机原因的方式,以实现对已知故障原因自动化匹配、灵活化匹配。以及,本技术实施例中能够在相似的预设宕机匹配中利用完整的日志信息、事件信息和调用栈信息,不依赖调用栈和调用栈的关系,多维度增强了描述宕机的方式,达到快速、准确的找到相似的预设宕机原因,使得用户无需对已知故障原因进行人工分析和匹配,提高用户体验。
30.由此,本技术实施例提供的故障确定方法可以在检测到计算节点故障的情况下,获取宕机信息,宕机信息包括日志信息、事件信息和调用栈信息,事件信息包括维护计算节点执行计算事件的信息,调用栈信息包括执行计算事件对应的函数调用栈,接着,将日志信息、事件信息和调用栈信息与多个预设宕机原因进行匹配,得到匹配结果,这样,通过日志信息、事件信息和调用栈信息等更多维度的特征来描述故障事件,借用宕机信息中独立、无依赖和内容只在固定文本范围的特点,使得用户无需针对每个宕机信息提取不同的特征点,减少用户匹配已知宕机原因的操作。然后,根据匹配结果,从多个预设宕机原因中确定与计算节点对应的故障原因,如此,通过多个维度的宕机信息实现对已知故障原因自动化匹配、灵活化匹配,使得用户无需对已知故障原因进行人工分析和匹配,从而提高匹配宕机原因的准确率和效率。
31.基于此,下面结合图1,对本技术实施例提供的故障确定架构进行详细地说明。
32.在一种或者多种可能的实施例中,如图1所示,本技术实施例提出的故障确定架构10包括数据处理模块101、模型计算模块102和故障检测模块103。这里,故障确定架构10可以应用于服务器、服务器集群等具有计算功能的实体设备,也可以应用于数据中心、云平台等具有计算功能的虚拟平台。
33.下面分别对故障确定架构10中的多个模块进行详细说明。
34.数据处理模块101,用于对训练多项式朴素贝叶斯模型的训练样本进行数据选取、数据清洗、数据转换等数据处理,以便生成满足预设训练条件的多项式朴素贝叶斯模型。其中,训练样本包括多个样本节点的历史宕机事件和与历史宕机事件对应的历史宕机信息,其中,历史宕机信息包括产生历史宕机原因的历史日志信息、历史事件信息和历史调用栈信息,历史日志信息包括样本节点的第一历史宕机日志信息和样本节点执行样本计算事件所在的操作系统的第二历史宕机日志信息,历史事件信息包括触发样本节点执行样本计算事件的指令和样本节点执行样本计算事件所需的资源,历史调用栈信息包括执行样本计算事件对应的函数调用栈和读取第二历史宕机日志信息对应的函数调用栈。具体地,在一些
示例中,上述指令具体可以包括指令发出端的身份标识和指令的具体内容。历史宕机日志信息可以是宕机发生后产生的日志。其中,本技术实施例中的多项式朴素贝叶斯模型是输入为非负值,基于条件独立假设和贝叶斯定理计算出后验概率最大的输出的算法。
35.模型计算模块102,用于基于数据处理模块101输出的经过数据处理后的训练样本,对初始的多项式朴素贝叶斯模型进行训练,得到满足预设训练条件的多项式朴素贝叶斯模型,并存储多项式朴素贝叶斯模型,以便后期匹配宕机原因。
36.故障检测模块103,用于检测新的故障,并基于模型计算模块102中存储的多项式朴素贝叶斯模型与多个预设宕机原因进行匹配,得到匹配结果。进一步地,故障检测模块103还可以用于,根据匹配结果,从多个预设宕机原因中确定与计算节点对应的故障原因。在一个示例中,故障检测模块103用于检测多个计算节点是否发生故障,并在检测到计算节点故障的情况下,获取宕机信息,宕机信息包括日志信息、事件信息和调用栈信息,事件信息包括维护计算节点执行计算事件的信息,调用栈信息包括执行计算事件对应的函数调用栈,并调用模型计算模块102中存储的多项式朴素贝叶斯模型,将日志信息、事件信息和调用栈信息与多个预设宕机原因进行匹配,得到匹配结果,然后,根据匹配结果,从多个预设宕机原因中确定与计算节点对应的故障原因。
37.基于如图1所示的故障确定架构,下面结合附图2以确定计算节点a的故障原因为例,对本技术实施例提供的故障确定方法进行详细地说明。
38.首先,数据处理模块101获取训练样本,训练样本包括多个样本节点的历史宕机事件和与历史宕机事件对应的历史宕机信息,其中,历史宕机信息包括产生历史宕机原因的历史日志信息、历史事件信息和历史调用栈信息。进一步地,历史日志信息包括样本节点的第一历史宕机日志信息和样本节点执行样本计算事件所在的操作系统的第二历史宕机日志信息,历史事件信息包括触发样本节点执行样本计算事件的指令和样本节点执行样本计算事件所需的资源,历史调用栈信息包括执行样本计算事件对应的函数调用栈和读取第二历史宕机日志信息对应的函数调用栈。
39.接着,模型计算模块102接收数据处理模块101输出的历史日志信息、历史事件信息和历史调用栈信息,并通过预处理算法,对历史日志信息、历史事件信息和历史调用栈信息进行处理,得到预设词组信息。
40.再者,模型计算模块102通过词频逆文件频率算法,分别按照历史日志信息、历史事件信息和历史调用栈信息在预设词组信息中出现的频次,对初始的多项式朴素贝叶斯模型进行训练,直至满足预设训练条件,得到多项式朴素贝叶斯模型。其中,上述词频逆文件频率算法(term frequency
–
inverse document frequency),该词频逆文件频率算用于信息检索与数据挖掘的加权技术,其中,tf是词频(term frequency),idf是逆文本频率指数(inverse document frequency)。
41.然后,故障检测模块103在检测到计算节点故障的情况下,获取宕机信息,宕机信息包括日志信息、事件信息和调用栈信息,事件信息包括维护计算节点执行计算事件的信息,调用栈信息包括执行计算事件对应的函数调用栈。故障检测模块103调用模型计算模块102中的多项式朴素贝叶斯模型,将日志信息、事件信息和调用栈信息与多个预设宕机原因进行匹配,得到匹配结果,并根据匹配结果,从多个预设宕机原因中确定与计算节点对应的故障原因。
42.由此,通过日志信息、事件信息和调用栈信息等更多维度的特征来描述故障事件,借用宕机信息中独立、无依赖和内容只在固定文本范围的特点,使得用户无需针对每个宕机信息提取不同的特征点,减少用户匹配已知宕机原因的操作。然后,根据匹配结果,从多个预设宕机原因中确定与计算节点对应的故障原因,如此,通过多个维度的宕机信息实现对已知故障原因自动化匹配、灵活化匹配,使得用户无需对已知故障原因进行人工分析和匹配,从而提高匹配宕机原因的准确率和效率。
43.需要说明的是,本技术实施例提供的故障确定方法可以应用于服务器、服务器集群等具有计算功能的实体设备中的内核宕机系统匹配已知宕机原因的场景,也可以应用于数据中心、云平台等具有计算功能的虚拟平台中的内核宕机系统匹配已知宕机原因的场景。
44.根据上述架构以及应用场景,下面分别结合图3对本技术实施例提供的故障确定方法进行详细说明。
45.图3是示出根据一个实施例的一种故障确定方法的流程图。
46.如图3所示,本技术实施例中的故障确定方法可以应用于如图1所示的故障确定架构,具体可以包括:
47.步骤310,在检测到计算节点故障的情况下,获取宕机信息,宕机信息包括日志信息、事件信息和调用栈信息,事件信息包括维护计算节点执行计算事件的信息,调用栈信息包括执行计算事件对应的函数调用栈;步骤520,将日志信息、事件信息和调用栈信息与多个预设宕机原因进行匹配,得到匹配结果;步骤530,根据匹配结果,从多个预设宕机原因中确定与计算节点对应的故障原因。
48.下面对上述步骤进行详细说明,具体如下所示。
49.首先,涉及步骤310,上述涉及的日志信息可以包括计算节点的第一宕机日志信息和计算节点执行计算事件所在的操作系统的第二宕机日志;事件信息包括触发计算节点执行计算事件的指令和计算节点执行计算事件所需的资源;调用栈信息还包括读取第二宕机日志对应的函数调用栈。
50.这里,本技术实施例中可以基于宕机日志在日志信息中特殊的存在位置如日志信息后段的文本范围,使得用户无需针对每个宕机信息提取不同的特征点,减少用户提取宕机日志的操作。
51.以及,本技术实施例还可以通过如下步骤,确定第一宕机日志信息,基于此,该步骤320之前,该故障确定方法还可以包括:
52.通过预设识别算法,识别日志信息,得到计算节点的第一宕机类型和执行计算事件对应的第一内核版本;
53.根据宕机类型和宕机类型集合的第二预设关联信息,获取与第一宕机类型所在的第一宕机类型集合,以及根据内核版本和内核版本集合的第三预设关联信息,获取与第一内核版本所在的第一内核版本集合;
54.将第一宕机类型集合的宕机类型模板和第一内核版本集合的内核版本确定为第一宕机日志信息。
55.其中,本技术实施例中的预设识别算法包括正则表达式算法和基于预设字符识别算法,这样,可以通过正则表达式算法,从日志信息中定位日志信息中包括的第一宕机类型
和执行计算事件对应的第一内核版本;或者,通过预设字符识别算法,从日志信息中识别预设字符,并将满足预设字符的信息确定为第一宕机类型和执行计算事件对应的第一内核版本。
56.示例性地,可以通过正则表达式算法,从日志信息中定位日志信息中最后一段的目标文本,并基于目标文本确定第一宕机类型包括的第一宕机类型如“_nullpointer”和执行计算事件对应的第一内核版本“kernel-4.9.317”。
57.接着,根据宕机类型和宕机类型集合的第二预设关联信息,获取与第一宕机类型“_nullpointer”所在的第一宕机类型集合的宕机类型模板为“panic_nullpointer”即为由于空指针引发的宕机,以及,根据内核版本和内核版本集合的第三预设关联信息,获取与第一内核版本“kernel-4.9.317”所在的第一内核版本集合的内核版本为“kernel-4.9”。
58.如此,可以将“panic_nullpointer”和“kernel-4.9”确定为第一宕机日志信息。
59.接着,涉及步骤320,在一种或者多种可能的实施例中,该步骤320具体可以包括:
60.将日志信息、事件信息和调用栈信息与多个预设宕机原因中每个预设宕机原因的宕机信息进行匹配,得到日志信息、事件信息和调用栈信息与每个预设宕机原因的宕机信息匹配的概率值。
61.进一步地,概率值可以包括后延概率值,基于此,该步骤320具体可以包括步骤3201至步骤3203,具体如下所示。
62.步骤3201,识别日志信息、事件信息和调用栈信息在预设词组信息中出现的频次。
63.示例性地,识别计算节点的第一宕机日志信息,并获取与第一宕机日志信息对应的频次a、与计算节点执行计算事件所在的操作系统的第二宕机日志对应的频次b、与触发计算节点执行计算事件的指令对应的频次c、与计算节点执行计算事件所需的资源对应的频次d、与读取第二宕机日志对应的函数调用栈对应的频次e和与执行计算事件对应的函数调用栈对应的频次f。
64.步骤3202,通过词频逆文件频率算法,基于频次,分别计算日志信息、事件信息和调用栈信息的权重。其中,日志信息、事件信息和调用栈信息在预设词组信息中出现的频次与日志信息、事件信息和调用栈信息的权重负相关。
65.示例性地,仍以上述例子进行说明,若上述多个频次的数值从高到低的排列顺序为频次a、频次b、频次c、频次d、频次e、频次f,则通过词频逆文件频率算法,其频次的数值与权重相反,即频次a的数值越大,其权重越小,原因在于突出宕机信息中的独特信息,更能匹配到更为准确的预设宕机原因。也就是说,若频次a越高,则证明是相似性较大的信息,如果权重赋值过大,则无法突出其特殊性,由此,本技术实施例中引入词频逆文件频率算法为宕机信息中的每个信息调整权重,可以突出宕机信息中每个信息的独特性,减少相似信息可能带来的误差,从而提高匹配宕机原因的准确性。
66.步骤3203,通过多项式朴素贝叶斯模型,基于权重,将日志信息、事件信息和调用栈信息与每个预设宕机原因的宕机信息进行匹配,得到日志信息、事件信息和调用栈信息与每个预设宕机原因的宕机信息匹配的后延概率值。
67.基于此,该步骤3203之前,该故障确定方法还可以包括:
68.步骤3401,获取训练样本,训练样本包括多个样本节点的历史宕机事件和与历史宕机事件对应的历史宕机信息,其中,历史宕机信息包括产生历史宕机原因的历史日志信
息、历史事件信息和历史调用栈信息;其中,历史日志信息包括样本节点的第一历史宕机日志信息和样本节点执行样本计算事件所在的操作系统的第二历史宕机日志信息,历史事件信息包括触发样本节点执行样本计算事件的指令和样本节点执行样本计算事件所需的资源,历史调用栈信息包括执行样本计算事件对应的函数调用栈和读取第二历史宕机日志信息对应的函数调用栈。
69.步骤3402,通过预处理算法,对历史日志信息、历史事件信息和历史调用栈信息进行处理,得到预设词组信息;
70.示例性地,通过预处理算法,对历史日志信息、历史事件信息和历史调用栈信息进行预处理,如对数据进行筛选、清洗文本特征、提取历史日志信息并对其进行平滑、泛化等处理,以便将处理好的文本信息向量化,并由此构建预设词组信息。
71.步骤3403,通过词频逆文件频率算法,分别按照历史日志信息、历史事件信息和历史调用栈信息在预设词组信息中出现的频次,对初始的多项式朴素贝叶斯模型进行训练,直至满足预设训练条件,得到多项式朴素贝叶斯模型。
72.示例性地,识别样本节点的第一历史宕机日志信息,并获取与第一历史宕机日志信息对应的频次g、与样本节点执行样本计算事件所在的操作系统的第二历史宕机日志对应的频次h、与触发样本计算节点执行样本计算事件的指令对应的频次i、与样本节点执行样本计算事件所需的资源对应的频次j、与读取第二历史宕机日志对应的函数调用栈对应的频次k和与执行样本计算事件对应的函数调用栈对应的频次l。若上述多个频次的数值从高到低的排列顺序为频次g、频次h、频次i、频次j、频次k、频次l,则通过词频逆文件频率算法,其频次的数值与权重相反,即频次g的数值越大,其权重越小,原因在于突出宕机信息中的独特信息,更能匹配到更为准确的预设宕机原因。也就是说,若频次g越高,则证明是相似性较大的信息,如果权重赋值过大,则无法突出其特殊性,由此,本技术实施例中引入词频逆文件频率算法为宕机信息中的每个信息调整权重,可以突出宕机信息中每个信息的独特性,减少相似信息可能带来的误差,从而提高匹配宕机原因的准确性。
73.由此,这里引入了词频逆文件频率算法来给每个信息调整权重,可以突出文本特征的独特性,减少相似特征可能带来的误差,最后对其初始的利用多项式朴素贝叶斯模型进行训练,以便在有新的计算节点出现故障时,能够快速并准确的利用训练好的多项式朴素贝叶斯模型对预设宕机原因进行匹配。
74.然后,涉及步骤330,在一种可能的实施例中,该步骤330具体可以包括:
75.在后延概率值中筛选满足预设条件的目标后延概率值;
76.将多个预设宕机原因中与目标后延概率值对应的目标宕机原因确定为与计算节点对应的故障原因。
77.进一步地,可以在后延概率值中筛选最大的后延概率值,并将其确定为目标后延概率值;或者,可以在后延概率值中筛选大于或者等于预设后延概率值的后延概率值,并将其确定为目标后延概率值。
78.此外,为了便于用于浏览计算节点的故障原因和解决方案,在步骤330之后,本技术实施例提供的故障确定方法还可以包括:
79.根据宕机原因和故障解决信息的第一预设关联信息,获取与计算节点对应的故障原因关联的目标故障解决信息;
80.显示与计算节点的故障原因和目标故障解决信息。
81.综上,本技术实施例提供的故障确定方法通过日志信息、事件信息和调用栈信息等更多维度的特征来描述故障事件,结合多项式朴素贝叶斯模型匹配预设宕机原因的,如此,本技术实施例摒弃了只利用调用栈来匹配相似的预设宕机原因,而是结合日志信息、事件信息和调用栈信息等更多维度的特征融合,利用多项式朴素贝叶斯模型来进行预设宕机原因的匹配,方便用户能够快速、准确的匹配已知的宕机原因。以及,本技术实施例通过多项式朴素贝叶斯模型来对不同的宕机信息进行分类,同时引入词频逆文件频率算法来计算不同宕机信息的权重,能够基于宕机信息中独立无依赖的特性和宕机信息只在固定文本范围的特点,使得用户无需针对每个宕机事件分别提取不同的宕机信息,无需对已知故障原因投入过多的分析和维护的精力,使得用户无需对已知故障原因进行人工分析和匹配,从而提高匹配宕机原因的准确率和效率。
82.需要明确的是,本技术并不局限于上文实施例中所描述并在图中示出的特定配置和处理。为了描述的方便和简洁,这里省略了对已知方法的详细描述,并且上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
83.基于相同的发明构思,本技术实施例提供了与上述涉及的故障确定方法对应的故障确定装置。具体结合图4进行详细说明。
84.图4是示出根据一个实施例的一种故障确定装置的结构示意图。
85.如图4所示,本技术实施例提供的故障确定装置40应用于如图1所示的故障确定架构,故障确定装置40具体可以包括:
86.获取模块401,用于在检测到计算节点故障的情况下,获取宕机信息,宕机信息包括日志信息、事件信息和调用栈信息,事件信息包括维护计算节点执行计算事件的信息,调用栈信息包括执行计算事件对应的函数调用栈;
87.匹配模块402,用于将日志信息、事件信息和调用栈信息与多个预设宕机原因进行匹配,得到匹配结果;
88.确定模块403,用于根据匹配结果,从多个预设宕机原因中确定与计算节点对应的故障原因。
89.基于此,下面对本技术实施例提供的故障确定装置40进行详细说明。
90.在一种或者多种可能的实施例中,本技术实施例提供的匹配模块402具体可以用于,将日志信息、事件信息和调用栈信息与多个预设宕机原因中每个预设宕机原因的宕机信息进行匹配,得到日志信息、事件信息和调用栈信息与每个预设宕机原因的宕机信息匹配的概率值。
91.在另一种或者多种可能的实施例中,本技术实施例提供的故障确定装置40还可以包括第一识别模块和计算模块;其中,
92.第一识别模块,用于在概率值包括后延概率值的情况下,识别日志信息、事件信息和调用栈信息在预设词组信息中出现的频次;
93.计算模块,用于通过词频逆文件频率算法,基于频次,分别计算日志信息、事件信息和调用栈信息的权重;
94.匹配模块402具体可以用于,通过多项式朴素贝叶斯模型,基于权重,将日志信息、事件信息和调用栈信息与每个预设宕机原因的宕机信息进行匹配,得到日志信息、事件信
息和调用栈信息与每个预设宕机原因的宕机信息匹配的后延概率值。
95.在又一种或者多种可能的实施例中,本技术实施例提供的日志信息、事件信息和调用栈信息在预设词组信息中出现的频次与日志信息、事件信息和调用栈信息的权重负相关
96.在再一种或者多种可能的实施例中,确定模块403具体可以用于,在后延概率值中筛选满足预设条件的目标后延概率值;
97.将多个预设宕机原因中与目标后延概率值对应的目标宕机原因确定为与计算节点对应的故障原因。
98.在再一种或者多种可能的实施例中,本技术实施例提供的故障确定装置40还可以包括处理模块和训练模块;其中,
99.获取模块401还可以用于,获取训练样本,训练样本包括多个样本节点的历史宕机事件和与历史宕机事件对应的历史宕机信息,其中,历史宕机信息包括产生历史宕机原因的历史日志信息、历史事件信息和历史调用栈信息;
100.处理模块,用于通过预处理算法,对历史日志信息、历史事件信息和历史调用栈信息进行处理,得到预设词组信息;
101.训练模块,用于通过词频逆文件频率算法,分别按照历史日志信息、历史事件信息和历史调用栈信息在预设词组信息中出现的频次,对初始的多项式朴素贝叶斯模型进行训练,直至满足预设训练条件,得到多项式朴素贝叶斯模型;
102.其中,历史日志信息包括样本节点的第一历史宕机日志信息和样本节点执行样本计算事件所在的操作系统的第二历史宕机日志信息,历史事件信息包括触发样本节点执行样本计算事件的指令和样本节点执行样本计算事件所需的资源,历史调用栈信息包括执行样本计算事件对应的函数调用栈和读取第二历史宕机日志信息对应的函数调用栈。
103.在再一种或者多种可能的实施例中,本技术实施例提供的故障确定装置40还可以包括显示模块;其中,
104.获取模块401还可以用于,根据宕机原因和故障解决信息的第一预设关联信息,获取与计算节点对应的故障原因关联的目标故障解决信息;
105.显示模块,用于显示与计算节点的故障原因和目标故障解决信息。
106.在再一种或者多种可能的实施例中,日志信息包括计算节点的第一宕机日志信息和计算节点执行计算事件所在的操作系统的第二宕机日志;
107.事件信息包括触发计算节点执行计算事件的指令和计算节点执行计算事件所需的资源;
108.调用栈信息还包括读取第二宕机日志对应的函数调用栈。
109.在再一种或者多种可能的实施例中,
110.在另一种或者多种可能的实施例中,本技术实施例提供的故障确定装置40还可以包括第二识别模块,用于通过预设识别算法,识别日志信息,得到计算节点的第一宕机类型和执行计算事件对应的第一内核版本;
111.获取模块401还可以用于,根据宕机类型和宕机类型集合的第二预设关联信息,获取与第一宕机类型所在的第一宕机类型集合,以及根据内核版本和内核版本集合的第三预设关联信息,获取与第一内核版本所在的第一内核版本集合;
112.确定模块403还可以用于,将第一宕机类型集合的宕机类型模板和第一内核版本集合的内核版本确定为第一宕机日志信息。
113.由此,在检测到计算节点故障的情况下,获取宕机信息,宕机信息包括日志信息、事件信息和调用栈信息,事件信息包括维护计算节点执行计算事件的信息,调用栈信息包括执行计算事件对应的函数调用栈,接着,将日志信息、事件信息和调用栈信息与多个预设宕机原因进行匹配,得到匹配结果,这样,通过日志信息、事件信息和调用栈信息等更多维度的特征来描述故障事件,借用宕机信息中独立、无依赖和内容只在固定文本范围的特点,使得用户无需针对每个宕机信息提取不同的特征点,减少用户匹配已知宕机原因的操作。然后,根据匹配结果,从多个预设宕机原因中确定与计算节点对应的故障原因,如此,通过多个维度的宕机信息实现对已知故障原因自动化匹配、灵活化匹配,使得用户无需对已知故障原因进行人工分析和匹配,从而提高匹配宕机原因的准确率和效率。
114.图5是示出根据一个实施例的计算机设备的硬件结构示意图。
115.如图5所示,计算机设备500包括输入设备501、输入接口502、处理器503、存储器504、输出接口505、以及输出设备506。
116.输入接口502、处理器503、存储器504、以及输出接口505通过总线507相互连接,输入设备501和输出设备506分别通过输入接口502和输出接口505与总线507连接,进而与计算机设备500的其他组件连接。具体地,输入设备501接收来自外部的输入信息,并通过输入接口502将输入信息传送到处理器503;处理器503基于存储器504中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器504中,然后通过输出接口505将输出信息传送到输出设备506;输出设备506将输出信息输出到计算机设备500的外部供用户使用。
117.在一个实施例中,图5所示的计算机设备500可以被实现为一种故障确定设备,该故障确定设备可以包括:存储器,被配置为存储程序;处理器,被配置为运行存储器中存储的程序,以执行上述实施例描述的故障确定方法。
118.在一个实施例中,该存储器还可以用于存储宕机信息、多个预设宕机原因以及结合上述图1至图3描述的故障确定过程中每个步骤的计算结果。
119.根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机可读存储介质。例如,本技术的实施例包括一种计算机可读存储介质,其包括在计算机可读存储介质上存储程序或指令,在程序或指令被计算机设备执行的情况下,使得计算机设备执行上述方法的步骤。
120.根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以从网络上被下载和安装,和/或从可拆卸存储介质被安装。
121.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令,当其在计算机上运行时,使得计算机执行上述各个实施例中描述的方法。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程
装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘)等。
122.以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
123.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使对应技术方案的本质脱离本技术各实施例技术方案的范围。
技术特征:1.一种故障确定方法,包括:在检测到计算节点故障的情况下,获取宕机信息,所述宕机信息包括日志信息、事件信息和调用栈信息,所述事件信息包括维护所述计算节点执行计算事件的信息,所述调用栈信息包括执行所述计算事件对应的函数调用栈;将所述日志信息、所述事件信息和所述调用栈信息与多个预设宕机原因进行匹配,得到匹配结果;根据所述匹配结果,从所述多个预设宕机原因中确定与所述计算节点对应的故障原因。2.根据权利要求1所述的方法,其中,所述将所述日志信息、所述事件信息和所述调用栈信息与多个预设宕机原因进行匹配,得到匹配结果,包括:将所述日志信息、所述事件信息和所述调用栈信息与所述多个预设宕机原因中每个预设宕机原因的宕机信息进行匹配,得到所述日志信息、所述事件信息和所述调用栈信息与所述每个预设宕机原因的宕机信息匹配的概率值。3.根据权利要求2所述的方法,其中,所述概率值包括后延概率值;所述将所述日志信息、所述事件信息和所述调用栈信息与所述多个预设宕机原因中每个预设宕机原因的宕机信息进行匹配,得到所述日志信息、所述事件信息和所述调用栈信息与所述每个预设宕机原因的宕机信息匹配的概率值,包括:识别所述日志信息、所述事件信息和所述调用栈信息在预设词组信息中出现的频次;通过词频逆文件频率算法,基于所述频次,分别计算所述日志信息、所述事件信息和所述调用栈信息的权重;通过多项式朴素贝叶斯模型,基于所述权重,将所述日志信息、所述事件信息和所述调用栈信息与所述每个预设宕机原因的宕机信息进行匹配,得到所述日志信息、所述事件信息和所述调用栈信息与所述每个预设宕机原因的宕机信息匹配的后延概率值。4.根据权利要求3所述的方法,其中,所述日志信息、所述事件信息和所述调用栈信息在预设词组信息中出现的频次与所述日志信息、所述事件信息和所述调用栈信息的权重负相关。5.根据权利要求3所述的方法,其中,所述根据所述匹配结果,从所述多个预设宕机原因中确定与所述计算节点对应的故障原因,包括:在所述后延概率值中筛选满足预设条件的目标后延概率值;将所述多个预设宕机原因中与所述目标后延概率值对应的目标宕机原因确定为与所述计算节点对应的故障原因。6.根据权利要求3所述的方法,其中,所述将所述日志信息、所述事件信息和所述调用栈信息与多个预设宕机原因进行匹配,得到匹配结果之前,所述方法还包括:获取训练样本,所述训练样本包括多个样本节点的历史宕机事件和与所述历史宕机事件对应的历史宕机信息,其中,所述历史宕机信息包括产生所述历史宕机原因的历史日志信息、历史事件信息和历史调用栈信息;通过预处理算法,对所述历史日志信息、所述历史事件信息和所述历史调用栈信息进行处理,得到预设词组信息;通过所述词频逆文件频率算法,分别按照历史日志信息、所述历史事件信息和所述历
史调用栈信息在所述预设词组信息中出现的频次,对初始的多项式朴素贝叶斯模型进行训练,直至满足预设训练条件,得到所述多项式朴素贝叶斯模型;其中,所述历史日志信息包括所述样本节点的第一历史宕机日志信息和所述样本节点执行样本计算事件所在的操作系统的第二历史宕机日志信息,所述历史事件信息包括触发所述样本节点执行样本计算事件的指令和所述样本节点执行样本计算事件所需的资源,所述历史调用栈信息包括执行样本计算事件对应的函数调用栈和读取所述第二历史宕机日志信息对应的函数调用栈。7.根据权利要求1所述的方法,其中,所述方法还包括:根据宕机原因和故障解决信息的第一预设关联信息,获取与所述计算节点对应的故障原因关联的目标故障解决信息;显示与所述计算节点的故障原因和所述目标故障解决信息。8.根据权利要求1所述的方法,其中,所述日志信息包括所述计算节点的第一宕机日志信息和所述计算节点执行所述计算事件所在的操作系统的第二宕机日志;所述事件信息包括触发所述计算节点执行所述计算事件的指令和所述计算节点执行所述计算事件所需的资源;所述调用栈信息还包括读取所述第二宕机日志对应的函数调用栈。9.根据权利要求8所述的方法,其中,所述将所述日志信息、所述事件信息和所述调用栈信息与多个预设宕机原因进行匹配,得到匹配结果之前,所述方法还包括:通过预设识别算法,识别所述日志信息,得到所述计算节点的第一宕机类型和执行所述计算事件对应的第一内核版本;根据宕机类型和宕机类型集合的第二预设关联信息,获取与所述第一宕机类型所在的第一宕机类型集合,以及根据内核版本和内核版本集合的第三预设关联信息,获取与所述第一内核版本所在的第一内核版本集合;将所述第一宕机类型集合的宕机类型模板和所述第一内核版本集合的内核版本确定为所述第一宕机日志信息。10.一种故障确定装置,包括:获取模块,用于在检测到计算节点故障的情况下,获取宕机信息,所述宕机信息包括日志信息、事件信息和调用栈信息,所述事件信息包括维护所述计算节点执行计算事件的信息,所述调用栈信息包括执行所述计算事件对应的函数调用栈;匹配模块,用于将所述日志信息、所述事件信息和所述调用栈信息与多个预设宕机原因进行匹配,得到匹配结果;确定模块,用于根据所述匹配结果,从所述多个预设宕机原因中确定与所述计算节点对应的故障原因。11.一种计算机设备,包括:存储器和处理器,所述存储器,用于存储有计算机程序;所述处理器,用于执行所述存储器中存储的计算机程序,所述计算机程序运行时使得所述处理器执行权利要求1至9中任意一项所述的故障确定方法的步骤。12.一种计算机可读存储介质,所述计算机可读存储介质上存储程序或指令,在所述程序或指令被计算机设备执行的情况下,使得所述计算机设备执行如权利要求1至9中任意一
项所述的故障确定方法的步骤。13.一种计算机程序产品,包括计算机程序,在所述计算机程序被计算机设备执行的情况下,使得所述计算机设备执行如权利要求1至9中任意一项所述的故障确定方法的步骤。
技术总结本申请公开了一种故障确定方法、装置、设备和存储介质。该故障确定方法包括在检测到计算节点故障的情况下,获取宕机信息,宕机信息包括日志信息、事件信息和调用栈信息,并将日志信息、事件信息和调用栈信息与多个预设宕机原因进行匹配,得到匹配结果,然后,根据匹配结果,从多个预设宕机原因中确定与计算节点对应的故障原因,这样,通过日志信息、事件信息和调用栈信息等更多维度的特征来描述故障事件,使得用户无需针对每个宕机信息提取不同的特征点,减少用户匹配已知宕机原因的操作,提高匹配已知宕机原因的准确度和匹配效率。配已知宕机原因的准确度和匹配效率。配已知宕机原因的准确度和匹配效率。
技术研发人员:刘馨蔚
受保护的技术使用者:阿里巴巴(中国)有限公司
技术研发日:2022.07.13
技术公布日:2022/11/1