一种BMC主动上报日志信息的方法和系统技术方案

技术编号:27751392 阅读:21 留言:0更新日期:2021-03-19 13:47
本发明专利技术提出了一种BMC主动上报日志信息的方法和系统,该方法包括以下步骤:BMC单元收集各传感器的日志信息,向BMC单元的CPU发出举手请求,在CPU允许举手请求后,将日志信息传递给预定义的日志注册表;通过日志注册表使诊断单元发出回调函数的地址参数,并将日志注册表的地址作为回调函数的输入返回至诊断单元;接收诊断单元返回的回调函数的地址上报日志信息,使诊断单元根据日志信息做相应处理。基于该方法,本发明专利技术还提出了一种BMC主动上报日志信息的系统。本发明专利技术在BMC单元和诊断单元之间实现了日志信息的主动上报,通过RPC通信实现系统间信息传输,通过回调函数和中断实现主动上报,提高了代码运行效率。

【技术实现步骤摘要】
一种BMC主动上报日志信息的方法和系统
本专利技术属于服务器
,特别涉及一种BMC主动上报日志信息的方法和系统。
技术介绍
服务器在开发和使用过程中需要对CPU(CentralProcessingUnit,中央处理器)、内存、硬盘、电源、温度、电压、风扇、功耗等进行监控。Bmc(BaseboardManagementController,基板管理控制器)是检测和控制服务器的关键部件。服务器诊断系统需要通过读取Bmc的检测日志获取报错信息。服务器系统如何及时获取并处理Bmc的报错,非常必要。目前,Bmc支持带内命令被动读取的方式或者带外snmp方式主动上报。Bmc带内命令被动读取方式需要app或者诊断系统定时重复访问Bmc系统,但是这样存在实时性不够强,执行效率相对较低;一直轮询访问,还会占用比较多的资源。带外snmp(SimpleNetworkManagementProtocol,简单网络管理协议)访问,对于本机系统的情况下又不适用。如图1给出了现有技术中BMC被动查找日志的方法流程图。BMC的一条日志信息大致经过两个主要过程,以传感器1产生的日志文件为例。BMC系统中划分出某一内存空间,存放BMC日志文件。BMC收集到传感器1的日志信息,并把它们存储到系统的BMC日志文件中诊断系统通过命令方位BMC系统,询问是否有传感器1的日志文件,CPU再到BMC日志文件中查找有没有传感器1的日志文件,有的话返回相关日志,没有则返回0值。BMC被动查找的方法存在以下优缺点。优点为:BMC系统和诊断系统之间通过Ipmitool工具通信,ipmitool已经被广泛使用,稳定性强;诊断系统作为主动方,函数不涉及指针等,实现相对简洁。缺点为:BMC系统中划分出某一内存空间,存放BMC日志文件的过程BMC生成的日志文件存放在BMC日志文件中,不能及时传递,造成信息传递实时性不够强。如果是关键日志信息可能会延误诊断系统的诊断。并且BMC系统内存空间相对较小,BMC日志文件会占用一定的内存空间。诊断系统通过命令访问BMC系统,询问是否有传感器1的日志文件的过程为:诊断系统并不知道BMC系统中有没有产生相应的传感器日志,只是在定时或者在诊断系统的每个测试项结束时去访问BMC系统。这就导致轮询访问占用较多的资源,还不一定能拿到自己想要的数据;另一方面,如果在每个测试项结束时去访问,但是有些压力测试测试时间长达几小时,如果在一开始BMC就生产了相应报错日志,那只能在几个小时后去查看到结果,实时性不够强。
技术实现思路
为了解决上述技术问题,本专利技术提出了一种BMC主动上报日志信息的方法和系统,通过RPC通信实现系统间信息传输,通过回调函数和中断实现BMC日志信息的主动上报。为实现上述目的,本专利技术采用以下技术方案:一种BMC主动上报日志信息的方法,包括以下步骤:BMC单元收集各传感器的日志信息,向所述BMC单元的CPU发出举手请求,在所述CPU允许举手请求后,将日志信息传递给预定义的日志注册表;通过所述日志注册表使诊断单元发出回调函数的地址参数,并将所述日志注册表的地址作为回调函数的输入返回至诊断单元;接收诊断单元返回的回调函数的地址上报日志信息,使诊断单元根据所述日志信息做相应处理。进一步的,所述BMC单元根据所述日志注册表决定日志是否上报至诊断单元。进一步的,BMC单元通过虚拟平台与诊断单元进行通信;所述虚拟平台用于定义并生成BMC单元和诊断单元一一对应的日志注册表。进一步的,所述虚拟平台采用RPC虚拟单元,用于实现在BMC单元和诊断单元之间跨语言跨进程通信。进一步的,所述在BMC单元和诊断单元之间跨语言跨进程通信通过唯一标识实现;所述唯一的标识采用BMC单元的IP和诊断单元的端口号。本专利技术还提出了一种BMC主动上报日志信息的系统,包括收集传递模块、发出返回模块和接收处理模块;所述收集传递模块用于BMC单元收集各传感器的日志信息,向所述BMC单元的CPU发出举手请求,在所述CPU允许举手请求后,将日志信息传递给预定义的日志注册表;所述发出返回模块用于通过所述日志注册表使诊断单元发出回调函数的地址参数,并将所述日志注册表的地址作为回调函数的输入返回至诊断单元;所述接收处理模块用于接收诊断单元返回的回调函数的地址上报日志信息,使诊断单元根据所述日志信息做相应处理。进一步的,所述收集传递模块包括收集模块和传递模块;所述收集模块用于BMC单元收集各传感器的日志信息;所述传递模块用于向所述BMC单元的CPU发出举手请求,在所述CPU允许举手请求后,将日志信息传递给预定义的日志注册表;并根据所述日志注册表决定日志是否上报至诊断单元。进一步的,所述发出返回模块包括发出模块和返回模块;所述发出模块用于通过所述日志注册表使诊断单元发出回调函数的地址参数;所述返回模块用于将所述日志注册表的地址作为回调函数的输入返回至诊断单元。进一步的,所述接收处理模块包括接收模块和处理模块;所述接收模块用于接收诊断单元返回的回调函数的地址上报日志信息;所述处理模块用于使诊断单元根据所述日志信息做相应处理。进一步的,所述BMC单元通过虚拟平台与诊断单元进行通信;所述虚拟平台用于定义并生成BMC单元和诊断单元一一对应的日志注册表。
技术实现思路
中提供的效果仅仅是实施例的效果,而不是专利技术所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:本专利技术提出了一种BMC主动上报日志信息的方法和系统,该方法包括以下步骤:BMC单元收集各传感器的日志信息,向BMC单元的CPU发出举手请求,在CPU允许举手请求后,将日志信息传递给预定义的日志注册表;通过日志注册表使诊断单元发出回调函数的地址参数,并将日志注册表的地址作为回调函数的输入返回至诊断单元;接收诊断单元返回的回调函数的地址上报日志信息,使诊断单元根据日志信息做相应处理。本专利技术中RPC虚拟单元实现在BMC单元和诊断单元之间跨语言跨进程通信,以及定义并生成BMC单元和诊断单元一一对应的日志注册表;在BMC单元与诊断单元之间设定唯一的标识。唯一的标识采用BMC单元的IP和诊断单元的端口号。基于本专利技术提出了一种BMC主动上报日志信息的方法,本专利技术还提出了一种BMC主动上报日志信息的系统。本专利技术BMC单元和诊断单元之间日志信息传输实现了BMC系统主动上报功能,通过RPC通信实现系统间信息传输,通过回调函数和中断实现主动上报。通过BMC主动上报,在少占用资源的情况下,能及时上报信息,提高了代码运行效率,提高了日志上报的准确率。附图说明如图1为现有技术中BMC被动查找日志的方法流程图;如图2为本专利技术实施例1一种BMC主动上报日志信息的方法实现示意图;如图3为本专利技术实施例2一种BMC主动上报日志信息的系统示意图。具体实施方式为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图本文档来自技高网
...

【技术保护点】
1.一种BMC主动上报日志信息的方法,其特征在于,包括以下步骤:/nBMC单元收集各传感器的日志信息,向所述BMC单元的CPU发出举手请求,在所述CPU允许举手请求后,将日志信息传递给预定义的日志注册表;/n通过所述日志注册表使诊断单元发出回调函数的地址参数,并将所述日志注册表的地址作为回调函数的输入返回至诊断单元;/n接收诊断单元返回的回调函数的地址上报日志信息,使诊断单元根据所述日志信息做相应处理。/n

【技术特征摘要】
1.一种BMC主动上报日志信息的方法,其特征在于,包括以下步骤:
BMC单元收集各传感器的日志信息,向所述BMC单元的CPU发出举手请求,在所述CPU允许举手请求后,将日志信息传递给预定义的日志注册表;
通过所述日志注册表使诊断单元发出回调函数的地址参数,并将所述日志注册表的地址作为回调函数的输入返回至诊断单元;
接收诊断单元返回的回调函数的地址上报日志信息,使诊断单元根据所述日志信息做相应处理。


2.根据权利要求1所述的一种BMC主动上报日志信息的方法,其特征在于,所述BMC单元根据所述日志注册表决定日志是否上报至诊断单元。


3.根据权利要求1所述的一种BMC主动上报日志信息的方法,其特征在于,BMC单元通过虚拟平台与诊断单元进行通信;所述虚拟平台用于定义并生成BMC单元和诊断单元一一对应的日志注册表。


4.根据权利要求1所述的一种BMC主动上报日志信息的方法,其特征在于,所述虚拟平台采用RPC虚拟单元,用于实现在BMC单元和诊断单元之间跨语言跨进程通信。


5.根据权利要求4所述的一种BMC主动上报日志信息的方法,其特征在于,所述在BMC单元和诊断单元之间跨语言跨进程通信通过唯一标识实现;所述唯一的标识采用BMC单元的IP和诊断单元的端口号。


6.一种BMC主动上报日志信息的系统,其特征在于,包括收集传递模块、发出返回模块和接收处理模块;
所述收集传递模块用于BMC单元收集各传感器的日志信息,向所述BMC单元的CPU发出举手请求,在所述CPU允许举手请求后,将日志信...

【专利技术属性】
技术研发人员:云元丰
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1