CN110806955A - 一种基于python的服务器DC Cycle测试方法与*** - Google Patents

一种基于python的服务器DC Cycle测试方法与*** Download PDF

Info

Publication number
CN110806955A
CN110806955A CN201910911861.8A CN201910911861A CN110806955A CN 110806955 A CN110806955 A CN 110806955A CN 201910911861 A CN201910911861 A CN 201910911861A CN 110806955 A CN110806955 A CN 110806955A
Authority
CN
China
Prior art keywords
fault
state
python
database
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN201910911861.8A
Other languages
English (en)
Inventor
郭伯亚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Wave Intelligent Technology Co Ltd
Original Assignee
Suzhou Wave Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Wave Intelligent Technology Co Ltd filed Critical Suzhou Wave Intelligent Technology Co Ltd
Priority to CN201910911861.8A priority Critical patent/CN110806955A/zh
Publication of CN110806955A publication Critical patent/CN110806955A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2252Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using fault dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明提供了一种基于python的服务器DC Cycle测试方法与***,本发明基于python程序,调用IPMI工具获取服务器各硬件的状态信息,并将BMC黑盒日志通过邮件发送至指定邮箱,并将BMC黑盒日志进行解析,与规则数据库中的内容进行匹配,得到故障类型并定位故障位置,从而实现DC Cycle测试;本发明不需要额外的硬件设备即可对目标服务器实现开关机操作,通过远程服务器可以实现一对多的控制方案,自动完成测试过程中日志和打印***信息的收集以及信息的预处理,另外报错信息可以及时的通知到研发人员,便于保存现场收集更多的故障信息。

Description

一种基于python的服务器DC Cycle测试方法与***
技术领域
本发明涉及DC测试技术领域,特别是一种基于python的服务器DC Cycle测试方法与***。
背景技术
随着现代社会步入信息时代,如今的电子信息技术已经与日常生活融为一体,随处可见的电子信息技术:智能机器人,智能手机,智能家居等,一直在发展进步,为人们的生活带来了极大的便利,在不久的将来,5G技术,物联网,区块链技术,无人驾驶技术也将逐步而来,这些新技术的发展和实现,是基于互联网呈指数增长的数据量和对数据处理能力越来越高的要求。
数据的***式增长不但对计算能力的要求越来越高,而且对于服务器稳定性的要求也日益严苛,服务器一天24小时不间断运行,不可避免的会出现各种问题,一旦出现故障,损失往往都很严重。因此在服务器设计时,对于稳定性的测试十分必要。
在服务器的启动过程中,服务器会扫描所挂载的设备,然后对所有设备进行资源分配和并进行初始化动作和自检动作。在这个过程中,很大一部分设计问题或者兼容性问题会暴露出来,而在服务器稳定运行的过程中,这些问题反而很少出现。所以服务器在反复开关机的的情况下是否能够稳定的开机启动,进入***并成功加载所有***软硬件资源是衡量服务器稳定性的一个重要指标。
现有技术的DC Cycle方案,在整个测试过程中只能单纯的进行服务器开关机操作和日志收集,无法对测试过程中的信息进行预处理,并且对于服务器在测试过程中产生的报警信息只能进行记录,研发人员不能够及时的知晓报警信息并到现场收集其他故障信息。
发明内容
本发明的目的是提供一种基于python的服务器DC Cycle测试方法与***,旨在解决现有技术中DC Cycle测试时产生的报警信息无法及时提供给研发人员的问题,实现自动完成测试过程中日志和打印***信息的收集以及信息的预处理,而且报错信息可及时通知到研发人员,便于保存现场收集更多的故障信息。
为达到上述技术目的,本发明提供了一种基于python的服务器DC Cycle测试方法,所述方法包括以下步骤:
S1、调用IPMI模块,获取目标服务器电源状态;
S2、当电源状态为开机时,以root管理员登入操作***,通过IPMI命令分别获取硬件状态;当没有登入操作***或硬件有故障时,将故障日志通过SMTP模块发送至指定邮箱;
S3、将故障日志进行解析,并与规则数据库中的内容进行匹配,得到故障类型并定位故障位置;
S4、DC Cycle测试次数加1,直至满足设定次数。
优选地,所述硬件状态包括CPU状态、内存状态、PCI总线挂载设备状态以及硬盘状态。
优选地,所述规则数据库包括CPU故障数据库、内存故障数据库、PCI故障数据库以及硬盘故障数据库。
优选地,所述方法基于python程序。
本发明还提供了一种基于python的服务器DC Cycle测试***,所述***包括:
电源状态获取模块,用于调用IPMI模块,获取目标服务器电源状态;
硬件状态获取模块,用于当电源状态为开机时,以root管理员登入操作***,通过IPMI命令分别获取硬件状态;当没有登入操作***或硬件有故障时,将故障日志通过SMTP模块发送至指定邮箱;
故障解析模块,用于将故障日志进行解析,并与规则数据库中的内容进行匹配,得到故障类型并定位故障位置;
测试循环执行模块,用于DC Cycle测试次数加1,直至满足设定次数。
优选地,所述硬件状态包括CPU状态、内存状态、PCI总线挂载设备状态以及硬盘状态。
优选地,所述规则数据库包括CPU故障数据库、内存故障数据库、PCI故障数据库以及硬盘故障数据库。
优选地,所述***基于python程序。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
与现有技术相比,本发明基于python程序,调用IPMI工具获取服务器各硬件的状态信息,并将BMC黑盒日志通过邮件发送至指定邮箱,并将BMC黑盒日志进行解析,与规则数据库中的内容进行匹配,得到故障类型并定位故障位置,从而实现DC Cycle测试;本发明不需要额外的硬件设备即可对目标服务器实现开关机操作,通过远程服务器可以实现一对多的控制方案,自动完成测试过程中日志和打印***信息的收集以及信息的预处理,另外报错信息可以及时的通知到研发人员,便于保存现场收集更多的故障信息。
附图说明
图1为本发明实施例中所提供的一种基于python的服务器DC Cycle测试方法流程图;
图2为本发明实施例中所提供的一种基于python的服务器DC Cycle测试***框图。
具体实施方式
为了能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
下面结合附图对本发明实施例所提供的一种基于python的服务器DC Cycle测试方法与***进行详细说明。
如图1所示,本发明公开了一种基于python的服务器DC Cycle测试方法,所述方法包括以下步骤:
S1、调用IPMI模块,获取目标服务器电源状态;
S2、当电源状态为开机时,以root管理员登入操作***,通过IPMI命令分别获取硬件状态;当没有登入操作***或硬件有故障时,将故障日志通过SMTP模块发送至指定邮箱;
S3、将故障日志进行解析,并与规则数据库中的内容进行匹配,得到故障类型并定位故障位置;
S4、DC Cycle测试次数加1,直至满足设定次数。
本发明实施例采用python程序,实现在程序内调用IPMI模块对目标服务器远程开关机和***硬件信息检查的同时,还可以对抓取到的BMC日志和***信息进行预处理和分类,在有报错的情况下通过邮件及时告知研发人员到现场收集更多的故障信息并进行处理。
运行python程序,调用IPMI模块,获取目标服务器电源状态,通过以下指令获取电源状态:
#ipmitool–I lanplus–H$ip–U ADMIN chassis power status
当获得目标服务器电源状态为关闭时则发送开机指令,让目标服务器开机,如果目标服务器电源状态为开启时,则继续进行下述操作。
获取服务器状态,判断目标服务器是否进入操作***中,如果进入操作***,如果进入操作***,以root管理员登入操作***,并分别检查CPU状态、内存状态、PCI总线挂载设备状态以及硬盘状态。如果没有进入操作***,或者CPU、内存、PCI总线挂载设备以及硬盘有错误的话,则保存BMC黑盒日志,打印检查信息到指定目录下,通过python的SMTP模块将告警信息和打印出来的检查信息发送到指定邮箱。
当***下硬件检查都通过后,执行关机命令,从而DC Cycle测试计数器加1,检查执行次数是否小于设定次数,如果是则发送开机命令,否则结束测试。
对于故障信息,收集BMC黑盒日志,并对BMC黑盒日志进行解析,将其与规则数据库的内容进行匹配,得到故障类型并定位故障位置,依据设备类型的不同,故障类型分为CPU故障类、内存故障类、PCI设备故障类以及硬盘故障类。当解析出故障类型为CPU故障类时,匹配CPU故障数据库,定位故障CPU;当解析出故障类型为内存故障类时,匹配内存故障数据库,定位故障内存;当解析出故障类型为PCI设备故障类时,匹配PCI故障数据库,定位故障PCI设备;当解析出故障类型为硬盘故障类时,匹配硬盘故障数据库,定位故障硬盘。
所述规则数据库中记录对应故障器件的维修或更换规则,在定位到故障部件时,直接提供维修或更换策略。
本发明实施例基于python程序,调用IPMI工具获取服务器各硬件的状态信息,并将BMC黑盒日志通过邮件发送至指定邮箱,并将BMC黑盒日志进行解析,与规则数据库中的内容进行匹配,得到故障类型并定位故障位置,从而实现DC Cycle测试;本发明不需要额外的硬件设备即可对目标服务器实现开关机操作,通过远程服务器可以实现一对多的控制方案,自动完成测试过程中日志和打印***信息的收集以及信息的预处理,另外报错信息可以及时的通知到研发人员,便于保存现场收集更多的故障信息。
如图2所示,本发明实施例还公开了一种基于python的服务器DC Cycle周期测试***,所述***包括:
电源状态获取模块,用于调用IPMI模块,获取目标服务器电源状态;
硬件状态获取模块,用于当电源状态为开机时,以root管理员登入操作***,通过IPMI命令分别获取硬件状态;当没有登入操作***或硬件有故障时,将故障日志通过SMTP模块发送至指定邮箱;
故障解析模块,用于将故障日志进行解析,并与规则数据库中的内容进行匹配,得到故障类型并定位故障位置;
测试循环执行模块,用于DC Cycle测试次数加1,直至满足设定次数。
运行python程序,调用IPMI模块,获取目标服务器电源状态,通过以下指令获取电源状态:
#ipmitool–I lanplus–H$ip–U ADMIN chassis power status
当获得目标服务器电源状态为关闭时则发送开机指令,让目标服务器开机,如果目标服务器电源状态为开启时,则继续进行下述操作。
获取服务器状态,判断目标服务器是否进入操作***中,如果进入操作***,如果进入操作***,以root管理员登入操作***,并分别检查CPU状态、内存状态、PCI总线挂载设备状态以及硬盘状态。如果没有进入操作***,或者CPU、内存、PCI总线挂载设备以及硬盘有错误的话,则保存BMC黑盒日志,打印检查信息到指定目录下,通过python的SMTP模块将告警信息和打印出来的检查信息发送到指定邮箱。
当***下硬件检查都通过后,执行关机命令,从而DC Cycle测试计数器加1,检查执行次数是否小于设定次数,如果是则发送开机命令,否则结束测试。
对于故障信息,收集BMC黑盒日志,并对BMC黑盒日志进行解析,将其与规则数据库的内容进行匹配,得到故障类型并定位故障位置,依据设备类型的不同,故障类型分为CPU故障类、内存故障类、PCI设备故障类以及硬盘故障类。当解析出故障类型为CPU故障类时,匹配CPU故障数据库,定位故障CPU;当解析出故障类型为内存故障类时,匹配内存故障数据库,定位故障内存;当解析出故障类型为PCI设备故障类时,匹配PCI故障数据库,定位故障PCI设备;当解析出故障类型为硬盘故障类时,匹配硬盘故障数据库,定位故障硬盘。
所述规则数据库中记录对应故障器件的维修或更换规则,在定位到故障部件时,直接提供维修或更换策略。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于python的服务器DC Cycle测试方法,其特征在于,所述方法包括以下步骤:
S1、调用IPMI模块,获取目标服务器电源状态;
S2、当电源状态为开机时,以root管理员登入操作***,通过IPMI命令分别获取硬件状态;当没有登入操作***或硬件有故障时,将故障日志通过SMTP模块发送至指定邮箱;
S3、将故障日志进行解析,并与规则数据库中的内容进行匹配,得到故障类型并定位故障位置;
S4、DC Cycle测试次数加1,直至满足设定次数。
2.根据权利要求1所述的一种基于python的服务器DC Cycle测试方法,其特征在于,所述硬件状态包括CPU状态、内存状态、PCI总线挂载设备状态以及硬盘状态。
3.根据权利要求1所述的一种基于python的服务器DC Cycle测试方法,其特征在于,所述规则数据库包括CPU故障数据库、内存故障数据库、PCI故障数据库以及硬盘故障数据库。
4.根据权利要求1-3任意一项所述的一种基于python的服务器DC Cycle测试方法,其特征在于,所述方法基于python程序。
5.一种基于python的服务器DC Cycle测试***,其特征在于,所述***包括:
电源状态获取模块,用于调用IPMI模块,获取目标服务器电源状态;
硬件状态获取模块,用于当电源状态为开机时,以root管理员登入操作***,通过IPMI命令分别获取硬件状态;当没有登入操作***或硬件有故障时,将故障日志通过SMTP模块发送至指定邮箱;
故障解析模块,用于将故障日志进行解析,并与规则数据库中的内容进行匹配,得到故障类型并定位故障位置;
测试循环执行模块,用于DC Cycle测试次数加1,直至满足设定次数。
6.根据权利要求5所述的一种基于python的服务器DC Cycle测试***,其特征在于,所述硬件状态包括CPU状态、内存状态、PCI总线挂载设备状态以及硬盘状态。
7.根据权利要求5所述的一种基于python的服务器DC Cycle测试***,其特征在于,所述规则数据库包括CPU故障数据库、内存故障数据库、PCI故障数据库以及硬盘故障数据库。
8.根据权利要求5-7任意一项所述的一种基于python的服务器DC Cycle测试***,其特征在于,所述***基于python程序。
CN201910911861.8A 2019-09-25 2019-09-25 一种基于python的服务器DC Cycle测试方法与*** Withdrawn CN110806955A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910911861.8A CN110806955A (zh) 2019-09-25 2019-09-25 一种基于python的服务器DC Cycle测试方法与***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910911861.8A CN110806955A (zh) 2019-09-25 2019-09-25 一种基于python的服务器DC Cycle测试方法与***

Publications (1)

Publication Number Publication Date
CN110806955A true CN110806955A (zh) 2020-02-18

Family

ID=69487759

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910911861.8A Withdrawn CN110806955A (zh) 2019-09-25 2019-09-25 一种基于python的服务器DC Cycle测试方法与***

Country Status (1)

Country Link
CN (1) CN110806955A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111679943A (zh) * 2020-06-10 2020-09-18 浪潮商用机器有限公司 一种服务器测试***
CN112988439A (zh) * 2021-02-09 2021-06-18 北京奇艺世纪科技有限公司 服务器故障发现方法、装置、电子设备及存储介质
CN115033419A (zh) * 2022-08-12 2022-09-09 浩鲸云计算科技股份有限公司 一种实现硬件故障自愈的方法和***

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111679943A (zh) * 2020-06-10 2020-09-18 浪潮商用机器有限公司 一种服务器测试***
CN112988439A (zh) * 2021-02-09 2021-06-18 北京奇艺世纪科技有限公司 服务器故障发现方法、装置、电子设备及存储介质
CN112988439B (zh) * 2021-02-09 2023-07-28 北京奇艺世纪科技有限公司 服务器故障发现方法、装置、电子设备及存储介质
CN115033419A (zh) * 2022-08-12 2022-09-09 浩鲸云计算科技股份有限公司 一种实现硬件故障自愈的方法和***
CN115033419B (zh) * 2022-08-12 2022-11-29 浩鲸云计算科技股份有限公司 一种实现硬件故障自愈的方法和***

Similar Documents

Publication Publication Date Title
CN109284269B (zh) 异常日志分析方法、装置、存储介质及服务器
US10805151B2 (en) Method, apparatus, and storage medium for diagnosing failure based on a service monitoring indicator of a server by clustering servers with similar degrees of abnormal fluctuation
CN110806955A (zh) 一种基于python的服务器DC Cycle测试方法与***
CN110471831B (zh) 一种兼容测试的自动化方法及装置
US20160274997A1 (en) End user monitoring to automate issue tracking
CN111597089B (zh) 一种Linux***调用事件采集和缓存装置及方法
CN109240851A (zh) 一种自主式实现批量bmc自恢复的方法及***
EP3238068A1 (en) Automatically rerunning test executions
CN112100048B (zh) 一种服务器自适应巡检方法及装置
CN108959029A (zh) 收集和报告服务器异常日志的方法及***
CN115033419B (zh) 一种实现硬件故障自愈的方法和***
US8949669B1 (en) Error detection, correction and triage of a storage array errors
CN109189679A (zh) 接口测试方法及***、电子设备、存储介质
CN110955551A (zh) 一种基于tomcat中间件的故障智能诊断装置
CN110543418A (zh) 一种数据库性能测试方法、***及存储介质
CN109783292A (zh) 一种服务器信息的检查方法及***
CN109783288A (zh) 一种自动化重启复位测试服务器稳定性的方法及***
CN115408271A (zh) 一站式闭环测试方法、***、设备及介质
CN114244685A (zh) 一种云服务中心访问异常处置***
CN113591951A (zh) 一种智能电视远程运维方法及***
CN114629786A (zh) 日志实时分析方法、装置、存储介质及***
CN114500316A (zh) 一种物联网设备巡检方法和***
CN112231202A (zh) 一种基于日志监控和被测模块监控的自动提Bug方法
CN113342596A (zh) 一种设备指标的分布式监控方法、***及装置
CN109522186B (zh) 一种基于Linux磁盘访问的监控方法及***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20200218