一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于服务器系统的错误日志收集方法与流程

2021-10-22 22:27:00 来源:中国专利 TAG:收集 错误 日志 装置 用于


1.本发明涉及电脑装置的错误日志收集,特别是涉及一种用于服务器系统的错误日志收集方法。


背景技术:

2.在服务器系统通常都会用到bmc(基板管理控制器,baseboard management controller)来进行相关监控管理,而bmc能侦测到的错误有限,因此无法侦测到很多系统的错误,例如硬盘、cpu等硬件问题。于是,为了能涵盖主板的检测,必须搭配bios(基本输入输出系统,basic input output system)post(加电自检,power on self test)阶段的bios post code。
3.目前,当硬件发生错误时,bmc及/或bios会生成sel(系统事件日志,system even log)。虽然后端侦错服务器可以即时收到sel,然而由于sel无法提供详细日志信息,因而难以侦错问题。
4.当服务器系统上电开机后所述bios post过程中会进行硬件初始化,当初始化出现错误或异常时会停在某个阶段,这时所述biospost code会记录相应的错误或异常状态,分析人员可以通过bios post code去判断系统异常停住的详细原因,从而做出相应的改善。目前常用的一种方法是在系统异常或发生错误时通过用于侦错的特定bios和bmc固件以获取bios和bmc侦错日志。然而,这种方法在系统发生异常或错误时必须由亲赴现场(如机房)的管理员进行用于侦错的电性连接工作并将所述特定bios和bmc固件由外接硬件载入到系统后,才可获取所述bios和bmc侦错日志,因而造成管理员在侦错日志的收集上的不便。此外,由于通过执行所述特定bios和bmc固件的方式所获得的侦错日志未必能完全反映出系统异常或错误发生当时的情况,因此有时亦难以重建问题的所在。
5.因此,如何发展出操作方便且能获得系统异常或错误发生当时情况下的硬件数据的错误日志收集方式遂成为目前重要的议题。


技术实现要素:

6.本发明的目的在于提供一种用于服务器系统的错误日志收集方法,其能克服现有技术的至少一个缺点。
7.本发明所提供的一种用于服务器系统的错误日志收集方法,所述服务器系统包含中央处理单元cpu、多个硬件组件、基板管理控制器bmc、多个bmc传感器、及硬件错误传感器。所述错误日志收集方法包含以下步骤:所述cpu在通过基本输入输出系统bios程序的执行在侦测到所述硬件组件其中一者或其本身发生错误时,根据侦测到的错误情况产生相应于发生错误的硬件组件或其本身且具有结构化的bios错误日志,并将所述bios错误日志传送至所述bmc;及所述bmc将来自所述cpu的bios错误日志缓存,并且将含有所述bios错误日志的bios日志数据和由所述bmc本身所产生且相关于所述bmc传感器的bmc日志数据打包成错误日志档案,并将所述错误日志档案存储。
8.本发明的用于服务器系统的错误日志收集方法还包含以下步骤:所述cpu在成功执行完bios程序后,根据侦测到的正常情况产生具有结构化且分别相应于所述硬件组件及其本身的多个bios正常日志,并将所述bios正常日志传送至所述bmc;及所述bmc将来自于所述cpu的bios正常日志缓存于非挥发性记忆体(nvram)中。
9.本发明的用于服务器系统的错误日志收集方法中,所述bios日志数据不仅包含所述bios错误日志,还包含已缓存的所述bios正常日志。
10.本发明的用于服务器系统的错误日志收集方法中,所述bios错误日志指示出使用的特定格式、错误类型、及相关于所述错误类型的信息。
11.本发明的用于服务器系统的错误日志收集方法中,所述特定格式包含但不限定为csv、json及xml其中一者。
12.本发明的用于服务器系统的错误日志收集方法中,所述cpu在开机时自动执行所述bios程序,或在运行时反应于来自所述bmc的错误通知执行所述bios程序。
13.本发明的用于服务器系统的错误日志收集方法还包含以下步骤:所述bmc在未侦测到任何系统错误时产生并缓存分别相应于所述bmc传感器的多个bmc正常日志;及所述bmc在侦测到系统错误时对所述cpu发出所述错误通知,并在确认出所述系统错误与所述bmc传感器有关时产生且缓存相应所述系统错误的bmc错误日志。
14.本发明的用于服务器系统的错误日志收集方法中,在所述bmc确认出所述系统错误与所述bmc传感器无关的情况下,所述bmc日志数据仅包含先前缓存的bmc正常日志;及在所述bmc确认出所述系统错误与所述bmc传感器有关的情况下,所述bmc日志数据包含先前缓存的所述bmc正常日志、以及已缓存且相应于所述系统错误的所述bmc错误日志。
15.本发明的服务器系统还通过执行存储于自身的剖析编程(parser),对缓存的错误日志档案进行剖析以获得剖析结果。
16.本发明的用于服务器系统的错误日志收集方法,所述服务器系统包含基本输入输出系统bios、多个硬件组件、基板管理控制器bmc、及多个bmc传感器,其特征在于,包含以下步骤:通过所述基本输入输出系统bios侦测所述硬件组件状态,而产生相应于发生错误的所述硬件组件的bios错误日志,并将所述bios错误日志传送至所述bmc;所述bmc产生相关于所述bmc传感器的bmc错误日志;所述bmc将所述bios错误日志及所述bmc错误日志打包成错误日志档案,并将所述错误日志档案存储。
17.本发明的用于服务器系统的错误日志收集方法,所述服务器系统包含基本输入输出系统bios、多个硬件组件、基板管理控制器bmc、及多个bmc传感器,其特征在于,包含以下步骤:通过所述基本输入输出系统bios侦测所述硬件组件状态,而产生相应于发生错误的所述硬件组件的bios错误日志,并将所述bios错误日志传送至所述bmc;所述bios根据侦测所述硬件组件状态而产生相应于所述硬件组件中正常硬件组件的bios正常日志,并将所述bios正常日志传送至所述bmc;所述bmc产生相关于所述bmc传感器的bmc错误日志;及所述bmc将所述bios错误日志、bios正常日志及所述bmc错误日志打包成错误日志档案,并将所述错误日志档案存储。
18.本发明的有益效果在于:
19.1、由于在bios程序执行时侦测到硬件组件发生错误时或是在bmc侦测到系统错误时,能及时根据发生错误的硬件组件的当下情况的数据产生结构化的bios错误日志,因此
由bmc打包的错误日志档案能充分反应错误发生时硬件的操作状况,因而有利于重建错误发生的硬件环境;
20.2、由于所述bios错误日志及所述biios正常日志均具有结构化的数据内容,同时所述错误日志档案不仅打包有bios错误日志和bmc错误日志,还打包有先前的bios正常日志和bmc正常日志,因此大大地有利于管理者后续的侦错和分析工作;及
21.3、bmc会将相应于每一次错误的错误日志档案存储,如此外部的分析服务器只要经由通信网络与所述服务器系统连接后,便能以方便的下载方式容易地从所述服务器系统获取所述错误日志档案,避免现有技术所遭遇的不便并且大幅降低侦错成本。
附图说明
22.本发明的其他的特征及功效,将于参照图式的实施方式中清楚地呈现,其中:
23.图1是方块图,示例性地绘示用来实施本发明的实施例的错误日志收集方法的服务器系统的架构;
24.图2是流程图,示例性地说明图1的服务器系统在开机阶段如何执行本发明实施例;及
25.图3是流程图,示例性地说明图1的服务器系统在运行阶段如何执行本发明实施例;
26.图4是方块图,示例性地绘示用来实施本实施例的分析服务器的架构;及
27.图5是示意圖,示例性地绘示由本实施例的服务器系统获得的剖析结果的内容。
具体实施方式
28.在本发明被详细描述前,应当注意在以下的说明内容中,类似的元件是以相同的编号来表示。
29.参阅图1,绘示出的服务器系统100用来实施本发明的实施例的错误日志收集方法,并可以包含中央处理单元(central processing unit,以下简称cpu)1、电连接所述cpu 1的多个硬件组件2(如memory卡、pcie(peripheral component interconnect express)组件等)、电连接所述cpu 1的基板管理控制器(baseboard management controller,以下简称bmc)3、电连接所述bmc 3的多个bmc传感器41(如用于传感风扇(图未示)的转速的风扇传感器、用于传感系统电压值的电压感测器及用于传感所述cpu 1的温度的温度传感器)和硬件错误传感器42(如复杂可编程逻辑组件(complex programmable logic device,以下简称cpld))、及电连接所述cpu 1和所述bmc 3的存储单元5。在本实施例中,所述存储单元5例如可以包含但不限于存储器模块51,52、及一缓存器模块53,其中所述存储器模块51电连接所述cpu 1,且例如由rom(read-only memory)实现并存储有bios固件;所述存储器模块52电连接所述bmc 3,且例如由rom实现并储存有bmc固件;而所述缓存器模块53电连接所述bmc 3,且例如由nvram(non-volatile random-access memory)实现并用于缓存由与所述cpu 1和所述bmc 3有关的日志数据与档案。更具体地,在所述服务器系统100前一次关机前,所述缓存器模块53可以但不限于已缓存由所述cpu 1产生且相应于所述硬件组件2和所述cpu 1的多个bios正常日志、由所述cpu 1产生且相应于历史错误的bios错误日志、由所述bmc 3产生且相应于所述bmc传感器41的多个bmc正常日志、由所述bmc 3产生且相应于历
史错误的bmc错误日志、以及相应于历史错误的错误日志档案。
30.在本实施例中,所述错误日志收集方法大致可以分别在所述服务器系统100操作在开机阶段和使用阶段来实现。
31.以下,将参阅图1及图2来示例地说明所述服务器系统100在开机阶段如何执行本实施例的错误日志收集方法。在此情况下,所述错误日志收集方法可以包含以下步骤201-208。
32.首先,在步骤201中,所述cpu 1开始执行bios程序。
33.然后,在步骤202中,所述cpu 1通过所述bios固件(存储于所述存储器模块51)的执行,以侦测所述硬件组件2及其本身是否发生错误3。若侦测到所述硬件组件2及所述cpu 1本身其中一者或更多者发生错误时,流程进行到步骤204;而若侦测到所述硬件组件2及所述cpu 1本身均未发生错误(也就是说,所述cpu 1成功执行完所述bios程序)时,流程进行到步骤203。
34.在步骤203中,所述cpu 1通过所述bios固件的特定指令,根据侦测到所有硬件组件2及其本身的正常情况产生具有结构化且分别相应于所述硬件组件2及其本身的多个bios正常日志,并将所述bios正常日志传送至所述bmc 3。
35.在步骤204中,所述cpu 1通过所述bios固件的特定指令,根据侦测到的错误情况产生相应于发生错误的硬件组件及其本身其中一者或更多者且具有结构化的一个或更多个bios错误日志,并可以在执行完所述bios程序后,将所述bios错误日志传送至所述bmc 3。举例来说,若所述cpu1在步骤202中仅侦测到其本身发生错误的情况下,所述cpu 1仅根据侦测到其本身的错误情况来产生所述bios错误日志,并且所述bios错误日志可以视为cpu错误日志;又或者,若所述cpu 1在步骤202中不仅侦测到其本身发生错误且还侦测到如memory卡的硬件组件2发生错误的情况下,所述cpu 1不仅根据侦测到其本身的错误情况产生相应于所述cpu 1的cpu错误日志,而且还根据侦测到memory卡(硬件组件2)的错误情况来产生相应于所述memory卡的memory错误日志所述bios错误日志。
36.请注意,在本实施例中,所述cpu 1通过所述bios固件的特定指令产生所述结构化的bios错误日志和所述结构化的bios正常日志。更具体地,所述biod错误日志和所述bios正常日志具有特定格式,此特定格式例如可是但不限于csv、json或xml。特别是,所述bios错误日志可以指示出但不限于所述特定格式、错误类型、及相关于所述错误类型的信息。
37.另一方面,所述bmc 3通过所述bmc固件(存储于所述存储器模块52)开始执行bmc程序(步骤205)。
38.在步骤203及步骤205后,所述bmc 3通过所述bmc固件的特定指令,将来自所述cpu 1的所述bios正常日志新增地缓存于所述缓存器模块53(步骤206)。请注意,若因所述缓存器模块53的存储空间有限时,能以覆写方式进行所述bios正常日志的缓存操作。
39.在步骤204及步骤205后,所述bmc 3通过所述bmc固件的特定指令,将来自所述cpu 1的所述bios错误日志新增地缓存于所述缓存器模块53(步骤207)。
40.最后,在步骤208,所述bmc 3通过所述bmc固件的打包指令,将已缓存于所述缓存器模块53的所述bios正常日志与所述bios错误日志共同构成的bios日志数据和含有已缓存于所述缓存器模块53的所述bmc正常日志的bmc日志数据打包成错误日志档案,并将所述错误日志档案存储于所述缓存器模块53。
41.至此,在开机阶段的错误日志收集被实现。
42.以下,将参阅图1及图3来示例地说明所述服务器系统100在运行阶段如何执行本实施例的错误日志收集方法。在此情况下,所述错误日志收集方法可以包含以下步骤301-308。
43.首先,在步骤301中,所述bmc 3通过所述bmc固件的执行,例如以轮询(polling)方式获取来自所述bmc传感器41和所述硬件错误传感器42的传感数据。
44.然后,在步骤302中,所述bmc 3通过所述bmc固件的执行,根据所述传感数据,侦测所述服务器系统100是否发生系统错误。若侦测到系统错误时,流程进行到步骤304。相反地,若未侦测到任何系统错误时,流程进行到步骤303。
45.在步骤303中,所述bmc 3通过所述bmc固件的执行,根据获取的所述传感数据,产生分别相应于所述bmc传感器41的多个bmc正常日志,并将所述bmc正常日志新增地缓存于所述缓存器模块53。请注意,若因所述缓存器模块53的存储空间有限时,能以覆写方式进行所述bmc正常日志的缓存操作。
46.在步骤304中,所述bmc 3通过所述bmc固件的执行,对所述cpu 1发出错误通知。
47.在步骤304后的步骤305中,所述cpu 1反应于来自所述bmc 3的所述错误通知而重新执行bios程序,以确认出发生错误的一个或更多个硬件。在此情况下,发生错误的硬件可能是任一硬体组件2或所述cpu 1本身。
48.在步骤305后的步骤306中,相似于上述步骤204,所述cpu 1通过所述bios固件的特定指令,根据确认的所述硬件的错误情况产生相应于发生错误的所述硬件且具有结构化的一个或更多个bios错误日志,并可以在执行完所述bios程序后,将所述bios错误日志传送至所述bmc 3。
49.另一方面,在步骤304后的步骤307中,所述bmc 3确认所述系统错误是否与所述bmc传感器41有关。若确认出所述系统错误与所述bmc传感器41其中一者或更多者有关时,流程进行到步骤309。相反地,若确认出所述系统错误与所述bmc传感器41无关时,流程进行到步骤308。举例来说,若所述bmc 3仅根据获取自所述硬件错误传感器42的传感数据确认出系统错误时,则此系统错误与所述bmc传感器41无关。
50.在步骤308中,相似于步骤303,所述bmc 3通过所述bmc固件的执行,根据获取的所述传感数据,产生分别相应于所述bmc传感器41的多个bmc正常日志,并将所述bmc正常日志新增地缓存于所述缓存器模块53。
51.在步骤309中,所述bmc 3通过所述bmc固件的执行,根据获取的所述传感数据,产生相应所述系统错误的bmc错误日志,并将所述bmc错误日志新增地缓存于所述缓存器模块53。
52.在步骤306后的步骤310中,相似于步骤204,所述bmc 3通过所述bmc固件的特定指令,将来自于所述cpu 1的所述bios错误日志新增地缓存于所述缓存器模块53。
53.在步骤308、步骤309和步骤310后的步骤311中,所述bmc 3通过所述bmc固件的打包指令,将已缓存于所述缓存器模块53的所述bios正常日志与所述bios错误日志共同构成的bios日志数据和已缓存于所述缓存器模块53且与所述bmc传感器41有关的bmc日志数据打包成错误日志档案,并将所述错误日志档案存储于所述缓存器模块53。请注意,在所述系统错误与所述bmc传感器41有关的情况下,所述bmc日志数据不仅包含先前已缓存的所述
bmc正常日志,还包含在步骤309中缓存的所述bmc错误日志,而在所述系统错与所述bmc传感器41无关的情况下,所述bmc日志数据至少包含在步骤308中缓存的所述bmc正常日志。
54.至此,在运行阶段的错误日志收集被实现。
55.特别要说明的是,在进行侦错与分析时,只须通过与所述服务器系统100连接的分析服务器600(见图4),即时以下载的方式,从所述服务器系统100下载存储于所述缓存器模块53的错误日志档案,藉此容易获取侦错与分析所需的相关数据。
56.以下,将进一步说明所述分析服务器600的架构与操作。
57.参阅图1及图4,所述分析服务器600可以包含处理单元61以及连接所述处理单元的数据库62。所述处理单元61例如包含有下载模块、分析模块以及剖析模块。所述分析服务器600通过所述下载模块从所述服务器系统100至少下载存储于所述缓存器模块53的错误日志档案并将下载的错误日志档案存储于所述数据库62,之后并通过所述分析模块分析所述数据库存储的错误日志档案,以获得分析结果,并且,更进一步的,还可以将分析结果存储于所述数据库62。另一方面,所述分析服务器600通过所述剖析模块(其具体可为例如剖析编程),对所述数据库存储的错误日志档案进行剖析以获得剖析结果,并且例如以但不限于html格式输出所述剖析结果,以供所述分析服务器600的管理者检视。
58.除此之外,较佳地,参阅图1,本实施例的服务器系统100还可以通过执行存储于所述存储器模块51或其他存储媒体(如硬盘)的剖析编程(parser),对缓存于所述缓存器模块53的错误日志档案进行剖析以获得剖析结果。换言之,所述服务器系统100自身即具备有剖析功能,并且本实施例的服务器系统100还可以将获得的剖析结果传送至用户端(图未示)以供其显示或输出剖析结果。举例来说,图5显示的剖析结果700例如可以包含但不限于错误型态以及错误说明,用以呈现出发生错误的组件以及相应的错误说明,藉此可以提供用户先行初步了解问题所在。
59.综上所述,本发明的错误收集方法相较于现有技术具有以下优点:
60.1、由于在bios程序执行时侦测到所述硬件组件2发生错误时或是在所述bmc 3侦测到系统错误时,能及时根据发生错误的硬件组件2/cpu1的当下情况的数据产生结构化的bios错误日志,因此由所述bmc 3打包的错误日志档案能充分反应错误发生时硬件的操作状况,因而有利于重建错误发生的硬件环境;
61.2、由于所述bios错误日志及所述bios正常日志均具有结构化的数据内容,同时所述错误日志档案不仅打包有bios错误日志和bmc错误日志,还打包有先前的bios正常日志和bmc正常日志,因此大大地有利于管理者后续的侦错和分析工作;及
62.3、所述bmc 3会将相应于每一次错误的错误日志档案存储在所述缓存器模块53,如此外部的分析服务器只要经由通信网络与所述服务器系统100连接后,便能以方便的下载方式容易且即时地从所述服务器系统获取所述错误日志档案,避免现有技术所遭遇的不便并且大幅降低侦错成本。
63.以上所述者,仅为本发明的实施例而已,当不能以此限定本发明实施的范围,即凡依本发明权利要求书及说明书内容所作的简单的等效变化与修饰,皆仍属本发明的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜