掌桥专利:专业的专利平台
掌桥专利
首页

一种服务器日志收集方法、设备及可读存储介质

文献发布时间:2023-06-19 13:45:04


一种服务器日志收集方法、设备及可读存储介质

技术领域

本发明属于服务器硬件监控领域,具体涉及一种服务器日志收集方法、设备及可读存储介质。

背景技术

服务器是一种对可靠性要求极高的产品,服务器故障精准的定位是服务器使用及维护中非常重要的部分。服务器问题定位通过读取日志信息判断日志记录中的错误信息来定位。但是现有技术服务器日志收集需要基于服务器的操作系统正常运行或在服务器启动过程中手动收集或者通过服务器主板的管理模块收集日志来定位问题。但是有些情况使服务器产生问题的原因是瞬间的不可复现的,如果不在第一时间保留日志痕迹就会导致问题无法定位,修复困难并且不能收集全面的售后信息,对服务器产品进行优化。现有的日志显示收集方法如下:

BIOS日志显示收集方法存在以下问题:A、通过处理器串口输出,维护人员带电脑去现场插上串口重新启动系统,并查看。存在的问题是:1、问题出现时不能及时保存日志,2、维护人员会错过故障信息。B、BIOS将日志信息保存到内存中,待操作系统启动后通过操作系统读取日志。存在的问题是:BIOS的有些故障会导致操作系统无法启动,日志虽然保存到内存中,但无接口读取。遇到这类故障定位困难。C、BIOS在启动过程中将日志发送给BMC(板载控制器)保存。存在的问题是:BIOS与BMC除了发送日志的关系还有很多启动信息要交互。并且有些BIOS的故障不仅会导致BIOS报错,也可能导致BMC启动异常。这种情况下日志虽然保存却无法输出,无法启动定位问题的作用。

BMC日志收集方法及存在的问题:A、BMC启动过程中连接串口实时收集日志;存在的问题:实时收集日志无法收集历史日志。B、在BMC启动后登录BMC网口或串口收集历史日志;存在的问题:如果故障造成BMC无法正常启动将导致日志无法收集。问题汇总:BIOS和BMC的日志历史日志收集要相互依赖,或者依赖手动操作。对瞬时故障日志的捕捉能力弱。

因此,亟需一种更便捷高效的方法来解决上述问题。

发明内容

为解决以上问题,本发明提出了一种服务器日志收集方法、设备及存储介质,其中,方法包括:

实时获取系统日志和BMC日志,并将所述系统日志和所述BMC日志分别存在第一存储区域和第二存储区域;

分析所述系统日志和/或BMC日志中的日志信息,响应于所述系统日志和/或BMC日志匹配预定的日志规则,将所述系统日志和/或BMC日志存储到第三存储区域。

在本发明的一些实施方式中,响应于所述系统日志和/或BMC日志匹配预定的日志规则包括:

对获取到的所述系统日志进行解析,响应于所述系统日志的解析结果中涉及敏感操作,将所述系统日志前后第一预定时间的所述服务器的系统日志和所述服务器的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为本发明提供的一种服务器日志收集方法的计算机可读存储介质的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。

如图1所示,本发明实施例的第一个方面,提出了一种服务器日志收集方法、设备及存储介质,其中,方法包括:

步骤S1、实时获取系统日志和BMC日志,并将所述系统日志和所述BMC日志分别存在第一存储区域和第二存储区域;

步骤S2、分析所述系统日志和/或BMC日志中的日志信息,响应于所述系统日志和/或BMC日志匹配预定的日志规则,将所述系统日志和/或BMC日志存储到第三存储区域。

在本实施例中,如图2所示,本发明方法所提供的日志收集模块3通过服务器的串行总线连接到服务器的系统日志输出模块1,通过BMC日志输出接口实时接收来自BMC 2的日志输出接口的BMC日志。

在步骤S1中,日志收集模块3通过串行总线获取到服务器系统日志以及通过BMC日志输出接口获取到服务器系统日志和BMC日志之后,并将服务器的系统日志存储在第一存储区域4中,将服务器的BMC日志存储在第二存储区域6中。

在步骤S2中,日志收集模块3对获取到的服务器系统日志和BMC日志进行分析,并根据预先制定的日志匹配规则对获取的服务器系统日志和BMC日志进行判断,将满足匹配规则的系统日志和/或BMC日志存储在第三存储区域5中。

在本发明的一些实施方式中,响应于所述系统日志和/或BMC日志匹配预定的日志规则包括:

对获取到的所述系统日志进行解析,响应于所述系统日志的解析结果中涉及敏感操作,将所述系统日志前后第一预定时间的所述服务器的系统日志和所述服务器的BMC日志合并存储在所述第三存储区域。

具体地,在本实施例中,对日志收集模块3对收集到的服务器的系统日志进行解析,并将日志中的对服务器的操作类型或执行的程序或指令的类型进行敏感性判断,若日志中记载的对服务器的操作类型或执行的程序或指令涉及对服务器的敏感资源或可能存在潜在危险的操作,则以该日志数据的获取时间为起点,将前后1分钟内的系统日志以及BMC日志合并存在第三存储区域5内。具体是从第一存储区域4和第二存储区域中读取前1分钟的日志数据,以及接收后续1分钟内从系统日志输出模块1和BMC2的日志穿行输出接口的服务器系统日志和BMC日志合并后存储到第三存储区域5内。

在本发明的一些实施方式中,所述响应于所述系统日志和/或BMC日志匹配预定的日志规则还包括:

对获取到的所述系统日志进行解析,响应于所述系统日志的解析结果中服务器的资源出现满载,则将所述系统日志前后第一预定时间的所述服务器的系统日志和所述服务器的BMC日志合并存储在所述第三存储区域。

在本实施例中,如前所述的方案,在对系统日志进行解析时,若发现服务器中的资源出现满载,即CPU核心用尽或内存用尽,或者是磁盘读写速度满载时,同样以该日志数据的获取时间为起点,将前后1分钟内的系统日志以及BMC日志合并存在第三存储区域5内。具体是从第一存储区域4和第二存储区域中读取前1分钟的日志数据,以及接收后续1分钟内从系统日志输出模块1和BMC2的日志穿行输出接口的服务器系统日志和BMC日志合并后存储到第三存储区域5内。

在本发明的一些实施方式中,响应于所述系统日志和/或BMC日志匹配预定的日志规则还包括:

对获取到的所述服务器的BMC日志进行解析,响应于所述服务器的BMC日志的解析结果中所述服务器的设备的状态异常,则将所述BMC日志前后第二预定时间内的所述服务器的系统日志和所述服务器的BMC日志合并存储在所述第三存储区域。

在本实施例中,日志收集模块3在接收到BMC日志后,对每条BMC日志进行解析,判断BMC所监控的服务器的各个硬件状态是否异常,包括:CPU温度、机箱温度、GPU温度等一些标识服务器硬件层面稳定性的状态参数。同样,若发现BMC日志中存在上述异常,以该BMC日志数据的获取时间为起点,将前后3分钟内的系统日志以及BMC日志合并存在第三存储区域5内。具体是从第一存储区域4和第二存储区域中读取前1分钟的日志数据,以及接收后续3分钟内从系统日志输出模块1和BMC2的日志穿行输出接口的服务器系统日志和BMC日志合并后存储到第三存储区域5内。

在本发明的一些实施方式中,实时获取系统日志和BMC日志,并将所述系统日志和所述BMC日志分别存在第一存储区域和第二存储区域包括:

对获取到的所述系统日志进行解析,响应于所述系统日志的解析结果中涉及敏感操作和/或服务器的资源出现满载,将所述系统日志前后第一预定时间的所述服务器的系统日志添加第一预定标记并保存在所述第一存储区域;

对获取到的所述服务器的BMC日志进行解析,响应于所述服务器的BMC日志的解析结果中所述服务器的设备的状态异常,则将所述BMC日志前后第二预定时间内的所述服务器的BMC日志添加第二预定标记并保存到所述第二存储区域。

在本实施例中,日志收集模块3对接收到BMC日志后及服务器系统日志后,对每条BMC日志和服务器系统日志进行解析,判断BMC所监控的服务器的各个硬件状态是否异常,及判断系统日志的解析结果中是否涉及敏感操作和/或服务器的资源出现满载。

当服务器的各个硬件出现状态异常时,则不将BMC日志和服务日志保存在第三存储区域5中,而是将前后3分钟的BMC日志保存在第二存储区域6中,并对前后3分钟内的数据添加第二标记。

当服务器的系统日志的解析结果中涉及敏感操作和/或服务器的资源出现满载,同样不将服务器的系统日志保存在第三存储区域5中,而是对前后1分钟的服务器的系统日志添加第一标记后保存到第一存储区域中。

在本发明的一些实施方式中,实时获取系统日志和BMC日志,并将所述系统日志和所述BMC日志分别存在第一存储区域和第二存储区域还包括:

对获取到的所述服务器的BMC日志和所述系统日志进行解析,响应于所述服务器的BMC日志的解析结果中所述服务器的设备的状态异常,且所述服务器的系统日志的解析结果中服务器的资源出现满载和/或敏感操作,则将所述BMC日志前后第二预定时间内的所述服务器的系统日志和所述服务器的BMC日志合并存储在所述第三存储区域。

在本实施例中,如上所述,当数据收集模块3解析到服务器系统日志和BMC日志同时满足涉及敏感操作和/或服务器的资源出现满载和服务器的各个硬件状态出现异常,则将前后3分钟内的服务器系统日志和BMC日志合并后存储到第三存储区域5中。

在本发明的一些实施方式中,方法还包括:

响应于所述第一存储区域和第二存储区域的日志数据高于警戒值,将根据所述日志数据写入时间优先删除没有被添加第一或第二标记的旧的日志数据。

响应于所述第三存储区域的所述日志数据高于所述警戒值,则根据所述日志数据的写入时间删除最先写入的所述日志数据。

在本实施例中,当上述三个存储区域中的日志数据超过自身存储空间的80%时,则对自身存储空间中的日志数据进行清理。在第一存储区域4和第二存储区域6中清理时,按照先入先删的方式优先删除没有被添加第一标记或第二标记的日志数据。在第三存储区域5中则直接按照先入先删的方式清除时间最早的数据。

在本发明的一些实施方式中,响应于所述服务器出现故障,则将所述第三存储区域、第一存储区域及第二存储区域中的日志数据通过无线传输的方式输出。

如图2所示,在本实施例中,当服务器出现故障时,日志收集模块3将无法收集到服务器系统日志或BMC日志,此时,日志收集模块3将激活蓝牙通信模块,并根据服务器的编号,将蓝牙的名称改为该日志收集模块所在服务器的编号,并使蓝牙处于可发现可配对的状态。服务器所在机房的日志汇总设备会连接该蓝牙并获取该服务器的第三存储区域3和第二存储区域6及第一存储区域4中的设备。在将日志数据通过蓝牙发送完成后,日志收集模块3将关闭蓝牙通信模块。

通过本发明所提供的方法,实现将服务器的系统日志和服务器的BMC日志实时存储,并且对日志内容进行解析,将可能会影响服务器稳定性的操作前后的服务器的系统日志和BMC日志进行合并存储在独立的存储空间中。在服务器出现故障时可近乎完整地保存可能引发服务器崩溃的日志,便于运维人员高效地定位问题。

如图3所示,本发明的又一方面,还提出了一种计算机设备,包括:

至少一个处理器21;以及

存储器22,所述存储器22存储有可在所述处理器21上运行的计算机指令23,所述指令23由所述处理器21执行时实现一种服务器日志收集方法的步骤,包括:

实时获取系统日志和BMC日志,并将所述系统日志和所述BMC日志分别存在第一存储区域和第二存储区域;

分析所述系统日志和/或BMC日志中的日志信息,响应于所述系统日志和/或BMC日志匹配预定的日志规则,将所述系统日志和/或BMC日志存储到第三存储区域。

在本发明的一些实施方式中,响应于所述系统日志和/或BMC日志匹配预定的日志规则包括:

对获取到的所述系统日志进行解析,响应于所述系统日志的解析结果中涉及敏感操作,将所述系统日志前后第一预定时间的所述服务器的系统日志和所述服务器的BMC日志合并存储在所述第三存储区域。

在本发明的一些实施方式中,所述响应于所述系统日志和/或BMC日志匹配预定的日志规则还包括:

对获取到的所述系统日志进行解析,响应于所述系统日志的解析结果中服务器的资源出现满载,则将所述系统日志前后第一预定时间的所述服务器的系统日志和所述服务器的BMC日志合并存储在所述第三存储区域。

在本发明的一些实施方式中,响应于所述系统日志和/或BMC日志匹配预定的日志规则还包括:

对获取到的所述服务器的BMC日志进行解析,响应于所述服务器的BMC日志的解析结果中所述服务器的设备的状态异常,则将所述BMC日志前后第二预定时间内的所述服务器的系统日志和所述服务器的BMC日志合并存储在所述第三存储区域。

在本发明的一些实施方式中,实时获取系统日志和BMC日志,并将所述系统日志和所述BMC日志分别存在第一存储区域和第二存储区域包括:

对获取到的所述系统日志进行解析,响应于所述系统日志的解析结果中涉及敏感操作和/或服务器的资源出现满载,将所述系统日志前后第一预定时间的所述服务器的系统日志添加第一预定标记并保存在所述第一存储区域;

对获取到的所述服务器的BMC日志进行解析,响应于所述服务器的BMC日志的解析结果中所述服务器的设备的状态异常,则将所述BMC日志前后第二预定时间内的所述服务器的BMC日志添加第二预定标记并保存到所述第二存储区域。

在本发明的一些实施方式中,实时获取系统日志和BMC日志,并将所述系统日志和所述BMC日志分别存在第一存储区域和第二存储区域还包括:

对获取到的所述服务器的BMC日志和所述系统日志进行解析,响应于所述服务器的BMC日志的解析结果中所述服务器的设备的状态异常,且所述服务器的系统日志的解析结果中服务器的资源出现满载和/或敏感操作,则将所述BMC日志前后第二预定时间内的所述服务器的系统日志和所述服务器的BMC日志合并存储在所述第三存储区域。

在本发明的一些实施方式中,步骤还包括:

响应于所述第一存储区域和第二存储区域的日志数据高于警戒值,将根据所述日志数据写入时间优先删除没有被添加第一或第二标记的旧的日志数据。

响应于所述第三存储区域的所述日志数据高于所述警戒值,则根据所述日志数据的写入时间删除最先写入的所述日志数据。

在本发明的一些实施方式中,响应于所述服务器出现故障,则将所述第三存储区域、第一存储区域及第二存储区域中的日志数据通过无线传输的方式输出。

如图4所示,本发明的再一方面还提出了一种计算机可读存储介质401,所述计算机可读存储介质存储有计算机程序402,所述计算机程序被处理器执行时实现一种服务器日志收集方法的步骤包括:实时获取系统日志和BMC日志,并将所述系统日志和所述BMC日志分别存在第一存储区域和第二存储区域;

分析所述系统日志和/或BMC日志中的日志信息,响应于所述系统日志和/或BMC日志匹配预定的日志规则,将所述系统日志和/或BMC日志存储到第三存储区域。

在本发明的一些实施方式中,响应于所述系统日志和/或BMC日志匹配预定的日志规则包括:

对获取到的所述系统日志进行解析,响应于所述系统日志的解析结果中涉及敏感操作,将所述系统日志前后第一预定时间的所述服务器的系统日志和所述服务器的BMC日志合并存储在所述第三存储区域。

在本发明的一些实施方式中,所述响应于所述系统日志和/或BMC日志匹配预定的日志规则还包括:

对获取到的所述系统日志进行解析,响应于所述系统日志的解析结果中服务器的资源出现满载,则将所述系统日志前后第一预定时间的所述服务器的系统日志和所述服务器的BMC日志合并存储在所述第三存储区域。

在本发明的一些实施方式中,响应于所述系统日志和/或BMC日志匹配预定的日志规则还包括:

对获取到的所述服务器的BMC日志进行解析,响应于所述服务器的BMC日志的解析结果中所述服务器的设备的状态异常,则将所述BMC日志前后第二预定时间内的所述服务器的系统日志和所述服务器的BMC日志合并存储在所述第三存储区域。

在本发明的一些实施方式中,实时获取系统日志和BMC日志,并将所述系统日志和所述BMC日志分别存在第一存储区域和第二存储区域包括:

对获取到的所述系统日志进行解析,响应于所述系统日志的解析结果中涉及敏感操作和/或服务器的资源出现满载,将所述系统日志前后第一预定时间的所述服务器的系统日志添加第一预定标记并保存在所述第一存储区域;

对获取到的所述服务器的BMC日志进行解析,响应于所述服务器的BMC日志的解析结果中所述服务器的设备的状态异常,则将所述BMC日志前后第二预定时间内的所述服务器的BMC日志添加第二预定标记并保存到所述第二存储区域。

在本发明的一些实施方式中,实时获取系统日志和BMC日志,并将所述系统日志和所述BMC日志分别存在第一存储区域和第二存储区域,还包括:

对获取到的所述服务器的BMC日志和所述系统日志进行解析,响应于所述服务器的BMC日志的解析结果中所述服务器的设备的状态异常,且所述服务器的系统日志的解析结果中服务器的资源出现满载和/或敏感操作,则将所述BMC日志前后第二预定时间内的所述服务器的系统日志和所述服务器的BMC日志合并存储在所述第三存储区域。

在本发明的一些实施方式中,步骤还包括:

响应于所述第一存储区域和第二存储区域的日志数据高于警戒值,将根据所述日志数据写入时间优先删除没有被添加第一或第二标记的旧的日志数据。

响应于所述第三存储区域的所述日志数据高于所述警戒值,则根据所述日志数据的写入时间删除最先写入的所述日志数据。

在本发明的一些实施方式中,响应于所述服务器出现故障,则将所述第三存储区域、第一存储区域及第二存储区域中的日志数据通过无线传输的方式输出。

需要特别指出的是,上述各个实施例中的各个组件或步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换形成的组合也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。

以上是本发明公开的示例性实施例,上述本发明实施例公开的顺序仅仅为了描述,不代表实施例的优劣。但是应当注意,以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子,在不背离权利要求限定的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包括在本发明实施例的保护范围之内。

相关技术
  • 一种服务器日志收集方法、设备及可读存储介质
  • 一种日志收集方法、装置、设备及计算机可读存储介质
技术分类

06120113793028