本发明涉及服务器,具体涉及服务器宕机的诊断方法、系统、装置、设备及存储介质。
背景技术:
1、为了满足服务器日益增多的功能需要,基本输入输出系统(basic input outputsystem,bios)中往往会增加大量的驱动代码对服务器的功能需求进行支持,这也就导致服务器启动过程中由于代码、外围设备出现问题而宕机的概率有所增加。由于客户端的服务器通常已经趋于稳定,在出现上述宕机问题时,一般比较难以在研发端还原现场复现,往往需要人员花费大量的时间对宕机问题进行分析定位,效率低下。
技术实现思路
1、有鉴于此,本发明提供了一种服务器宕机的诊断方法、系统、设备及存储介质,以解决宕机问题的定位需要花费较多时间、效率低下的问题。
2、第一方面,本发明提供了一种服务器宕机的诊断方法,应用于诊断服务器中,诊断服务器与服务器通信连接;该方法包括:
3、接收服务器中基板管理控制器发送的宕机日志和密钥信息;
4、基于第一密钥对密钥信息进行解密并校验;
5、当密钥信息校验通过时,对宕机日志进行分析,获取目标代码段;
6、将目标代码段与案例库进行匹配,得到宕机日志的分析结果;案例库包括多条代码段以及代码段对应的案例分析信息。
7、如此,可以通过案例库对宕机日志中的目标代码段进行匹配,得到宕机日志的分析结果,从而提高宕机问题定位的效率。
8、在一种可选的实施方式中,基于第一密钥对密钥信息进行解密并校验,包括:
9、基于第一密钥对密钥信息进行解密,得到待校验标签信息;
10、在诊断服务器存储的标签信息列表中,查找待校验标签信息;
11、当在标签信息列表中存在待校验标签信息时,确定密钥信息校验通过,待校验标签信息为密钥信息对应的标签信息。
12、对宕机日志进行分析,得到目标代码段,包括:
13、基于密钥信息,确定基本输入输出系统的编译环境;编译环境由基本输入输出系统在编译完成后上传;
14、确定宕机日志中目标类型对应的异常信息;目标类型为基本输入输出系统异常对应的宕机类型;
15、基于异常信息和编译环境,对宕机日志进行定位,得到目标代码段。
16、如此,可以基于密钥信息确定基本输入输出系统的编译环境,从而结合基本输入输出系统的编译环境,对宕机日志进行分析定位,得到目标代码段。
17、在一种可选的实施方式中,基于异常信息和编译环境,对宕机日志进行定位,得到目标代码段,包括:
18、基于异常信息,确定异常信息对应的异常模块以及异常信息对应的异常指令的偏移;异常指令对应的代码段为目标代码段;
19、基于异常模块的偏移和异常指令的偏移,确定异常指令在异常模块内的偏移;
20、基于编译环境,确定异常模块中每个指令对应的对象以及每个指令在异常模块内的偏移;指令对应的对象与指令在异常模块内的偏移一一对应;
21、在指令对应的对象中查找异常指令在异常模块内的偏移对应的对象,得到异常指令对应的异常对象;
22、在编译环境的固件接口文件中查找异常指令在异常模块内的偏移对应的指令码,得到异常指令对应的异常指令码;
23、在编译环境的源程序文件中查找异常指令码对应的指令,得到异常指令;
24、在异常对象对应的代码段中查找异常指令对应的代码段,得到目标代码段。
25、在一种可选的实施方式中,将目标代码段与案例库进行匹配,得到宕机日志的分析结果,包括:
26、当在案例库中查找到目标代码段时,获取目标代码段对应的案例分析信息;
27、将目标代码段和案例分析信息组合,作为分析结果;
28、当未在案例库中查找到目标代码段时,将目标代码段作为分析结果。
29、第二方面,本发明提供了一种服务器宕机的诊断方法,应用于服务器中,服务器与诊断服务器通信连接;该方法包括:
30、当服务器发生宕机时,对宕机日志进行解析,确定服务器的宕机类型;
31、当宕机类型为目标类型时,将宕机日志和服务器的基本输入输出系统的密钥信息发送给诊断服务器,以得到宕机原因的分析结果;分析结果为诊断服务器在对密钥信息校验通过后,基于宕机日志和案例库对服务器的宕机原因进行分析得到的;案例库包括多条代码段以及代码段对应的案例分析信息。
32、如此,可以通过诊断服务器自动对宕机类型为目标类型的宕机问题进行定位,得到分析结果,从而提高宕机问题定位的效率。
33、在一种可选的实施方式中,对宕机日志进行解析,确定服务器的宕机类型,包括:
34、对宕机日志进行解析,以在宕机日志中查找关键字段;
35、当关键字段中包括目标字段时,确定宕机类型为目标类型。
36、在一种可选的实施方式中,该方法还包括:
37、每间隔第一预设时间,向诊断服务器发送分析结果获取请求;
38、若在第二预设时间内从诊断服务器中获取到分析结果,确定宕机原因分析成功,并保存分析结果;
39、若在第二预设时间内未从诊断服务器中获取到分析结果,确定宕机原因分析失败,并在宕机日志内记录分析失败。
40、如此,可以定时轮询诊断服务器以获取分析结果,并且通过设置第二预设时间的时间限制,避免诊断服务器未响应或者分析失败却依然长时间等待诊断服务器的分析结果。
41、在一种可选的实施方式中,密钥信息是基板输入输出系统基于第二密钥对标签信息进行加密后得到的;标签信息用于标识基板输入输出系统的编译环境;第二密钥与第一密钥对应;基本输入输出系统的密钥信息的获取方式包括:
42、当服务器启动时,接收基本输入输出系统发送的密钥信息。
43、第三方面,本发明提供了一种服务器宕机的诊断系统,该系统包括服务器和诊断服务器;服务器和诊断服务器通信连接;
44、基板管理控制器用于当服务器发生宕机时,对宕机日志进行解析,确定服务器的宕机类型;当宕机类型为目标类型时,将宕机日志和基本输入输出系统的密钥信息发送给诊断服务器,以得到宕机原因的分析结果;
45、诊断服务器包括诊断服务系统和案例库,案例库包括多条代码段以及代码段对应的案例分析信息;诊断服务系统和案例库通信连接;案例库用于向诊断服务系统提供代码段和案例分析信息;诊断服务系统用于接收基板管理控制器发送的宕机日志和密钥信息,基于第一密钥对密钥信息进行解密并校验,当密钥信息校验通过时,对宕机日志进行分析,获取目标代码段,将目标代码段与案例库进行匹配,得到分析结果;
46、基本输入输出系统用于基于第二密钥对标签信息进行加密,得到密钥信息,并且在服务器启动时,将密钥信息发送给基板管理控制器;第一密钥与第二密钥对应。
47、第四方面,本发明提供了一种服务器宕机的诊断装置,应用于诊断服务器中,诊断服务器与服务器通信连接;该装置包括:
48、宕机日志接收模块,用于接收服务器中基板管理控制器发送的宕机日志和密钥信息;
49、密钥信息校验模块,用于基于第一密钥对密钥信息进行解密并校验;
50、目标代码段获取模块,用于当密钥信息校验通过时,对宕机日志进行分析,获取目标代码段;
51、分析结果确定模块,用于将目标代码段与案例库进行匹配,得到宕机日志的分析结果;案例库包括多条代码段以及代码段对应的案例分析信息。
52、第五方面,本发明提供了一种服务器宕机的诊断装置,应用于服务器中,服务器与诊断服务器通信连接;该装置包括:
53、宕机类型确定模块,用于当服务器发生宕机时,对宕机日志进行解析,确定服务器的宕机类型;
54、宕机日志发送模块,用于当宕机类型为目标类型时,将宕机日志和服务器的基本输入输出系统的密钥信息发送给诊断服务器,以得到宕机原因的分析结果;分析结果为诊断服务器在对密钥信息校验通过后,基于宕机日志和案例库对服务器的宕机原因进行分析得到的;案例库包括多条代码段以及代码段对应的案例分析信息。
55、第六方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面、第二方面或其对应的任一实施方式的服务器宕机的诊断方法。
56、第七方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面、第二方面或其对应的任一实施方式的服务器宕机的诊断方法。