本申请涉及通信技术领域,尤其是一种故障检测方法、装置及设备。
背景技术:
数据中心通常会部署大量服务器,这些服务器对外提供服务。一旦服务器发生故障(如宕机故障等),则该服务器无法对外提供服务,导致用户无法正常访问服务器,对数据中心的稳定性和服务的可靠性造成极大影响。
为了检测服务器是否发生故障,可以周期性的向服务器发送检测报文,若在预设时间内未接收到服务器针对该检测报文返回的响应报文,则认为服务器发生故障,并进行服务器的故障恢复。例如,在服务器1发生故障时,启动另一个服务器代替服务器1对外提供服务,尽量保证用户业务不中断。
但是,基于上述方式,在服务器发生故障之后才能够获知服务器发生故障,即服务器发生故障之后才进行故障恢复,服务器故障造成的损失已经产生。
技术实现要素:
本申请提供一种故障检测方法,所述方法包括:
获取服务器的样本日志;
根据所述样本日志获取样本日志特征;
根据所述样本日志特征训练目标特征模型;其中,所述目标特征模型包括样本日志特征与故障信息的映射关系;所述目标特征模型用于根据所述映射关系检测服务器在未来一段时间内发生故障的概率。
本申请提供一种故障检测方法,所述方法包括:
针对待检测的服务器,获取所述服务器的待检测日志;
根据所述待检测日志获取所述服务器的待检测日志特征;
根据目标特征模型确定与所述待检测日志特征对应的故障信息;
根据所述故障信息检测所述服务器在未来一段时间内发生故障的概率;
其中,所述目标特征模型包括样本日志特征与故障信息的映射关系。
本申请提供一种故障检测方法,所述方法包括:
获取服务器的样本性能数据;
根据所述样本性能数据获取样本数据特征;
根据所述样本数据特征训练目标特征模型;其中,所述目标特征模型包括样本数据特征与故障信息的映射关系;
针对待检测的服务器,获取所述服务器的待检测性能数据;
根据所述待检测性能数据获取待检测数据特征;
根据所述目标特征模型确定与所述待检测数据特征对应的故障信息;
根据所述故障信息检测所述服务器在未来一段时间内发生故障的概率。
本申请提供一种故障检测装置,所述装置包括:
获取模块,用于获取服务器的样本日志;
根据所述样本日志获取样本日志特征;
训练模块,用于根据所述样本日志特征训练目标特征模型;其中,所述目标特征模型包括样本日志特征与故障信息的映射关系;所述目标特征模型用于根据所述映射关系检测服务器在未来一段时间内发生故障的概率。
本申请提供一种故障检测装置,所述装置包括:
获取模块,用于针对待检测的服务器,获取所述服务器的待检测日志;
根据所述待检测日志获取所述服务器的待检测日志特征;
确定模块,用于根据目标特征模型确定与所述待检测日志特征对应的故障信息;其中,所述目标特征模型包括样本日志特征与故障信息的映射关系;
检测模块,用于根据所述故障信息检测所述服务器在未来一段时间内发生故障的概率。
本申请提供一种故障检测设备,包括:
处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
获取服务器的样本日志;
根据所述样本日志获取样本日志特征;
根据所述样本日志特征训练目标特征模型;其中,所述目标特征模型包括样本日志特征与故障信息的映射关系;所述目标特征模型用于根据所述映射关系检测服务器在未来一段时间内发生故障的概率。
本申请提供一种故障检测设备,包括:
处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
针对待检测的服务器,获取所述服务器的待检测日志;
根据所述待检测日志获取所述服务器的待检测日志特征;
根据目标特征模型确定与所述待检测日志特征对应的故障信息;
根据所述故障信息检测所述服务器在未来一段时间内发生故障的概率;
其中,所述目标特征模型包括样本日志特征与故障信息的映射关系。
基于上述技术方案,本申请实施例中,能够利用日志提前发现服务器在未来某个时间发生故障的概率,即能够提前一段时间(如几小时等)预测出服务器故障的概率,这样,在服务器发生故障之前就可以获知服务器故障,在服务器发生故障之前就进行故障恢复,如进行业务迁移等,从而避免服务器故障造成的损失,能够给服务器的稳定性带来极大的提升,提高数据中心的稳定性。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其它的附图。
图1是本申请一种实施方式中的故障检测方法的流程示意图;
图2是本申请另一种实施方式中的故障检测方法的流程示意图;
图3是本申请一种实施方式中的故障检测的应用场景示意图;
图4是本申请另一种实施方式中的故障检测方法的流程示意图;
图5是本申请一种实施方式中的故障检测装置的结构示意图;
图6是本申请另一种实施方式中的故障检测装置的结构示意图;
图7是本申请一种实施方式中的故障检测设备的结构示意图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例提出一种故障检测方法,参见图1所示,该方法可以包括:
步骤101,获取服务器的样本日志。
其中,样本日志可以包括但不限于以下之一或者任意组合:基于内存产生的日志、基于操作系统内核产生的日志、基于硬盘产生的日志、基于cpu产生的日志,对此日志类型不做限制,可以是任意类型的日志。
步骤102,根据样本日志获取样本日志特征。
其中,样本日志特征可以包括但不限于:统计特征;或者,区别序列模式特征;或者,统计特征和区别序列模式特征,对此样本日志特征不做限制。
针对根据样本日志获取统计特征的过程,可以包括:从样本日志中选取统计时间窗口内的样本日志;将选取的样本日志划分为多个统计维度的样本日志;根据多个统计维度的样本日志确定多个统计维度的日志数量;根据多个统计维度的日志数量确定统计特征。
例如,针对多个统计维度中的各统计维度,将该统计维度的日志数量确定为统计特征;和/或,将该统计维度的日志数量与相邻统计时间窗口内的该统计维度的日志数量的比例关系(如二者的比值),确定为统计特征。
在一个例子中,针对根据样本日志获取区别序列模式特征的过程,可以包括:从样本日志中选取统计时间窗口内的样本日志;确定统计时间窗口内的各样本日志的统计维度;根据各样本日志的统计维度的顺序,确定区别序列模式特征。例如,根据各样本日志的统计维度的顺序获取统计维度序列,根据该统计维度序列确定区别序列模式特征。
其中,所述区别序列模式特征是用于识别正常服务器的区别序列模式特征;或者,所述区别序列模式特征是用于识别异常服务器的区别序列模式特征。
在上述实施例中,针对样本日志的统计维度的确定方式,可以包括但不限于:根据样本日志的属性,确定样本日志的统计维度。
示例性的,样本日志的属性可以包括但不限于以下之一或任意组合:样本日志的日志源、样本日志的严重程度、样本日志的日志类型。
步骤103,根据样本日志特征训练目标特征模型;其中,目标特征模型包括样本日志特征与故障信息的映射关系。进一步的,目标特征模型用于根据所述映射关系检测服务器在未来一段时间内发生故障的概率。
在一个例子中,可以将样本日志特征和该样本日志特征的标签值输出给训练模型,以使训练模型根据该样本日志特征和该样本日志特征的标签值训练目标特征模型。其中,若样本日志特征是正常服务器的样本日志的样本日志特征,则该标签值用于表示服务器未故障;若样本日志特征是异常服务器的样本日志的样本日志特征,则该标签值用于表示服务器已故障。
在一个例子中,根据样本日志特征训练目标特征模型之后,针对待检测的服务器,获取服务器的待检测日志,并根据待检测日志获取服务器的待检测日志特征;根据目标特征模型确定与该待检测日志特征对应的故障信息,并根据该故障信息检测该服务器在未来一段时间内发生故障的概率。
其中,待检测日志特征包括但不限于:统计特征;或者,区别序列模式特征;或者,统计特征和区别序列模式特征,对此待检测日志特征不做限制。
其中,待检测日志可以包括但不限于以下之一或者任意组合:基于内存产生的日志、基于操作系统内核产生的日志、基于硬盘产生的日志、基于cpu产生的日志。示例性的,样本日志的日志类型与待检测日志的日志类型可以相同。
例如,当样本日志为基于内存产生的日志时,则待检测日志为基于内存产生的日志,当样本日志为基于操作系统内核产生的日志时,则待检测日志为基于操作系统内核产生的日志,以此类推。
针对根据待检测日志获取统计特征的过程,可以包括:从待检测日志中选取统计时间窗口内的待检测日志,并将选取的待检测日志划分为多个统计维度的待检测日志;根据多个统计维度的待检测日志确定多个统计维度的日志数量;根据多个统计维度的日志数量确定统计特征。
例如,针对多个统计维度中的各统计维度,将该统计维度的日志数量确定为统计特征;和/或,将该统计维度的日志数量与相邻统计时间窗口内的该统计维度的日志数量的比例关系(如二者的比值),确定为统计特征。
针对根据待检测日志获取区别序列模式特征的过程,可以包括:从待检测日志中选取统计时间窗口内的待检测日志,并确定统计时间窗口内的各待检测日志的统计维度;然后,根据各待检测日志的统计维度的顺序,确定区别序列模式特征。例如,根据各待检测日志的统计维度的顺序获取统计维度序列,根据该统计维度序列确定区别序列模式特征。
其中,区别序列模式特征可以是用于识别正常服务器的区别序列模式特征;或者,区别序列模式特征可以是用于识别异常服务器的区别序列模式特征。
在上述实施例中,针对待检测日志的统计维度的确定方式,可以包括:根据待检测日志的属性,确定待检测日志的统计维度。示例性的,待检测日志的属性可以包括但不限于以下之一或任意组合:待检测日志的日志源、待检测日志的严重程度、待检测日志的日志类型。
在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
基于上述技术方案,本申请实施例中,能够利用日志提前发现服务器在未来某个时间发生故障的概率,即能够提前一段时间(如几小时等)预测出服务器故障的概率,这样,在服务器发生故障之前就可以获知服务器故障,在服务器发生故障之前就进行故障恢复,如进行业务迁移等,从而避免服务器故障造成的损失,能够给服务器的稳定性带来极大的提升,提高数据中心的稳定性。
基于与上述方法同样的申请构思,本申请实施例中还提出另一种故障检测方法,参见图2所示,为该故障检测方法的流程示意图,该方法可以包括:
步骤201,针对待检测的服务器,获取服务器的待检测日志。
其中,待检测日志包括但不限于以下之一或者任意组合:基于内存产生的日志、基于操作系统内核产生的日志、基于硬盘产生的日志、基于cpu产生的日志,对此日志类型不做限制,可以是任意类型的日志。
步骤202,根据待检测日志获取服务器的待检测日志特征。
其中,待检测日志特征包括但不限于:统计特征;或者,区别序列模式特征;或者,统计特征和区别序列模式特征,对此待检测日志特征不做限制。
针对根据待检测日志获取统计特征的过程,可以包括:从待检测日志中选取统计时间窗口内的待检测日志,并将选取的待检测日志划分为多个统计维度的待检测日志;根据多个统计维度的待检测日志确定多个统计维度的日志数量;根据多个统计维度的日志数量确定统计特征。例如,针对多个统计维度中的各统计维度,将该统计维度的日志数量确定为统计特征;和/或,将该统计维度的日志数量与相邻统计时间窗口内的该统计维度的日志数量的比例关系(如二者的比值),确定为统计特征。
针对根据待检测日志获取区别序列模式特征的过程,可以包括:从待检测日志中选取统计时间窗口内的待检测日志,并确定统计时间窗口内的各待检测日志的统计维度;然后,根据各待检测日志的统计维度的顺序,确定区别序列模式特征。例如,根据各待检测日志的统计维度的顺序获取统计维度序列,根据该统计维度序列确定区别序列模式特征。
其中,区别序列模式特征可以是用于识别正常服务器的区别序列模式特征;或者,区别序列模式特征可以是用于识别异常服务器的区别序列模式特征。
在上述实施例中,针对待检测日志的统计维度的确定方式,可以包括:根据待检测日志的属性,确定待检测日志的统计维度。示例性的,待检测日志的属性可以包括但不限于以下之一或任意组合:待检测日志的日志源、待检测日志的严重程度、待检测日志的日志类型。
步骤203,根据目标特征模型确定与该待检测日志特征对应的故障信息;其中,该目标特征模型包括样本日志特征与故障信息的映射关系。
步骤204,根据该故障信息检测服务器在未来一段时间内发生故障的概率。
基于上述技术方案,本申请实施例中,能够利用日志提前发现服务器在未来某个时间发生故障的概率,即能够提前一段时间(如几小时等)预测出服务器故障的概率,这样,在服务器发生故障之前就可以获知服务器故障,在服务器发生故障之前就进行故障恢复,如进行业务迁移等,从而避免服务器故障造成的损失,能够给服务器的稳定性带来极大的提升,提高数据中心的稳定性。
基于与上述方法同样的申请构思,本申请实施例中还提出另一种故障检测方法,该方法可以包括:获取服务器的样本性能数据,并根据该样本性能数据获取样本数据特征,并根据该样本数据特征训练目标特征模型;其中,该目标特征模型可以包括样本数据特征与故障信息的映射关系。进一步的,针对待检测的服务器,获取该服务器的待检测性能数据,并根据该待检测性能数据获取待检测数据特征,并根据该目标特征模型确定与该待检测数据特征对应的故障信息;根据该故障信息检测服务器在未来一段时间内发生故障的概率。
在一个例子中,样本性能数据可以为样本日志,也可以为其它类型的数据,比如cpu利用率、内存利用率等,对此不做限制。若样本性能数据为样本日志,则样本数据特征包括样本特征,待检测性能数据包括待检测日志,待检测数据特征包括待检测特征。当然,上述只是几个示例,对此不做限制。
以下结合具体的应用场景,对上述故障检测方法进行详细说明。
数据中心通常会部署大量服务器,这些服务器对外提供服务。一旦服务器发生故障(如宕机故障等),则该服务器无法对外提供服务,导致用户无法正常访问服务器,对数据中心的稳定性和服务的可靠性造成极大影响。因此,若能够提前一段时间(如几小时、甚至是一两天)预测出服务器会在未来一段时间内发生宕机故障,则可以很好的帮助服务器进行业务迁移,避免宕机故障造成的损失,能够给服务器的稳定性带来极大的提升,提高数据中心的稳定性。
在所有的故障类型中,由内存故障导致的宕机故障占比非常大,而通过经验和分析可知,内存故障会伴随着大量异常内存日志的出现,因此,本实施例中提出一种基于内存日志的宕机故障预测方案,能够利用内存日志提前发现服务器会在未来一段时间内发生宕机故障的概率,即能够提前一段时间预测出服务器故障(如宕机故障)的概率,从而在服务器发生故障之前就进行故障恢复。
综上所述,在后续实施例中,以日志是内存日志(即基于内存产生的日志)为例,当日志是其它类型的日志时,如基于操作系统内核产生的日志、基于硬盘产生的日志、基于cpu产生的日志等,实现方式与内存日志的实现方式类似。
其中,内存日志可以是任意类型的内存产生的日志,如dram(dynamicrandomaccessmemory,动态随机存取存储器)介质的内存产生的日志、nvm(nonvolatilememory,非易失性存储器)介质的内存产生的日志等,对此内存日志的类型也不做限制,可以是所有类型的内存产生的日志。
本申请实施例中,可以将故障检测过程划分为训练过程和检测过程。在训练过程中,能够利用大量内存日志训练目标特征模型。在检测过程中,能够利用内存日志和目标特征模型预测服务器在未来一段时间内发生故障的概率。
为了区分方便,本实施例中,将训练过程中的内存日志称为样本内存日志,将训练过程中的日志特征称为样本日志特征。将检测过程中的内存日志称为待检测内存日志,将检测过程中的日志特征称为待检测日志特征。实际上,样本内存日志和检测内存日志的本质是相同的,均是内存日志,只是为了区分方便,将不同阶段的内存日志进行区分。样本日志特征和待检测日志特征的本质是相同的,均是日志特征,只是为了区分方便,将不同阶段的日志特征进行区分。
针对训练过程,参见图3所示,用于实现训练过程的设备(如大量服务器中的任意服务器或者管理设备等,对此不做限制,可以是任意设备,只要能够实现训练过程的功能即可)可以包括:日志采集模块、日志抽象模块、统计分析模块、区别序列模式挖掘模块、特征结合模块、模型训练模块。
日志采集模块:获取多个服务器的样本内存日志,后续以服务器1和服务器2为例进行说明,在实际应用中,服务器的数量远远大于两个。例如,日志采集模块从服务器1采集多个样本内存日志,如样本内存日志101-样本内存日志190等90个样本内存日志。日志采集模块从服务器2采集多个样本内存日志,如样本内存日志201-样本内存日志280等80个样本内存日志。
例如,在服务器1的运行过程中,当服务器1出现内存问题时,就会在日志源中记录内存日志(将其称为样本内存日志)。基于此,日志采集模块可以从服务器1的日志源中采集样本内存日志。在服务器2的运行过程中,当服务器2出现内存问题时,就会在日志源中记录内存日志(将其称为样本内存日志)。基于此,日志采集模块可以从服务器2的日志源中采集样本内存日志。
其中,日志源可以包括但不限于以下一种或者多种:kernlog(内核日志,用于存储内核产生的日志),dmesglog(启动信息日志,用于存储内核缓冲信息),messageslog(信息日志,用于存储系统信息,系统信息包括系统启动期间的日志),commandlog(命令日志/指令日志,用于存储通过带外采集到的内核日志),sellog(即systemeventlog,系统事件日志,用于存储系统事件日志,该系统事件日志用于分析服务器故障原因)等,对此日志源不做限制。
日志源包括各种类型的日志,本文主要针对日志源中的内存日志,日志采集模块从服务器1的所有日志源或者部分日志源中采集样本内存日志,日志采集模块从服务器2的所有日志源或者部分日志源中采集样本内存日志。
日志抽象模块:针对每个样本内存日志,可以根据该样本内存日志的属性,确定该样本内存日志的统计维度。示例性的,该样本内存日志的属性可以包括但不限于以下之一或任意组合:日志源、严重程度、日志类型。当然,上述日志源、严重程度、日志类型只是几个示例,对此样本内存日志的属性不做限制。
其中,日志源可以包括但不限于kernlog、dmesglog、messages、commandlog、sellog等,对此日志源不做限制。严重程度可以包括但不限于recover(可恢复)级别、critical(严重级别)等,对此严重程度不做限制。日志类型可以包括但不限于uce(uncorrectedmemoryerror,无法纠正的内存错误)类型、ce(correctedmemoryerror,可纠正的内存错误)类型等,对此日志类型不做限制。
例如,针对日志源为kernlog、严重程度为recover、日志类型为uce的样本内存日志,则该样本内存日志的统计维度可以为统计维度a。针对日志源为kernlog、严重程度为recover、日志类型为ce的样本内存日志,则该样本内存日志的统计维度可以为统计维度b。针对日志源为kernlog、严重程度为critical、日志类型为uce的样本内存日志,则该样本内存日志的统计维度可以为统计维度c。针对日志源为kernlog、严重程度为critical、日志类型为ce的样本内存日志,则该样本内存日志的统计维度可以为统计维度d。针对日志源为dmesglog、严重程度为recover、日志类型为uce的样本内存日志,则该样本内存日志的统计维度可以为统计维度e,以此类推,对此统计维度不做限制。
在一个例子中,日志抽象模块能够对所有样本内存日志进行统计维度的划分,从而方便后续分析和特征构建。在对所有样本内存日志进行统计维度的划分后,可以得到内存日志数据集,内存日志数据集包括样本内存日志和该样本内存日志的统计维度。例如,样本内存日志101和统计维度a、…、样本内存日志190和统计维度e、样本内存日志201和统计维度b、…、样本内存日志280和统计维度a等,上述统计维度是与样本内存日志对应的统计维度。
统计分析模块:从样本内存日志中选取统计时间窗口内的样本内存日志,并将这些样本内存日志划分为多个统计维度的样本内存日志,然后,根据多个统计维度的样本内存日志确定多个统计维度的日志数量,并根据多个统计维度的日志数量确定统计特征。例如,针对每个统计维度,将该统计维度的日志数量确定为统计特征;和/或,将该统计维度的日志数量与相邻统计时间窗口内的该统计维度的日志数量的比例关系(如二者的比值),确定为统计特征。
在一个例子中,对于所有内存故障导致宕机问题的服务器,通过分析服务器宕机前每个小时的每个统计维度的内存日志数量,可以发现:在从正常到异常的过程中,每个统计维度的内存日志数量增加,而且越靠近宕机问题的发生时刻,内存日志数量越多。基于此,为了反映上述现象,将每个统计维度的日志数量作为统计特征,和/或,将两个相邻统计时间窗口内的同种统计维度的日志数量的比例关系(即同种统计维度的日志数量的比值)作为统计特征。
例如,针对每个服务器的所有样本内存日志(如服务器1的样本内存日志101-样本内存日志190、服务器2的样本内存日志201-样本内存日志280),从服务器1的样本内存日志中选取统计时间窗口1(如第0-1小时)内的样本内存日志、统计时间窗口2(如第1-2小时)内的样本内存日志、统计时间窗口3(如第2-3小时)内的样本内存日志,以此类推。从服务器2的样本内存日志中选取统计时间窗口1(如第0-1小时)内的样本内存日志、统计时间窗口2(如第1-2小时)内的样本内存日志、统计时间窗口3(如第2-3小时)内的样本内存日志,以此类推。为了方便描述,后续以服务器1的样本内存日志为例进行说明。
其中,统计时间窗口的时长可以根据经验进行配置,本应用场景中以1个小时为例,在实际应用中,还可以为30分钟、2小时等,对此不做限制。
然后,针对统计时间窗口1内的所有样本内存日志,可以将这些样本内存日志划分为统计维度a的样本内存日志、统计维度b的样本内存日志、统计维度c的样本内存日志,以此类推。进一步的,确定统计维度a的日志数量a1、统计维度b的日志数量b1、统计维度c的日志数量c1,以此类推。
同理,基于统计时间窗口2内的所有样本内存日志,可以确定统计维度a的日志数量a2、统计维度b的日志数量b2、统计维度c的日志数量c2,以此类推。基于统计时间窗口3内的所有样本内存日志,可以确定统计维度a的日志数量a3、统计维度b的日志数量b3、统计维度c的日志数量c3,以此类推。
针对每个统计时间窗口进行上述处理后,可以得到该统计时间窗口内的每个统计维度的日志数量,并基于每个统计维度的日志数量确定统计特征。
在一个例子中,针对统计时间窗口1,将统计维度a的日志数量a1、统计维度b的日志数量b1、统计维度c的日志数量c1等作为统计特征。针对统计时间窗口2,将统计维度a的日志数量a2、统计维度b的日志数量b2、统计维度c的日志数量c2等作为统计特征。针对统计时间窗口3,统计维度a的日志数量a3、统计维度b的日志数量b3、统计维度c的日志数量c3等作为统计特征。
在另一个例子中,针对统计时间窗口1,将统计维度a的日志数量a1、统计维度a的比例关系(如日志数量a1除以日志数量a0,日志数量a0可以是默认值,也可以是日志数量a1,对此不做限制)、统计维度b的日志数量b1、统计维度b的比例关系(如日志数量b1除以日志数量b0)、统计维度c的日志数量c1、统计维度c的比例关系(如日志数量c1除以日志数量c0)等作为统计特征。
针对统计时间窗口2,将统计维度a的日志数量a2、日志数量a2与日志数量a1的比值、统计维度b的日志数量b2、日志数量b2与日志数量b1的比值、统计维度c的日志数量c2、日志数量c2与日志数量c1的比值等作为统计特征。
针对统计时间窗口3,将统计维度a的日志数量a3、日志数量a3与日志数量a2的比值、统计维度b的日志数量b3、日志数量b3与日志数量b2的比值、统计维度c的日志数量c3、日志数量c3与日志数量c2的比值等作为统计特征。
示例性的,针对服务器1,可以获取7天内的所有样本内存日志,并将7天内的所有样本内存日志划分为168个统计时间窗口(每个统计时间窗口对应1个小时)的样本内存日志,这样,采用上述方式能够得到服务器1的168个统计时间窗口的统计特征。针对服务器2,可以获取7天内的所有样本内存日志,并将7天内的所有样本内存日志划分为168个统计时间窗口的样本内存日志,这样,采用上述方式得到服务器2对应的168个统计时间窗口的统计特征。
区别序列模式挖掘模块:从样本内存日志中选取统计时间窗口内的样本内存日志,确定统计时间窗口内的每个样本内存日志的统计维度,并根据每个样本内存日志的统计维度的顺序,确定区别序列模式特征。具体的,可以根据每个样本内存日志的统计维度的顺序获取统计维度序列,并根据该统计维度序列确定区别序列模式特征。其中,该区别序列模式特征是用于识别正常服务器的区别序列模式特征;或者,用于识别异常服务器的区别序列模式特征。
在一个例子中,可以根据每个样本内存日志的统计维度的顺序获取统计维度序列,例如,对所有统计维度进行去重处理,根据去重处理后的统计维度的顺序确定统计维度序列(每个统计时间窗口对应一个统计维度序列)。
然后,可以基于所有统计时间窗口的统计维度序列确定区别序列模式。例如,基于所有统计时间窗口的统计维度序列,若某个子序列a只出现在正常服务器的样本内存日志的统计维度序列中,则该子序列a可以作为区别序列模式,且子序列a是用于识别正常服务器的区别序列模式。若某个子序列b只出现在异常服务器的样本内存日志的统计维度序列中,则该子序列b可以作为区别序列模式,且子序列b是用于识别异常服务器的区别序列模式。
进一步的,区别序列模式特征是区别序列模式的状态值,该状态值表示某个统计时间窗口对应的统计维度序列包括区别序列模式或者不包括区别序列模式。例如,当状态值为第一标识(如0)时,表示统计维度序列包括区别序列模式,当状态值为第二标识(如1)时,表示统计维度序列不包括区别序列模式。
例如,针对统计时间窗口1,将子序列a对应的状态值0、子序列b对应的状态值1作为区别序列模式特征。子序列a对应的状态值0表示统计时间窗口1对应的统计维度序列包括子序列a,而子序列a是用于识别正常服务器的区别序列模式特征,因此,基于子序列a对应的状态值0确定服务器为正常。
又例如,针对统计时间窗口2,将子序列a对应的状态值1、子序列b对应的状态值0作为区别序列模式特征。子序列b对应的状态值0表示统计时间窗口2对应的统计维度序列包括子序列b,而子序列b是用于识别异常服务器的区别序列模式特征,因此,基于子序列b对应的状态值0确定服务器为异常。
以此类推,采用上述方式可以得到每个统计时间窗口的区别序列模式特征。
在一个例子中,样本内存日志是按照一定时间顺序出现的,将一台服务器中不同的样本内存日志的统计维度的顺序称为统计维度序列,正常服务器的统计维度序列与异常服务器的统计维度序列会有所不同。区别序列模式挖掘模块能够根据正常服务器的统计维度序列和异常服务器的统计维度序列,获取只出现在正常服务器的统计维度序列中的子序列,将该子序列称为区别序列模式(用于识别正常服务器)。区别序列模式挖掘模块能够根据正常服务器的统计维度序列和异常服务器的统计维度序列,获取只出现在异常服务器的统计维度序列中的子序列,将这个子序列称为区别序列模式(用于识别异常服务器)。
例如,假设样本内存日志的统计维度可以包括统计维度a、统计维度b、统计维度c、统计维度d、统计维度e,正常服务器的统计维度序列和异常服务器的统计维度序列参见表1所示。从表1可以看出,子序列r(统计维度e、统计维度d、统计维度a)只出现在异常服务器的统计维度序列中,也就是说,当子序列r出现在服务器的统计维度序列时,这个服务器可能会发生故障,因此,将子序列r称为区别序列模式,且子序列r用于识别异常服务器。
表1
以下结合图4所示的流程图,对区别序列模式特征的获取过程进行说明。
步骤401,区别序列模式挖掘模块从样本内存日志中选取统计时间窗口内的样本内存日志,确定统计时间窗口内的每个样本内存日志的统计维度。
例如,针对每个服务器的所有样本内存日志(如服务器1的样本内存日志101-样本内存日志190、服务器2的样本内存日志201-样本内存日志280),从服务器1的样本内存日志中选取统计时间窗口1(如第0-1小时)内的样本内存日志、统计时间窗口2(如第1-2小时)内的样本内存日志、统计时间窗口3(如第2-3小时)内的样本内存日志,以此类推。从服务器2的样本内存日志中选取统计时间窗口1(如第0-1小时)内的样本内存日志、统计时间窗口2(如第1-2小时)内的样本内存日志、统计时间窗口3(如第2-3小时)内的样本内存日志,以此类推。为了方便描述,后续以服务器1的样本内存日志为例进行说明。
其中,统计时间窗口的时长可以根据经验进行配置,本应用场景中以1个小时为例,在实际应用中,还可以为30分钟、2小时等,对此不做限制。
然后,针对统计时间窗口1内的每个样本内存日志,确定每个样本内存日志的统计维度,如每个样本内存日志的统计维度的顺序依次为统计维度a、统计维度a、统计维度a、统计维度a、统计维度c、统计维度a、统计维度b、统计维度b、统计维度b、统计维度c、统计维度c、统计维度e…,以此类推。
其它统计时间窗口的处理方式参见统计时间窗口1的处理方式,在此不再赘述,这样,能够得到每个统计时间窗口内的样本内存日志的统计维度的顺序。
示例性的,在上述实施例中,以每个服务器的统计时间窗口的时长相同为例,即时长为1个小时。实际应用中,不同服务器的统计时间窗口的时长可以不同,例如,确定服务器是否发生过宕机故障,假设服务器1未发生过宕机故障,则从服务器1的样本内存日志中选取统计时间窗口1(第0-1天)内的样本内存日志、统计时间窗口2(第1-2天)内的样本内存日志、以此类推,统计时间窗口7(第6-7天)内的样本内存日志。假设服务器2在第7天24时发生过宕机故障,则从服务器2的样本内存日志中选取统计时间窗口1(第7天0时-1时)内的样本内存日志、统计时间窗口2(第7天1时-2时)内的样本内存日志、以此类推,统计时间窗口24(第7天23时-24时)内的样本内存日志。
当然,上述只是不同统计时间窗口的示例,对此不做限制,只要约定统计时间窗口即可。基于统计时间窗口对每个服务器的样本内存日志分别处理,即,区别序列模式挖掘模块能够从每个服务器的样本内存日志中选取统计时间窗口内的样本内存日志,并确定统计时间窗口内的每个样本内存日志的统计维度。
步骤402,区别序列模式挖掘模块根据每个样本内存日志的统计维度的顺序获取统计维度序列。具体的,针对每个统计时间窗口,可以对该统计时间窗口内的所有统计维度进行去重处理,并根据去重处理后的统计维度的顺序确定该统计时间窗口的统计维度序列,即每个统计时间窗口对应一个统计维度序列。
例如,每个统计时间窗口中的统计维度的数量比较多,而且有些统计维度会重复出现,为了降低统计时间窗口中的统计维度的数量,降低计算量,可以对统计时间窗口内的所有统计维度进行去重处理,也就是说,若相邻的统计维度相同,则可以将相同的统计维度合并为一个。参见上述实施例,假设统计时间窗口中的统计维度的顺序依次为统计维度a、统计维度a、统计维度a、统计维度a、统计维度c、统计维度a、统计维度b、统计维度b、统计维度b、统计维度c、统计维度c、统计维度e,则合并后的统计维度序列可以为:统计维度a、统计维度c、统计维度a、统计维度b、统计维度c、统计维度e。
综上所述,针对服务器1的每个统计时间窗口,可以得到该统计时间窗口的统计维度序列,并对这些统计维度序列进行标记。假设服务器1未发生过宕机故障,则服务器1的每个统计时间窗口的统计维度序列是正样本,表示是正常服务器的统计维度序列,基于这些统计维度序列确定出来的区别序列模式(即出现在这些统计维度序列中的子序列),用于识别正常服务器。针对服务器2的每个统计时间窗口,可以得到该统计时间窗口的统计维度序列,并对这些统计维度序列进行标记。假设服务器2发生过宕机故障,则服务器2的每个统计时间窗口(如位于宕机故障前的24小时内)的统计维度序列是负样本,表示是异常服务器的统计维度序列,基于这些统计维度序列确定出来的区别序列模式(即出现在这些统计维度序列中的子序列),用于识别异常服务器。当然,上述是以两个服务器为例,实际应用中,服务器数量远远大于2个。
步骤403,区别序列模式挖掘模块基于所有统计时间窗口的统计维度序列确定区别序列模式。例如,基于所有统计时间窗口的统计维度序列,例如,正常服务器的统计维度序列(即正样本)以及异常服务器的统计维度序列(即负样本),可以获取只出现在正常服务器的统计维度序列(即正样本)中的子序列,例如,若子序列a只出现在正常服务器的统计维度序列中,则该子序列a是用于识别正常服务器的区别序列模式。以及,可以获取只出现在异常服务器的统计维度序列(即负样本)中的子序列,例如,若子序列b只出现在异常服务器的统计维度序列中,则该子序列b是用于识别异常服务器的区别序列模式。
在一个例子中,可以采用基于模型的搜索树的区别模型挖掘方法(directminingofdiscriminativeandessentialfrequentpatternsviamodel-basedsearchtree)获取区别序列模式。例如,基于所有统计时间窗口的统计维度序列,可以采用基于模型的搜索树的区别模型挖掘方法获取只出现在正常服务器的统计维度序列中的子序列,和/或,只出现在异常服务器的统计维度序列中的子序列,并将这些子序列作为区别序列模式。当然,上述方式只是示例,对此不做限制,只要能够得到区别序列模式即可,从而高效地得到有效的区别序列模式。
步骤404,区别序列模式挖掘模块根据区别序列模式确定每个统计时间窗口的区别序列模式特征。其中,区别序列模式特征是区别序列模式的状态值,该状态值表示某个统计时间窗口对应的统计维度序列包括区别序列模式或者不包括区别序列模式。例如,当该状态值为第一标识(如0)时,用于表示统计时间窗口对应的统计维度序列包括区别序列模式,当该状态值为第二标识(如1)时,用于表示统计时间窗口对应的统计维度序列不包括区别序列模式。
例如,从服务器1的样本内存日志中选取统计时间窗口1内的样本内存日志、统计时间窗口2内的样本内存日志,以此类推。从服务器2的样本内存日志中选取统计时间窗口1内的样本内存日志、统计时间窗口2内的样本内存日志,以此类推。进一步的,针对服务器1的统计时间窗口1内的每个样本内存日志,可以确定每个样本内存日志的统计维度,并对该统计时间窗口1内的所有统计维度进行去重处理,得到该统计时间窗口的统计维度序列。同理,可以得到服务器1的统计时间窗口2的统计维度序列、…、服务器2的统计时间窗口1的统计维度序列、服务器2的统计时间窗口2的统计维度序列…,以此类推,可以得到每个服务器的每个统计时间窗口的统计维度序列。
针对每个统计时间窗口的统计维度序列,若该统计维度序列包括区别序列模式,则该区别序列模式对应的状态值为第一标识(如0),若该统计维度序列不包括区别序列模式,则该区别序列模式对应的状态值为第二标识(如1)。
例如,针对服务器1的统计时间窗口1,将子序列a对应的状态值、子序列b对应的状态值作为统计时间窗口1的区别序列模式特征。针对服务器2的统计时间窗口1,将子序列a对应的状态值、子序列b对应的状态值作为统计时间窗口1的区别序列模式特征。其中,子序列a是用于识别正常服务器的区别序列模式特征,子序列b是用于识别异常服务器的区别序列模式特征。以此类推,采用上述方式可以得到每个统计时间窗口的区别序列模式特征。
特征结合模块:将统计时间窗口的统计特征和统计时间窗口的区别序列模式特征进行结合,并为统计特征和区别序列模式特征设置标签值,该标签值表示统计特征和区别序列模式特征是正样本还是负样本,正样本表示统计特征和区别序列模式特征是正常服务器的统计特征和区别序列模式特征,负样本表示统计特征和区别序列模式特征是异常服务器的统计特征和区别序列模式特征。
例如,将服务器1的统计时间窗口1的统计特征和区别序列模式特征进行结合,并设置标签值0,标签值0表示正样本,将服务器1的统计时间窗口2的统计特征和区别序列模式特征进行结合,并设置标签值0,以此类推。
将服务器2的统计时间窗口1的统计特征和区别序列模式特征进行结合,并设置标签值1,标签值1表示负样本,将服务器2的统计时间窗口2的统计特征和区别序列模式特征进行结合,并设置标签值1,以此类推。
进一步的,将服务器1的统计时间窗口1的统计特征和区别序列模式特征、标签值0的映射关系输出给模型训练模块;将服务器1的统计时间窗口2的统计特征和区别序列模式特征、标签值0的映射关系输出给模型训练模块;以此类推,将服务器2的统计时间窗口1的统计特征和区别序列模式特征、标签值1的映射关系输出给模型训练模块;将服务器2的统计时间窗口2的统计特征和区别序列模式特征、标签值1的映射关系输出给模型训练模块;以此类推。
模型训练模块:用于根据每个统计时间窗口的统计特征、区别序列模式特征、标签值(表示服务器未故障或服务器已故障,如标签值0表示服务器未故障,标签值1表示服务器已故障)的映射关系,采用训练模型训练目标特征模型,该目标特征模型包括统计特征、区别序列模式特征、故障信息的映射关系。
例如,基于大量的训练数据(如统计特征、区别序列模式特征、标签值的映射关系),能够采用训练模型训练出目标特征模型,对此训练过程不做限制。其中,训练模型可以为随机森林模型,也可以是其它分类模型,对此不做限制。
针对检测过程,参见图3所示,用于实现故障检测的设备(如大量服务器中的每个服务器或者管理设备等)可以包括:日志采集模块、日志抽象模块、统计分析模块、区别序列模式挖掘模块、特征结合模块、模型训练模块。
若由服务器实现故障检测,则将目标特征模型发送给每个服务器,每个服务器可以基于目标特征模型检测本服务器在未来一段时间内发生宕机故障的概率。若由管理设备实现故障检测,则管理设备存储目标特征模型,每个服务器(以服务器1为例)将自身的内存日志发送给管理设备,由管理设备根据服务器1的内存日志检测服务器1在未来一段时间内发生宕机故障的概率。
日志采集模块:以服务器1的故障检测过程为例,获取服务器1的待检测内存日志,例如,从服务器1的日志源中采集待检测内存日志,对此不做限制。
日志抽象模块:针对每个待检测内存日志,可以根据该待检测内存日志的属性,确定该待检测内存日志的统计维度。其中,该待检测内存日志的属性可以包括但不限于以下之一或任意组合:日志源、严重程度、日志类型。
统计分析模块:从待检测内存日志中选取统计时间窗口内的待检测内存日志,假设统计时间窗口的时长为1小时,则获取服务器1在最近1个小时(可以包括当前时刻)的待检测内存日志,后续称为统计时间窗口a的待检测内存日志。将统计时间窗口a的待检测内存日志划分为多个统计维度的待检测内存日志,根据多个统计维度的待检测内存日志确定多个统计维度的日志数量,并根据多个统计维度的日志数量确定统计特征。例如,针对每个统计维度,将该统计维度的日志数量确定为统计特征;和/或,将该统计维度的日志数量与相邻统计时间窗口内的该统计维度的日志数量的比例关系,确定为统计特征。
区别序列模式挖掘模块:从待检测内存日志中选取统计时间窗口内的待检测内存日志,假设统计时间窗口的时长为1小时,则获取服务器1在最近1个小时(可以包括当前时刻)的待检测内存日志,后续称为统计时间窗口a的待检测内存日志。确定统计时间窗口a内的每个待检测内存日志的统计维度,并根据每个待检测内存日志的统计维度的顺序,确定区别序列模式特征。例如,根据每个待检测内存日志的统计维度的顺序获取统计维度序列,并根据该统计维度序列确定区别序列模式特征。其中,区别序列模式特征是用于识别正常服务器的区别序列模式特征,或者,用于识别异常服务器的区别序列模式特征。
例如,针对统计时间窗口a内的每个待检测内存日志,可以确定每个待检测内存日志的统计维度,并对统计时间窗口a内的所有统计维度进行去重处理,得到统计时间窗口a的统计维度序列。区别序列模式特征包括区别序列模式(即上述实施例确定的区别序列模式)对应的状态值,若该统计维度序列包括区别序列模式,则该区别序列模式对应的状态值为第一标识(如0),若该统计维度序列不包括区别序列模式,则该区别序列模式对应的状态值为第二标识(如1)。
假设区别序列模式为子序列a和子序列b,则区别序列模式特征包括子序列a对应的状态值、子序列b对应的状态值。子序列a是用于识别正常服务器的区别序列模式特征,子序列b是用于识别异常服务器的区别序列模式特征。
特征结合模块:将统计时间窗口a的统计特征和统计时间窗口a的区别序列模式特征进行结合,将统计特征和区别序列模式特征输出给模型训练模块。
模型训练模块:基于该统计特征和该区别序列模式特征查询目标特征模型中的映射关系(即统计特征、区别序列模式特征、故障信息的映射关系),确定与该统计特征和该区别序列模式特征对应的故障信息,并根据该故障信息检测服务器1在未来一段时间内发生故障(如宕机故障)的概率。
例如,参见上述实施例,已经训练好目标特征模型,该目标特征模型包括统计特征、区别序列模式特征、故障信息的映射关系,该故障信息表示未来一段时间内发生故障的概率,如未来1小时发生故障的概率、未来2小时发生故障的概率、未来3小时发生故障的概率等,对此故障信息不做限制。
在检测过程中,模型训练模块可以将统计时间窗口a的统计特征和区别序列模式特征输出给目标特征模型,目标特征模型能够基于所述映射关系,得到与该统计特征和该区别序列模式特征对应的故障信息,继而确定服务器1在未来一段时间内发生故障的概率。例如,若故障信息表示未来1小时会发生故障的概率是0%、未来2小时会发生故障的概率是10%、未来3小时会发生故障的概率是70%,则根据该故障信息检测服务器1在未来3小时内可能会发生故障。
其中,检测过程中各模块(如日志采集模块、日志抽象模块、统计分析模块、区别序列模式挖掘模块、特征结合模块、模型训练模块等)的相关处理,可以参见训练过程中各模块的相关处理,在此不再重复赘述。
在上述实施例中,是基于内存日志的统计特征和区别序列模式特征进行故障检测,实际应用中,还可以将内存日志的统计特征和区别序列模式特征、与其它数据来源的特征(如基于机器性能数据的统计特征、基于静态信息的特征等)进行结合,即将多种类型的特征进行组合并建模,对此不再赘述。
基于上述技术方案,本申请实施例中,能够利用内存日志提前发现服务器在未来某个时间发生故障的概率,即能够提前一段时间(如几小时等)预测出服务器故障的概率,这样,在服务器发生故障之前可以获知服务器故障,在服务器发生故障之前进行故障恢复,如进行业务迁移等,从而避免服务器故障造成的损失,能够给服务器的稳定性带来极大的提升,提高数据中心的稳定性。
基于与上述方法同样的申请构思,本申请实施例提供一种故障检测装置,如图5所示,为所述故障检测装置的结构图,所述故障检测装置包括:
获取模块51,用于获取服务器的样本日志;
根据所述样本日志获取样本日志特征;
训练模块52,用于根据所述样本日志特征训练目标特征模型;其中,所述目标特征模型包括样本日志特征与故障信息的映射关系;所述目标特征模型用于根据所述映射关系检测服务器在未来一段时间内发生故障的概率。
在一个例子中,所述样本日志特征可以包括但不限于:统计特征;或者,区别序列模式特征;或者,统计特征和区别序列模式特征。
所述获取模块51根据所述样本日志获取统计特征时具体用于:
从所述样本日志中选取统计时间窗口内的样本日志;
将选取的样本日志划分为多个统计维度的样本日志;
根据多个统计维度的样本日志确定多个统计维度的日志数量;
根据所述多个统计维度的日志数量确定统计特征。
所述获取模块51根据所述多个统计维度的日志数量确定统计特征时具体用于:针对所述多个统计维度中的各统计维度,将所述统计维度的日志数量确定为统计特征;和/或,将所述统计维度的日志数量与相邻统计时间窗口内的所述统计维度的日志数量的比例关系,确定为统计特征。
所述获取模块51根据所述样本日志获取区别序列模式特征时具体用于:从所述样本日志中选取统计时间窗口内的样本日志;
确定所述统计时间窗口内的各样本日志的统计维度;
根据所述各样本日志的统计维度的顺序,确定区别序列模式特征。
所述获取模块51根据所述各样本日志的统计维度的顺序,确定区别序列模式特征时具体用于:根据所述各样本日志的统计维度的顺序,获取统计维度序列;根据所述统计维度序列确定所述区别序列模式特征;
其中,所述区别序列模式特征是用于识别正常服务器的区别序列模式特征;或者,所述区别序列模式特征是用于识别异常服务器的区别序列模式特征。
所述获取模块51还用于:根据所述样本日志的属性,确定所述样本日志的统计维度;其中,所述样本日志的属性包括以下之一或任意组合:样本日志的日志源、样本日志的严重程度、样本日志的日志类型。
所述训练模块52根据所述样本日志特征训练目标特征模型时具体用于:
将所述样本日志特征和所述样本日志特征的标签值输出给训练模型,以使所述训练模型根据所述样本日志特征和所述样本日志特征的标签值训练目标特征模型;其中,若所述样本日志特征是正常服务器的样本日志的样本日志特征,则所述标签值用于表示服务器未故障;若所述样本日志特征是异常服务器的样本日志的样本日志特征,则所述标签值用于表示服务器已故障。
所述获取模块51还用于:针对待检测的服务器,获取所述服务器的待检测日志;根据所述待检测日志获取所述服务器的待检测日志特征;
在一个例子中,所述故障检测装置还包括(图中未示出):确定模块,用于根据所述目标特征模型确定与所述待检测日志特征对应的故障信息;检测模块,用于根据所述故障信息检测所述服务器在未来一段时间内发生故障的概率。
基于与上述方法同样的申请构思,本申请实施例提供一种故障检测装置,如图6所示,为所述故障检测装置的结构图,所述故障检测装置包括:
获取模块61,用于针对待检测的服务器,获取所述服务器的待检测日志;根据所述待检测日志获取所述服务器的待检测日志特征;
确定模块62,用于根据目标特征模型确定与所述待检测日志特征对应的故障信息;其中,所述目标特征模型包括样本日志特征与故障信息的映射关系;
检测模块63,用于根据所述故障信息检测所述服务器在未来一段时间内是发生故障的概率。
在一个例子中,所述待检测日志特征可以包括但不限于:统计特征;或者,区别序列模式特征;或者,统计特征和区别序列模式特征。
所述获取模块61根据所述待检测日志获取统计特征时具体用于:
从所述待检测日志中选取统计时间窗口内的待检测日志;
将选取的待检测日志划分为多个统计维度的待检测日志;
根据多个统计维度的待检测日志确定多个统计维度的日志数量;
根据所述多个统计维度的日志数量确定统计特征。
所述获取模块61根据所述待检测日志获取区别序列模式特征时具体用于:从所述待检测日志中选取统计时间窗口内的待检测日志;
确定所述统计时间窗口内的各待检测日志的统计维度;
根据所述各待检测日志的统计维度的顺序,确定区别序列模式特征。
基于与上述方法同样的申请构思,本申请实施例还提供一种故障检测设备,包括:处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
获取服务器的样本日志;
根据所述样本日志获取样本日志特征;
根据所述样本日志特征训练目标特征模型;其中,所述目标特征模型包括样本日志特征与故障信息的映射关系;所述目标特征模型用于根据所述映射关系检测服务器在未来一段时间内发生故障的概率。
本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令;所述计算机指令被执行时进行如下处理:
获取服务器的样本日志;
根据所述样本日志获取样本日志特征;
根据所述样本日志特征训练目标特征模型;其中,所述目标特征模型包括样本日志特征与故障信息的映射关系;所述目标特征模型用于根据所述映射关系检测服务器在未来一段时间内发生故障的概率。
基于与上述方法同样的申请构思,本申请实施例还提供一种故障检测设备,包括:处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
针对待检测的服务器,获取所述服务器的待检测日志;
根据所述待检测日志获取所述服务器的待检测日志特征;
根据目标特征模型确定与所述待检测日志特征对应的故障信息;
根据所述故障信息检测所述服务器在未来一段时间内发生故障的概率;
其中,所述目标特征模型包括样本日志特征与故障信息的映射关系。
本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令;所述计算机指令被执行时进行如下处理:
针对待检测的服务器,获取所述服务器的待检测日志;
根据所述待检测日志获取所述服务器的待检测日志特征;
根据目标特征模型确定与所述待检测日志特征对应的故障信息;
根据所述故障信息检测所述服务器在未来一段时间内发生故障的概率;
其中,所述目标特征模型包括样本日志特征与故障信息的映射关系。
参见图7所示,为本申请实施例中的故障检测设备的结构图,所述故障检测设备可以包括:处理器71,网络接口72,总线73,存储器74。存储器74可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据等等。例如,存储器74可以是:ram(radomaccessmemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等)。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。