CN110806955A - 一种基于python的服务器DC Cycle测试方法与系统 - Google Patents
一种基于python的服务器DC Cycle测试方法与系统 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2252—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using fault dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test 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
技术领域
本发明涉及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程序。
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)
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 | 浩鲸云计算科技股份有限公司 | 一种实现硬件故障自愈的方法和系统 |
-
2019
- 2019-09-25 CN CN201910911861.8A patent/CN110806955A/zh not_active Withdrawn
Cited By (5)
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 |
---|---|---|
CN110806955A (zh) | 一种基于python的服务器DC Cycle测试方法与系统 | |
CN110471831B (zh) | 一种兼容测试的自动化方法及装置 | |
US20190372832A1 (en) | Method, apparatus and storage medium for diagnosing failure based on a service monitoring indicator | |
Zheng et al. | 3-dimensional root cause diagnosis via co-analysis | |
US20160274997A1 (en) | End user monitoring to automate issue tracking | |
CN112100048B (zh) | 一种服务器自适应巡检方法及装置 | |
CN111597089B (zh) | 一种Linux系统调用事件采集和缓存装置及方法 | |
CN109240851A (zh) | 一种自主式实现批量bmc自恢复的方法及系统 | |
CN108959029A (zh) | 收集和报告服务器异常日志的方法及系统 | |
CN112822440A (zh) | 生物样本制备监控方法、应用服务器、系统及存储介质 | |
CN110955551A (zh) | 一种基于tomcat中间件的故障智能诊断装置 | |
US8949669B1 (en) | Error detection, correction and triage of a storage array errors | |
CN113591951A (zh) | 一种智能电视远程运维方法及系统 | |
CN109189679A (zh) | 接口测试方法及系统、电子设备、存储介质 | |
CN110851316B (zh) | 异常预警方法及装置、系统、电子设备、存储介质 | |
CN115525392A (zh) | 容器监控方法、装置、电子设备及存储介质 | |
CN115757045A (zh) | 一种交易日志分析方法、系统及装置 | |
CN109783292A (zh) | 一种服务器信息的检查方法及系统 | |
CN109783288A (zh) | 一种自动化重启复位测试服务器稳定性的方法及系统 | |
CN115408271A (zh) | 一站式闭环测试方法、系统、设备及介质 | |
CN114996101A (zh) | 一种硬盘故障定位方法、系统、装置及可读存储介质 | |
CN114244685A (zh) | 一种云服务中心访问异常处置系统 | |
CN114629786A (zh) | 日志实时分析方法、装置、存储介质及系统 | |
CN113064776A (zh) | 一种bmc故障的诊断方法及装置 | |
CN112231202A (zh) | 一种基于日志监控和被测模块监控的自动提Bug方法 |
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 |