本发明涉及计算机,具体而言,涉及一种cpu状态监控方法、装置、系统、设备及存储介质。
背景技术:
1、cpu(central processing unit / processor,中央处理器)是计算机的核心器件之一,如果cpu在使用过程中出现故障,轻则导致软件或系统运行异常,重则导致设备出现宕机、无法正常开机等异常情况。
2、国产自主平台飞腾的“腾云s2500”cpu以及相关配套使用的国产bmc(baseboardmanagement controller,基板管理控制器)、bios(basic input output system,基本输入输出系统)固件版本,并不支持在bmc管理页面查看cpu的状态和异常信息,若cpu发生错误并引起服务器崩溃,无法从bmc得到任何关于cpu的明确的信息和日志,非常不利于日常维护、问题定位。为了定位cpu相关的问题,目前主要通过人工手动逐台读取所有服务器的cpu寄存器的方式来判断cpu是否正常、是否存在pcie(peripheral component interconnectexpress,高速串行计算机扩展总线标准,cpu与外部设备如网卡、nvme硬盘、gpu等交互使用)、内存、fit(fast interconnect transport,芯片间直连端口,是两路cpu之间互联使用)等硬件相关方面的错误。
3、而随着it(internet technology,互联网技术)领域国产自主化进程的推进,s2500 cpu基本上都是大规模应用于行业领域的大型互联网数据中心,一般都有几百台服务器的数量。在这种场景下,如果日常维护或者问题定位时还需要一台台人工手动读取并判定返回值是否正确,就显得太过累赘,不够便捷。
技术实现思路
1、本发明实施例的目的在于提供一种cpu状态监控方法、装置、系统、设备及存储介质,用以实现自动监控大量服务终端的cpu状态,提高服务终端运维效率的技术效果。
2、第一方面,本发明实施例提供了一种cpu状态监控方法,适用于运维终端,所述方法包括:
3、从所有服务终端中筛选所有预选服务终端,根据各个所述预选服务终端的设备信息,生成预选服务终端设备信息列表;其中,所述预选服务终端为设置有支持监控cpu状态的bmc的所述服务终端;
4、基于所述预选服务终端设备信息列表,选择至少一个所述预选服务终端作为目标服务终端,触发各个所述目标服务终端根据自身的配置文件监控cpu状态,得到所有所述目标服务终端的cpu状态监控结果。
5、在上述实现过程中,通过预先在各个预选服务终端内存储配置文件,由运维终端从所有预选服务终端中选择至少一个目标服务终端,触发各个目标服务终端根据自身配置文件监控cpu状态,得到所有目标服务终端的cpu状态监控结果,能够自动监控大量服务终端的cpu状态,提高服务终端运维效率。
6、进一步地,所述从所有服务终端中筛选所有预选服务终端,根据各个所述预选服务终端的设备信息,生成预选服务终端设备信息列表,具体包括:
7、向所有所述服务终端发送唤醒请求报文,使所有所述预选服务终端均解析所述唤醒请求报文返回唤醒应答报文;
8、从各个所述预选服务终端返回的唤醒应答报文中对应提取各个所述预选服务终端的设备信息;
9、根据所有所述预选服务终端的设备信息,生成所述预选服务终端设备信息列表。
10、在上述实现过程中,通过由运维终端向所有服务终端发送仅预选服务终端可解析的唤醒请求报文,从各个预选服务终端返回的唤醒应答报文中对应提取各个预选服务终端的设备信息来生成预选服务终端设备信息列表,能够快速准确地筛选所有预选服务终端和获取各个预选服务终端的设备信息,有利于进一步提高服务终端运维效率。
11、进一步地,在所述基于所述预选服务终端设备信息列表,选择至少一个所述预选服务终端作为目标服务终端,触发各个所述目标服务终端根据自身的配置文件监控cpu状态,得到所有所述目标服务终端的cpu状态监控结果之前,还包括:
12、响应用户发起的配置文件定制请求,基于预先定义的配置文件编写规则,修改初始配置文件,得到更新配置文件;
13、基于所述预选服务终端设备信息列表,选择至少一个所述预选服务终端作为定制服务终端,触发各个所述定制服务终端下载所述更新配置文件作为自身的配置文件。
14、在上述实现过程中,通过由运维终端响应用户发起的配置文件定制请求来编写更新配置文件,触发选择的各个定制服务终端下载更新配置文件作为自身的配置文件,能够更好地满足用户的运维需求,进一步提高服务终端运维效率。
15、进一步地,所述触发各个所述定制服务终端下载所述更新配置文件作为自身的配置文件,具体包括:
16、对于每一所述定制服务终端,向所述定制服务终端发送配置文件更新触发报文,使所述定制服务终端在预设间隔时间后,基于tftp协议下载所述更新配置文件和上报更新配置文件下载结果。
17、在上述实现过程中,通过由运维终端触发定制服务终端在预设间隔时间后,基于tftp协议下载更新配置文件和上报更新配置文件下载结果,能够保证各个定制服务终端有效更新自身的配置文件,进一步提高服务终端运维效率。
18、进一步地,所述触发各个所述目标服务终端根据自身的配置文件监控cpu状态,得到所有所述目标服务终端的cpu状态监控结果,具体包括:
19、对于每一所述目标服务终端,向所述目标服务终端发送cpu状态监控触发报文,触发所述目标服务终端执行:
20、根据第一配置文件,将所述目标服务终端cpu中启用监控任务的所有寄存器作为目标寄存器;
21、根据第二配置文件,对于每一所述目标寄存器,当所述目标寄存器启用初始化操作时,对所述目标寄存器进行初始化操作;
22、按照所述目标寄存器的监控任务执行周期执行所述目标寄存器的寄存器信息读取指令,得到所述目标寄存器的信息;
23、基于所述目标寄存器的寄存器监控规则,根据所述目标寄存器的信息判断所述目标寄存器是否异常运行,得到所述目标寄存器的监控结果;
24、结合所有所述目标寄存器的监控结果,得到所述目标服务终端的cpu状态监控结果;
25、其中,所述目标服务终端自身的配置文件包括所述第一配置文件、所述第二配置文件,所述第一配置文件包括所述目标服务终端cpu中各个寄存器的id、监控任务启用状态、监控任务执行周期,所述第二配置文件包括所述目标服务终端cpu中各个寄存器的初始化操作启用状态、寄存器信息读取指令、寄存器监控规则。
26、在上述实现过程中,通过由运维终端触发各个目标服务终端根据自身的配置文件监控cpu状态,使得各个目标服务终端可快速准确地监测配置文件中指定寄存器的信息来辅助运维终端监控cpu状态,能够自动监控大量服务终端的cpu状态,提高服务终端运维效率。
27、进一步地,所述触发各个所述目标服务终端根据自身的配置文件监控cpu状态,得到所有所述目标服务终端的cpu状态监控结果,具体还包括:
28、当所述目标寄存器的监控结果为所述目标寄存器异常运行时,接收所述目标服务终端发送的目标寄存器异常提示信息;其中,所述目标寄存器异常提示信息包括所述目标寄存器的id;
29、向所述目标服务终端发送寄存器信息收集触发报文,触发所述目标服务终端发送cpu各个寄存器的信息。
30、在上述实现过程中,通过由运维终端在接收到目标服务终端发送的目标寄存器异常提示信息时,向目标服务终端发送寄存器信息收集触发报文,触发目标服务终端发送cpu各个寄存器的信息,能够及时获取目标服务终端cpu各个寄存器的信息,方便用户根据目标服务终端cpu各个寄存器的信息进行异常分析。
31、第二方面,本发明实施例提供一种cpu状态监控装置,适用于运维终端,所述装置包括:
32、服务终端筛选模块,用于从所有服务终端中筛选所有预选服务终端,根据各个所述预选服务终端的设备信息,生成预选服务终端设备信息列表;其中,所述预选服务终端为设置有支持监控cpu状态的bmc的所述服务终端;
33、cpu状态监控模块,用于基于所述预选服务终端设备信息列表,选择至少一个所述预选服务终端作为目标服务终端,触发各个所述目标服务终端根据自身的配置文件监控cpu状态,得到所有所述目标服务终端的cpu状态监控结果。
34、第三方面,本发明实施例提供一种cpu状态监控系统,包括运维终端和至少一个服务终端;各个所述服务终端均与所述运维终端通信连接;
35、所述运维终端,用于:
36、从所有服务终端中筛选所有预选服务终端,根据各个所述预选服务终端的设备信息,生成预选服务终端设备信息列表;其中,所述预选服务终端为设置有支持监控cpu状态的bmc的所述服务终端;
37、基于所述预选服务终端设备信息列表,选择至少一个所述预选服务终端作为目标服务终端,触发各个所述目标服务终端根据自身的配置文件监控cpu状态,得到所有所述目标服务终端的cpu状态监控结果。
38、第四方面,本发明实施例提供一种电子设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序;所述存储器与所述处理器耦接,且所述处理器执行所述计算机程序时实现如上所述的cpu状态监控方法。
39、第五方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序;其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上所述的cpu状态监控方法。