本申请涉及数据处理
技术领域:
:,尤其涉及一种服务器故障发现方法、装置、电子设备及存储介质。
背景技术:
::目前大量互联网用户采购批量服务器,且随着远程管理技术的逐渐成熟,对服务器的管理不再依赖于服务器所在机房本地管理,而是通过网络远程控制。服务器在运行中,难免会出现硬件损坏的情况,如果不通过bmc(baseboardmanagementcontroller,主板管理控制器)检查则无法及时发现问题,可能对后期服务器运行的稳定性带来影响,所以需要定时对所有服务器bmc日志进行检查。但是,由于不同的厂商的服务器对bmc日志内容的中对故障定义的语言格式不同,因此,在确定各厂商的服务器故障时,需要分别进行检查和确定,不利于对服务器进行统一的管理,对生产系统造成一定的影响。技术实现要素:本申请提供了一种服务器故障发现方法、装置、电子设备及存储介质,用以解决相关技术中,在确定各厂商的服务器故障时,需要分别进行检查和确定,不利于对服务器进行统一的管理,对生产系统造成一定的影响的问题。第一方面,本申请提供了一种服务器故障发现方法,应用于目标服务器,包括:获取主板管理控制器bmc日志;获取管理服务器发送的信息库,所述信息库包括至少一个故障文本,所述故障文本中包括至少两个所述目标服务器故障信息的规则数据,所述规则数据是基于各所述目标服务器发送的历史bmc日志确定的;将所述bmc日志的日志内容与所述信息库中的所述故障文本的规则数据进行匹配,以确定所述目标服务器中的故障事项;将所述故障事项发送至管理服务器,以通过所述管理服务器进行故障报修。可选的,所述将所述bmc日志的日志内容与所述信息库中的所述故障文本的规则数据进行匹配,以确定所述目标服务器中的故障事项,包括:解析所述故障文本中的规则数据,得到所述规则数据的数据模式;判断所述bmc日志的日志内容是否满足所述数据模式;若满足,确定所述bmc日志中包括所述规则数据对应的故障信息;根据所述故障信息确定所述目标服务器中的故障事项。可选的,所述获取主板管理控制器bmc日志,包括:基于ipmi服务获取所述bmc日志。第二方面,本申请提供了一种服务器故障发现方法,应用于管理服务器,包括:向至少两个目标服务器发送信息库,所述信息库包括至少一个故障文本,所述故障文本中包括所述目标服务器故障信息的规则数据,所述规则数据是基于所述目标服务器发送的历史bmc日志确定的;获取所述目标服务器发送的故障事项,所述故障事项是由每个目标服务器将各自获取的bmc日志的日志内容与所述信息库中的所述故障文本的规则数据进行匹配确定的;对所述故障事项对应的所述目标服务器进行故障报修。可选的,所述对所述故障事项对应的所述目标服务器进行故障报修之后,包括:获取所述目标服务器发送的所述bmc日志;确定所述bmc日志中,未与所述信息库匹配的目标bmc日志;获取监控系统发送的所述目标服务器发生故障的故障时间;根据所述故障时间,在所述目标bmc日志中确定子目标bmc日志;获取根据所述子目标bmc日志的日志内容,确定的新的规则数据;将所述新的规则数据更新到所述信息库中。可选的,所述获取所述目标服务器发送的所述bmc日志之后,还包括:对所述bmc日志添加文件标识,所述文件标识用于区分所述目标服务器;将所述bmc日志和所述文件标识对应存储在预设目录中,以在获取所述故障时间后,通过所述文件标识确定所述目标服务器对应的所述目标bmc日志和所述子目标bmc日志。第三方面,本申请提供了一种服务器故障发现装置,包括:第一获取模块,用于获取主板管理控制器bmc日志;第二获取模块,用于获取管理服务器发送的信息库,所述信息库包括至少一个故障文本,所述故障文本中包括至少两个所述目标服务器故障信息的规则数据,所述规则数据是基于各所述目标服务器发送的历史bmc日志确定的;匹配模块,用于将所述bmc日志的日志内容与所述信息库中的所述故障文本的规则数据进行匹配,以确定所述目标服务器中的故障事项;发送模块,用于将所述故障事项发送至管理服务器,以通过所述管理服务器进行故障报修。第四方面,本申请提供了一种服务器故障发现装置,包括:第三获取模块,用于向至少两个目标服务器发送信息库,所述信息库包括至少一个故障文本,所述故障文本中包括所述目标服务器故障信息的规则数据,所述规则数据是基于所述目标服务器发送的历史bmc日志确定的;第四获取模块,用于获取所述目标服务器发送的故障事项,所述故障事项是由每个目标服务器将各自获取的bmc日志的日志内容与所述信息库中的所述故障文本的规则数据进行匹配确定的;报修模块,用于对所述故障事项对应的所述目标服务器进行故障报修。第五方面,本申请提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;所述存储器,用于存储计算机程序;所述处理器,用于执行所述存储器中所存储的程序,实现第一方面或第二方面所述的服务器故障发现方法。第六方面,本申请提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或第二方面所述的服务器故障发现方法。本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方法,目标服务器在获取主板管理控制器bmc日志和管理服务器发送的信息库后,将所述bmc日志的日志内容与所述信息库中的所述故障文本的规则数据进行匹配,以确定所述目标服务器中的故障事项,由于所述信息库包括至少一个故障文本,所述故障文本中包括所述目标服务器故障信息的规则数据,所述规则数据是基于所述目标服务器发送的历史bmc日志确定的;通过故障文本中的规则数据,对故障信息的数据格式进行统一,从而使不同厂商在面对同一故障信息时,可以使用同一规则数据进行故障确定,并且,若某一厂商未出现信息库中的某一故障,可以在其出现该故障时,可以基于信息库中的故障文本确定故障事项,进而将所述故障事项发送至管理服务器,以通过所述管理服务器进行故障报修。通过设置信息库,并通过对信息库中的故障文本的规则数据,对目标服务器中同一故障信息进行确定和发现,实现了目标服务器的统一管理,提高了生产系统的效率。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。图1为本申请实施例中服务器故障发现具体过程示意图;图2为本申请另一实施例中服务器故障发现具体过程示意图;图3为本申请又一实施例中服务器故障发现具体过程示意图;图4为本申请实施例中服务器故障发现装置结构示意图;图5为本申请另一实施例中服务器故障发现装置结构示意图;图6为本申请实施例中电子设备结构示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。本申请实施例提供了一种服务器故障发现方法,该方法可以应用于任意一种形式的电子设备中,如服务器中。如图1所示,该服务器故障发现方法,应用于目标服务器,包括:步骤101、获取主板管理控制器bmc日志。一些实施例中,目标服务器获取主板管理控制器(baseboardmanagementcontroller,bmc)日志的方式有多种,由于各厂商获取bmc日志的工具不同,会导致获取不便,本实施例中,基于ipmi服务获取bmc日志。其中,智能平台管理接口(intelligentplatformmanagementinterface,ipmi)是一种标准的监视接口,支持远程监视,不需要计算机操作系统的许可。因此,通过ipmi服务获取bmc日志,可以克服各厂商由于工具不统一,导致的bmc日志获取不便的问题。其中,主板管理控制器(baseboardmanagementcontroller,bmc)日志中记录了服务器迎检状态及信息,通过获取bmc日志,可以及时通过bmc日志发现服务器故障。进一步的,基于ipmi服务获取bmc日志包括:启动ipmi服务,调用ipmi服务的执行指令,基于执行指令获取bmc日志。具体的,服务器在进行交付时,在装机系统中进行配置,即通过biossetup选项功能设置,确定ipmi为启动状态,并在设置完毕后,重启系统使bios设置生效,从而启动ipmi服务。在获取bmc日志时,需要先通过linux系统安装openipmi(开启ipmi)服务,并加载读取bmc日志的相关内核模块,调用执行命令,从而获取服务器bmc日志。其中,执行命令可以为ipmitoolselelist。一些实施例中,目标服务器获取bmc日志的时间间隔可以设置为每分钟获取一次。可以理解的是,在目标服务器获取了bmc日志后,可以将bmc日志发送至管理服务器,由管理服务器根据存储的信息库,确定目标服务器中的故障事项。但是,由于管理服务器中,对bmc日志获取的频次远远低于目标服务器本身的获取次数,并且,目标服务器只会在出现新的故障后,才会更新,因此,有目标服务器直接根据信息库进行故障发现,可以保障故障发现的及时性,以快速解决故障。步骤102、获取管理服务器发送的信息库,信息库包括至少一个故障文本,故障文本中包括至少两个目标服务器故障信息的规则数据,规则数据是基于各目标服务器发送的历史bmc日志确定的。一些实施例中,目标服务器会将已获取的bmc日志(历史bmc日志)全部发送至管理服务器中,管理服务器根据历史bmc日志确定信息库。具体的,基于各目标服务器发送的历史bmc日志确定规则数据,包括:在目标服务器上的监控系统会实时监测目标服务器是否正常运行,在监测到目标服务器异常运行后,会记录该目标服务器发生故障的故障时间段,由于历史bmc日志中记录了该日志的发生时间,因此,管理服务器可以在历史bmc日志的发生时间中找到在故障时间段预设范围内的目标历史bmc日志,将这些目标历史bmc日志提取出来。对于不同的服务器故障,日志内容是不相同的,而相同的服务器故障的日志内容可能也会不同,为了在某一故障发生时,能够及时发现,通过提取目标历史bmc日志中日志内容,对日志内容进行分析,确定故障相同时,不同日志内容中的相同部分和不同部分。将不同日志内容中不同部分进行整理、总结、汇总,得到特征替代部分,将相同部分和特征替代部分,作为该故障的规则数据。其中,预设范围大于该故障时间段,具体的,预设范围可以根据实际情况进行设置,此处不做限定。其中,故障文本中包括发生故障的设备类型和发生状况。参照以下故障库的具体实例:其中:"cpu":["processor_#0x..\\|ierr_.cpu_[0-9].*\\|asserted"]和"memory":["memory_#0x..\\|uncorrectable_ecc\\|asserted")]为不同的故障文本。其中,上述故障库实例中,第一行的cpu(中央处理器)和第四行memory(内存)表示发生故障的设备类型,第二行的"processor_#0x..\\|ierr_.cpu_[0-9].*\\|asserted"和第五行的"memory_#0x..\\|uncorrectable_ecc\\|asserted")均表示发生状况。其中,[0-9]表示cpu的编号。基于上述实施例,在确定目标历史bmc日志中的所有故障文本的故障规则后,将各目标服务器的故障文本均存储至信息库,从而发送至目标服务器中进行故障发现,如此,在某一目标服务器未发生某一故障时,由于其他目标服务器已发生过该故障,并根据该故障的bmc日志得到故障文本,从而该目标服务器在发生该故障时,也能够被及时发现。步骤103、将bmc日志的日志内容与信息库中的故障文本的规则数据进行匹配,以确定目标服务器中的故障事项。一些实施例中,由于信息库中的故障文本中的规则数据,是根据目标服务器中的曾发生故障的bmc日志确定的,因此,任一目标服务器在获取到信息库后,均可以通过故障文本中的规则数据确定故障事项。具体的,将bmc日志的日志内容与信息库中的故障文本的规则数据进行匹配,以确定目标服务器中的故障事项,包括:解析故障文本中的规则数据,得到规则数据的数据模式;判断bmc日志的日志内容是否满足数据模式;若满足,确定bmc日志中包括规则数据对应的故障信息;根据故障信息确定目标服务器中的故障事项。参照上述相关实施例,故障文本的规则数据中包括发生故障的设备类型和发生状况,其中,目标服务器在获取到信息库后,先对规则数据进行解析,确定规则数据中的数据模式。上述实施例中,以cpu故障为例,在该故障文本中,规则数据包括"processor_#0x..\\|ierr_.cpu_[0-9].*\\|asserted",其中,processor表示处理器),ierr表示内部错误,“0x..”表示该位置可以为任意两个字符,asserted表示将信号变为有效,“_.”表示该位置可以为任意一个字符,“.*”表示该位置可以为任意多个字符。由于在故障日志中,上述字符位置中字符不相同,但是可以确定出相同故障,因此,通过设置规则数据,保证该类型的故障被及时发现。步骤104、将故障事项发送至管理服务器,以通过管理服务器进行故障报修。一些实施例中,管理服务器中设置有用于报障的故障维修接口,在确定目标服务器的故障事项后,目标服务器将故障事项发送至管理服务器的故障维修接口,通过管理服务器进行故障报修,进而由相关人员对目标服务器进行维修。本申请中,目标服务器在获取主板管理控制器bmc日志和管理服务器发送的信息库后,将bmc日志的日志内容与信息库中的故障文本的规则数据进行匹配,以确定目标服务器中的故障事项,由于信息库包括至少一个故障文本,故障文本中包括目标服务器故障信息的规则数据,规则数据是基于目标服务器发送的历史bmc日志确定的;通过故障文本中的规则数据,对故障信息的数据格式进行统一,从而使不同厂商在面对同一故障信息时,可以使用同一规则数据进行故障确定,并且,若a厂商的服务器未出现信息库中的c故障,而b厂商的服务器出现过该c故障,并且基于故障日志确定了故障文本并且保存在故障库中,可以在a厂商的服务器出现c故障时,基于信息库中的故障文本确定a厂商的服务器的故障事项,进而将故障事项发送至管理服务器,以通过管理服务器进行故障报修。通过设置信息库,并通过对信息库中的故障文本的规则数据,对目标服务器中同一故障信息进行确定和发现,实现了目标服务器的统一管理,提高了生产系统的效率。本申请另一实施例提供了一种服务器故障发现方法,该方法可以应用于任意一种形式的电子设备中,如服务器中。如图2所示,该服务器故障发现方法,应用于管理服务器,包括:步骤201、向至少两个目标服务器发送信息库,信息库包括至少一个故障文本,故障文本中包括目标服务器故障信息的规则数据,规则数据是基于目标服务器发送的历史bmc日志确定的。一些实施例中,管理服务器在根据历史bmc日志,得到信息库后,向其管理的至少两个目标服务器发送信息库,从而,使目标服务器基于信息库发现故障事项。其中,管理服务器根据历史bmc日志确定规则数据,得到信息库的具体过程可以参照上述相关实施例,此处不再赘述。步骤202、获取目标服务器发送的故障事项,故障事项是由每个目标服务器将各自获取的bmc日志的日志内容与信息库中的故障文本的规则数据进行匹配确定的。一些实施例中,目标服务器的数量为两个或两个以上,管理服务器在获取到各目标服务器发送的故障事项后,便可以根据故障事项对对应的目标服务器进行报修。其中,确定上述故障事项的具体过程可以参照上述相关实施例,此处不再赘述。步骤203、对故障事项对应的目标服务器进行故障报修。一些实施例中,对目标服务器进行故障报修时,具体可以为将故障事项记录在数据库中,从而可以根据数据库中信息,联系厂商更换硬件。其中,故障事项包括目标服务器对应的厂商、服务器标识、设备类型和bmc日志。进一步的,对故障事项对应的目标服务器进行故障报修之后,对信息库进行更新,具体包括:步骤301、获取目标服务器发送的bmc日志。一些实施例中,管理服务器获取bmc日志的间隔时间可以较长于目标服务器获取bmc日志的间隔时间,通常,目标服务器发生新的故障事项的频次较低,因此,可以在较长一段时间获取目标服务器的bmc日志,从而确定是否有新的故障发生,其中,较长一段时间可以为每天或每12小时获取一次。步骤302、确定bmc日志中,未与信息库匹配的目标bmc日志。一些实施例中,管理服务器获取到bmc日志后,会将bmc日志与管理服务器中的信息库进行匹配,其中,匹配成功的则为已报障的日志,未匹配成功的包括正常bmc日志和未进行报障的bmc日志,将未匹配成功的bmc日志作为目标bmc日志。其中,匹配过程可以参照上述相关实施例,此处不再赘述。步骤303、获取监控系统发送的目标服务器发生故障的故障时间段。一些实施例中,在目标服务器上的监控系统会实时监测目标服务器是否正常运行,在监测到目标服务器异常运行后,会记录该目标服务器发生故障的故障时间。步骤304、根据故障时间段,在目标bmc日志中确定子目标bmc日志。具体的,由于bmc日志中记录了该日志的发生时间,因此,管理服务器可以在bmc日志的发生时间中找到在故障时间段预设范围内的子目标bmc日志,将这些子目标bmc日志提取出来。步骤305、获取根据子目标bmc日志的日志内容,确定的新的规则数据。其中,根据日志内容确定规则数据的过程可以参照上述相关实施例,此处不再赘述。步骤306、将新的规则数据更新到信息库中。本实施例中,通过间隔一段时间,对管理服务器的信息库进行更新,以使后续目标服务器在出现新的故障后,能够及时被发现。进一步的,在获取目标服务器发送的bmc日志之后,对bmc日志添加文件标识,文件标识用于区分目标服务器;将bmc日志和文件标识对应存储在预设目录中,以在获取故障时间后,通过文件标识确定目标服务器对应的目标bmc日志和子目标bmc日志。一些实施例中,在各目标服务器发送的bmc日志中,与故障时间一致的可能会有多个,通过对日志信息添加文件标识,可以使管理服务器直接根据文件标识,确定对应的目标服务器。可以理解的是,上述管理服务器可以是由一个服务器对多个目标服务器进行日志信息的获取、目标故障信息库的更新以及故障报修的,也可以是多个实现上述不同功能的多个服务器共同作为管理服务器完成的。图1至图3为一个实施例提供的服务器故障发现方法的流程示意图。应该理解的是,虽然图1至图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1至图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。基于同一构思,本申请实施例中提供了一种服务器故障发现装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述。如图4所示,该装置主要包括:第一获取模块401,用于第一获取模块,用于获取主板管理控制器bmc日志;第二获取模块402,用于获取管理服务器发送的信息库,信息库包括至少一个故障文本,故障文本中包括至少两个目标服务器故障信息的规则数据,规则数据是基于各目标服务器发送的历史bmc日志确定的;匹配模块403,用于将bmc日志的日志内容与信息库中的故障文本的规则数据进行匹配,以确定目标服务器中的故障事项;发送模块404,用于将故障事项发送至管理服务器,以通过管理服务器进行故障报修。基于同一构思,本申请另一实施例中提供了一种服务器故障发现装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述。如图5所示,该装置主要包括:第三获取模块501,用于向至少两个目标服务器发送信息库,信息库包括至少一个故障文本,故障文本中包括目标服务器故障信息的规则数据,规则数据是基于目标服务器发送的历史bmc日志确定的;第四获取模块502,用于获取目标服务器发送的故障事项,故障事项是由每个目标服务器将各自获取的bmc日志的日志内容与信息库中的故障文本的规则数据进行匹配确定的;报修模块503,用于对故障事项对应的目标服务器进行故障报修。基于同一构思,本申请实施例中还提供了一种电子设备,如图6所示,该电子设备主要包括:处理器601、通信接口602、存储器603和通信总线604,其中,处理器601、通信接口602和存储器603通过通信总线604完成相互间的通信。其中,存储器603中存储有可被至处理器601执行的程序,处理器601执行存储器603中存储的程序,实现如下步骤:获取主板管理控制器bmc日志;获取管理服务器发送的信息库,信息库包括至少一个故障文本,故障文本中包括至少两个目标服务器故障信息的规则数据,规则数据是基于各目标服务器发送的历史bmc日志确定的;将bmc日志的日志内容与信息库中的故障文本的规则数据进行匹配,以确定目标服务器中的故障事项;将故障事项发送至管理服务器,以通过管理服务器进行故障报修。或,向至少两个目标服务器发送信息库,信息库包括至少一个故障文本,故障文本中包括目标服务器故障信息的规则数据,规则数据是基于目标服务器发送的历史bmc日志确定的;获取目标服务器发送的故障事项,故障事项是由每个目标服务器将各自获取的bmc日志的日志内容与信息库中的故障文本的规则数据进行匹配确定的;对故障事项对应的目标服务器进行故障报修。上述电子设备中提到的通信总线604可以时外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线604可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口602用于上述电子设备与其他设备之间的通信。存储器603可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器601的存储装置。上述的处理器601可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等,还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。在本申请的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述实施例中所描述的服务器故障发现方法。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。该计算机可以时通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、微波等)方式向另外一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如dvd)或者半导体介质(例如固态硬盘)等。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。当前第1页12当前第1页12