一种故障日志生成方法以及装置

文档序号:1952565 发布日期:2021-12-10 浏览:18次 >En<

阅读说明:本技术 一种故障日志生成方法以及装置 (Fault log generation method and device ) 是由 厉瑞长 于 2021-08-25 设计创作,主要内容包括:本说明书提供一种故障日志生成方法以及装置,涉及通信技术领域。一种故障日志生成方法,应用于服务器的BMC,包括:加载所获取到的XML配置文件,其中,XML配置文件中包含有一个或多个与事件码相对应的解析函数;收集故障信息;根据故障信息确定与该故障信息相对应的目标事件码;从XML配置文件中确定出与目标事件码相对应的解析函数;根据解析函数对故障信息进行解析,生成故障描述;向管理设备发送携带有故障信息、目标事件码和故障描述的告警消息,以使管理设备生成故障日志。通过上述方法,能够提升服务器对故障信息进行收集和展示的可靠性。(The specification provides a fault log generation method and a fault log generation device, and relates to the technical field of communication. A fault log generation method is applied to a BMC of a server and comprises the following steps: loading the obtained XML configuration file, wherein the XML configuration file comprises one or more analysis functions corresponding to the event codes; collecting fault information; determining a target event code corresponding to the fault information according to the fault information; determining an analytic function corresponding to the target event code from the XML configuration file; analyzing the fault information according to an analysis function to generate a fault description; and sending an alarm message carrying fault information, a target event code and a fault description to the management equipment so that the management equipment generates a fault log. By the method, the reliability of the server for collecting and displaying the fault information can be improved.)

一种故障日志生成方法以及装置

技术领域

本说明书涉及通信技术领域,尤其涉及一种故障日志生成方法以及装置。

背景技术

随着大数据、云计算技术的应用与发展,人们对于服务器的需求也越来越高,因此,服务器的运行状态需要随时被关注。

在服务器中可以通过设置BMC(基板管理控制器,Baseboard ManagementController)对服务器的硬件状态进行监控,并实现对于服务器的管理。在部署时,多台服务器可以安装到一台机框上,针对多台服务器可以配置有一台管理设备,该管理设备可以与多台服务器的BMC相连接,以实现对多台服务器的运行状态以及故障信息的汇总和展示。

在服务器出现故障时,BMC可以收集针对该故障的故障信息,该故障信息是以编码的形式进行记录,该故障信息被称为原始数据。BMC根据所配置的解析方式对原始数据进行分析,以生成事件日志发送至管理设备进行展示,以使客户能够在管理设备的管理界面上快速地确认服务器所发生的故障。

但是,在当前的实现中,针对解析方式的配置是绑定于BMC的固件,每次对解析方式进行的更新,需要更新BMC固件的形式完成,占用较多的时间,如这段时间中服务器出现故障,则BMC可能无法记录下该次故障的故障信息,从而服务器针对故障信息的遗漏,降低了服务器的可靠性。

发明内容

为克服相关技术中存在的问题,本说明书提供了一种故障日志生成方法以及装置。

结合本说明书实施方式的第一方面,本申请提供了一种故障日志生成方法,应用于服务器的BMC,包括:

加载所获取到的XML配置文件,其中,XML配置文件中包含有一个或多个与事件码相对应的解析函数;

收集故障信息;

根据故障信息确定与该故障信息相对应的目标事件码;

从XML配置文件中确定出与目标事件码相对应的解析函数;

根据解析函数对故障信息进行解析,生成故障描述;

向管理设备发送携带有故障信息、目标事件码和故障描述的告警消息,以使管理设备生成故障日志。

可选的,故障描述包括:目标事件码和至少一个描述字段;

根据解析函数对故障信息进行解析,生成故障描述,包括:

根据解析函数和故障信息确定至少一个描述字段的字段值;

对至少一个描述字段的字段值进行拼接,生成故障描述。

可选的,在加载所获取到的XML配置文件之后,还包括:

对故障信息进行哈希运算,获取事件索引;

建立事件索引与解析函数的对应关系;

从XML配置文件中确定出与目标事件码相对应的解析函数,包括:

根据接收到的故障信息进行哈希运算,确定目标事件索引;

从XML配置文件中确定出与目标事件索引相对应的解析函数。

可选的,在加载所获取到的扩展标记语言XML配置文件之后,还包括:

接收XML配置文件的更新补丁;

根据更新补丁更新所存储的XML配置文件;

重启BMC,加载更新后的XML配置文件。

可选的,加载所获取到的XML配置文件,包括:

创建故障信息的解析进程;

在加载所获取到的扩展标记语言XML配置文件之后,还包括:

接收XML配置文件的更新补丁;

根据更新补丁更新所存储的XML配置文件;

重启解析进程,基于解析进程加载更新后的XML配置文件。

可选的,XML配置文件还包括屏蔽项;

向管理设备发送携带有故障信息、目标事件码和故障描述的告警消息,包括:

判断目标事件码是否命中屏蔽项;

若目标事件码命中屏蔽项,则禁止向管理设备发送携带有故障信息、目标事件码和故障描述的告警消息;

若目标事件码未命中屏蔽项,则向管理设备发送携带有故障信息、目标事件码和故障描述的告警消息。

结合本说明书实施方式的第二方面,本申请提供了一种故障日志生成装置,应用于服务器的BMC,包括:

加载单元,用于加载所获取到的XML配置文件,其中,XML配置文件中包含有一个或多个与事件码相对应的解析函数;

收集单元,用于收集故障信息;

转换单元,用于根据故障信息确定与该故障信息相对应的目标事件码;

确定单元,用于从XML配置文件中确定出与目标事件码相对应的解析函数;

解析单元,用于根据解析函数对故障信息进行解析,生成故障描述;

发送单元,用于向管理设备发送携带有故障信息、目标事件码和故障描述的告警消息,以使管理设备生成故障日志。

可选的,故障描述包括:目标事件码和至少一个描述字段;

解析单元,包括:

描述模块,用于根据解析函数和故障信息确定至少一个描述字段的字段值;

拼接模块,用于对至少一个描述字段的字段值进行拼接,生成故障描述。

可选的,该装置,还包括:

运算单元,用于对故障信息进行哈希运算,获取事件索引;

建立单元,用于建立事件索引与解析函数的对应关系;

确定单元,包括:

索引模块,用于根据接收到的故障信息进行哈希运算,确定目标事件索引;

确定模块,用于从XML配置文件中确定出与目标事件索引相对应的解析函数。

可选的,该装置,还包括:

接收单元,用于接收XML配置文件的更新补丁;

更新单元,用于根据更新补丁更新所存储的XML配置文件;

重启单元,用于重启BMC,加载更新后的XML配置文件。

可选的,加载单元,包括:

创建模块,用于创建故障信息的解析进程;

装置,还包括:

接收单元,用于接收XML配置文件的更新补丁;

更新单元,用于根据更新补丁更新所存储的XML配置文件;

重启单元,用于重启解析进程,基于解析进程加载更新后的XML配置文件。

可选的,XML配置文件还包括屏蔽项;

发送单元,包括:

判断模块,用于判断目标事件码是否命中屏蔽项;若目标事件码命中屏蔽项,则禁止向管理设备发送携带有故障信息、目标事件码和故障描述的告警消息;若目标事件码未命中屏蔽项,则向管理设备发送携带有故障信息、目标事件码和故障描述的告警消息。

本说明书的实施方式提供的技术方案可以包括以下有益效果:

本说明书实施方式中,将实现故障信息解析的解析函数集成于XML配置文件,解除了解析方式与BMC固件之间的绑定,使得服务器可以根据BMC所获取到的XML配置文件实现故障信息的解析并获取对应的故障描述,从而避免了BMC固件升级需要消耗的时间,减少了故障信息的遗漏,提升了服务器对故障信息收集和展示的可靠性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施方式,并与说明书一起用于解释本说明书的原理。

图1是本申请所涉及的一种故障日志生成方法的流程图;

图2是本申请的实施方式所涉及的一种机框服务器的结构示意图;

图3是本申请所涉及的一种故障日志生成装置的结构示意图。

具体实施方式

这里将详细地对示例性实施方式进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施方式中所描述的实施方式并不代表与本说明书相一致的所有实施方式。

本申请提供了一种故障日志生成方法,应用于服务器的BMC,如图1所示,包括:

S100、加载所获取到的XML配置文件。

如图2所示,在服务器中,设置有BMC,用于管理和监控服务器中的各器件,可以在服务器发生故障时,收集各器件的状态信息,其中可以包含有故障器件的故障信息,而此时收集的故障信息被称为原始数据,即以约定的字符串形式进行表示,该字符串中的每一位可以代分别代表器件、器件的部分和故障类型等。虽然,根据故障信息可以确定出发生故障的器件以及出现故障的原因等要素,但是由于是通过字符串的形式表示,用户需要了解每一位所代表的含义才能确定出故障信息所表示的内容,在该字符串中可以包含有若干的字段,每一个字段可以代表不同器件的故障以及出现故障时的相关数据。

为了能够对故障信息进行解析,可以在BMC中存储有XML(可扩展标记语言,eXtensible Markup Language)配置文件,XML配置文件可以在BMC启动后加载至BMC的内存中运行,并可以为该XML配置文件设置有一个独立的进程。在BMC上预先设置有XML解析库,在接收到XML配置文件后,可以通过XML解析库对XML配置文件进行解析,获取其中具体的配置信息。

在XML配置文件中包含有一个或多个与事件码相对应的解析函数,其中,通过该事件码可以对应到一种类型的故障,该事件码根据故障信息中预设位置的字符串的值拼接形成,可以根据实际的需求进行设置,对此不做限制。该解析函数中包含有对故障信息进行解析的方式,比如可以从故障信息的预设位置读出字段判断具体的故障器件以及出现故障时该器件的状态信息。该故障信息一般为16字节的密文形式,需要对该故障信息进行解析后才能确定出对应的事件码。

针对不同的事件码,可以设置有不同的解析函数以获取所需要的状态信息定位和排查故障。

S101、收集故障信息。

在服务器启动后,开始工作,接收客户端发送的报文并进行处理。此时,若服务器发生故障,将会触发中断告知BMC,这样一来,BMC就可以收集服务器中所产生的故障信息,该故障信息存储在BMC中。

S102、根据故障信息确定与该故障信息相对应的目标事件码。

BMC在收集到故障信息后,可以从其字符串的预设位置读取出内容拼接形成事件码,后续针对BMC实际收集到的故障信息所生成的事件码称为目标事件码。并且,根据该目标事件码,可以建立与BMC中所存储的故障信息的对应关系,在该对应关系中存储有该故障信息在BMC中所存储位置。

S103、从XML配置文件中确定出与目标事件码相对应的解析函数。

基于目标事件码,在XML配置文件中进行查找,若找到对应的解析函数,则从存储位置中获取到故障信息,并将该故障信息导入到解析函数中进行解析。

S104、根据解析函数对故障信息进行解析,生成故障描述。

根据解析函数,对存储的故障信息进行解析,获取到对应的故障描述。

可选的,故障描述包括:目标事件码和至少一个描述字段;

步骤S104、根据解析函数对故障信息进行解析,生成故障描述,包括:

S104A、根据解析函数和故障信息确定至少一个描述字段的字段值。

S104B、对至少一个描述字段的字段值进行拼接,生成故障描述。

在获取故障描述的过程中,可以设置有故障描述的组织方式,比如,目标事件码为0x0c1000de,对应的组织方式可以为:目标事件码+故障类型+故障位置。其中,故障类型和故障位置等被称为描述字段,并且,针对实际的故障位置,该故障位置字段可以进一步细分为多个位置字段,多个位置字段能够组合出一个故障的具体位置,比如,可以按照递进的逻辑设置为处理器标识、处理器核标识和通道标识等等。

根据解析函数可以确定出每一个描述字段的字段值,并基于上述组织方式对描述字段进行拼接,最终形成完整的故障描述。

S105、向管理设备发送携带有故障信息、目标事件码和故障描述的告警消息,以使管理设备生成故障日志。

在BMC解析出故障描述之后,可以将所获取到的故障信息、目标事件码和故障描述发送给管理设备,上述各类信息可以携带在告警消息中向管理设备发送,当然不限于此,可以根据实际的需要选择。该管理设备可以位于机框外,分别与BMC相连接,并分别接收各服务器的BMC的告警消息进行处理和展示。

管理设备在接收到告警消息后,获取锁携带的故障信息、目标事件码和故障描述,根据这些信息生成故障日志,并在管理设备上进行展示,以使用户能够快速地对故障进行定位。

本说明书实施方式中,将实现故障信息解析的解析函数集成于XML配置文件,解除了解析方式与BMC固件之间的绑定,使得服务器可以根据BMC所获取到的XML配置文件实现故障信息的解析并获取对应的故障描述,从而避免了BMC固件升级需要消耗的时间,减少了故障信息的遗漏,提升了服务器对故障信息收集和展示的可靠性。

在XML配置文件中,BMC需要根据所获取的故障信息进行解析才能获取到事件码,并根据事件码进行解析,在解析的过程中,需要通过BMC中所具有的匹配数组进行故障信息的逐一匹配,确定适用该故障信息的解析函数,这无疑会延长日志生成的时间。为了提升进行对故障信息进行解析的效率,加快事件码和解析函数之间的查找,可选的,在步骤S100、加载所获取到的XML配置文件之后,还包括:

S106、对故障信息进行哈希运算,获取事件索引。

由于在BMC中可能预先存储有部分故障类型所对应的故障信息,在解析XML配置文件后,可以针对其中的故障类型所对应的故障信息进行哈希运算,确定出故障信息所对应的事件索引。

S107、建立事件索引与解析函数的对应关系。

针对XML配置文件中所包含的故障信息进行哈希运算,从而形成归一化的事件索引。举例而言,在XML配置文件中可以包含有10个故障类型所对应的故障信息,针对这些故障信息进行哈希运算,求出0-9这9个值,这9个值即上述的事件索引。每一个值对应到XML配置文件中的一个解析函数。

步骤S103、从XML配置文件中确定出与目标事件码相对应的解析函数,包括:

S103A、根据接收到的故障信息进行哈希运算,确定目标事件索引;

S103B、从XML配置文件中确定出与目标事件索引相对应的解析函数。

在获取到故障信息之后,即可以通过哈希运算计算出事件索引,从而快速地查找到对应的解析函数进行基于事件码的解析,提升对故障信息进行解析的解析效率。

另外,在步骤S100、加载所获取到的XML配置文件之后,还包括:

S108、接收XML配置文件的更新补丁。

S109、根据更新补丁更新所存储的XML配置文件。

S110、重启BMC,加载更新后的XML配置文件。

在用户需要对解析函数进行重新设置时,可以通过管理设备向BMC发送XML配置文件的更新补丁。BMC在接收到更新补丁后,对所存储的XML配置文件进行更新。

此后,为了使能更新后的XML配置文件,需要重新启动BMC。此时,除BMC重启所需要执行的操作外,仅需要将更新后的XML配置文件加载到内存中即可,无需升级BMC固件,从而缩短了进行解析函数更新过程所消耗的时间,减少升级BMC固件的过程中所遗漏的故障信息,提升了服务器对故障信息进行收集和展示的可靠性。

可选的,步骤S100、加载所获取到的XML配置文件,包括:

S100A、创建故障信息的解析进程。

在步骤S100、加载所获取到的XML配置文件之后,还包括:

S111、接收XML配置文件的更新补丁;

S112、根据更新补丁更新所存储的XML配置文件;

S113、重启解析进程,基于解析进程加载更新后的XML配置文件。

相对应的,在BMC进行故障信息解析的过程中,还可以单独设置一个进程实现,基于该解析进程加载XML配置文件。

这样一来,在BMC接收到更新补丁并更新了所存储的XML配置文件后,无需重启BMC而仅需要重启BMC的解析进程即可以完成更新后的XML配置文件的更新过程,从而进一步地缩短了XML配置件更新所消耗的时间。

可选的,XML配置文件还包括屏蔽项。

步骤S105、向管理设备发送携带有故障信息、目标事件码和故障描述的告警消息,包括:

S105A、判断目标事件码是否命中屏蔽项。

S105B、若目标事件码命中屏蔽项,则禁止向管理设备发送携带有故障信息、目标事件码和故障描述的告警消息。

S105C、若目标事件码未命中屏蔽项,则向管理设备发送携带有故障信息、目标事件码和故障描述的告警消息。

在XML配置文件中,还可以包含屏蔽项,该屏蔽项用于指示某一特定事件码的故障信息是否需要发送至管理设备进行展示。这样一来,用户可以根据自身的需要设置哪些故障要在管理设备上展示,而哪些不用,比如在服务器中存在可校正故障,即服务器可以根据预设的策略对该故障进行修复,在XML配置文件中可以为该类故障设置屏蔽项,从而在BMC收集到该故障类型的故障信息后,仅在BMC上进行存储而不发送至管理设备,或者,也可以将故障信息发送至管理设备而不生成故障日志进行展示,仅在管理设备中进行保存,以供用户在需要时进行查看,对此不做限制。

相对应的,本申请提供了一种故障日志生成装置,应用于服务器的BMC,如图3所示,包括:

加载单元,用于加载所获取到的XML配置文件,其中,XML配置文件中包含有一个或多个与事件码相对应的解析函数;

收集单元,用于收集故障信息;

转换单元,用于根据故障信息确定与该故障信息相对应的目标事件码;

确定单元,用于从XML配置文件中确定出与目标事件码相对应的解析函数;

解析单元,用于根据解析函数对故障信息进行解析,生成故障描述;

发送单元,用于向管理设备发送携带有故障信息、目标事件码和故障描述的告警消息,以使管理设备生成故障日志。

可选的,故障描述包括:事件码和至少一个描述字段;

解析单元,包括:

描述模块,用于根据解析函数和故障信息确定至少一个描述字段的字段值;

拼接模块,用于对至少一个描述字段的字段值进行拼接,生成故障描述。

可选的,该装置,还包括:

运算单元,用于对故障信息进行哈希运算,获取事件索引;

建立单元,用于建立事件索引与解析函数的对应关系;

确定单元,包括:

索引模块,用于根据接收到的故障信息进行哈希运算,确定目标事件索引;

确定模块,用于从XML配置文件中确定出与目标事件索引相对应的解析函数。

可选的,该装置,还包括:

接收单元,用于接收XML配置文件的更新补丁;

更新单元,用于根据更新补丁更新所存储的XML配置文件;

重启单元,用于重启BMC,加载更新后的XML配置文件。

可选的,加载单元,包括:

创建模块,用于创建故障信息的解析进程;

装置,还包括:

接收单元,用于接收XML配置文件的更新补丁;

更新单元,用于根据更新补丁更新所存储的XML配置文件;

重启单元,用于重启解析进程,基于解析进程加载更新后的XML配置文件。

可选的,XML配置文件还包括屏蔽项;

发送单元,包括:

判断模块,用于判断目标事件码是否命中屏蔽项;若目标事件码命中屏蔽项,则禁止向管理设备发送携带有故障信息、目标事件码和故障描述的告警消息;若目标事件码未命中屏蔽项,则向管理设备发送携带有故障信息、目标事件码和故障描述的告警消息。

本说明书的实施方式提供的技术方案可以包括以下有益效果:

本说明书实施方式中,将实现故障信息解析的解析函数集成于XML配置文件,解除了解析方式与BMC固件之间的绑定,使得服务器可以根据BMC所获取到的XML配置文件实现故障信息的解析并获取对应的故障描述,从而避免了BMC固件升级需要消耗的时间,减少了故障信息的遗漏,提升了服务器对故障信息收集和展示的可靠性。

应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。

以上所述仅为本说明书的较佳实施方式而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:OCFS2集群自动配置方法、可读存储介质及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!