CN114116422B - 一种硬盘日志分析方法、硬盘日志分析装置及存储介质 - Google Patents
一种硬盘日志分析方法、硬盘日志分析装置及存储介质 Download PDFInfo
- Publication number
- CN114116422B CN114116422B CN202111400634.2A CN202111400634A CN114116422B CN 114116422 B CN114116422 B CN 114116422B CN 202111400634 A CN202111400634 A CN 202111400634A CN 114116422 B CN114116422 B CN 114116422B
- Authority
- CN
- China
- Prior art keywords
- hard disk
- log
- test
- analysis
- logs
- 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.)
- Active
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 216
- 238000003860 storage Methods 0.000 title claims abstract description 21
- 238000012360 testing method Methods 0.000 claims abstract description 263
- 238000000034 method Methods 0.000 claims abstract description 61
- 230000015654 memory Effects 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 27
- 230000006870 function Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 description 14
- 230000003068 static effect Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000011056 performance test Methods 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 238000010923 batch production Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008521 reorganization Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000013102 re-test Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种硬盘日志分析方法、硬盘日志分析装置及存储介质。硬盘日志分析方法包括:获取测试指令。根据测试指令,分别采集各硬盘的部件信息。根据测试项目以及各硬盘的部件信息,在多个预置日志采集策略中,分别确定各硬盘对应的日志采集策略。根据各硬盘对应的日志采集策略,采集各硬盘对应的硬盘日志。根据测试项目以及各硬盘的部件信息,在多个预置日志分析策略中,分别确定各硬盘对应的日志分析策略。根据各硬盘对应的日志分析策略,对各硬盘的硬盘日志进行分析,得到各硬盘对应的分析结果。能够针对测试项目以及硬盘的部件信息,对硬盘日志进行针对性的采集和分析,进而体现出不同配置下的硬盘差异,提高测试的准确性。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种硬盘日志分析方法、硬盘日志分析装置及存储介质。
背景技术
硬盘是计算机的主要存储设备。硬盘日志是用于记录硬盘在实际运行中的使用信息。
相关技术中,在对硬盘日志进行采集时,是基于测试指令,直接抓取硬盘日志,进而观察各项数据是否处于对应的标准范围。当各项数据均处于对应的标准范围内时,则继续进行测试,再次抓取硬盘日志,比较关键值与历史测试之间的差别,进而记录测试结果。即,在进行测试时,是持续以目标设备为出发点的线程采集方式,通过不断采集硬盘日志,生成记录,展示阶段性的结果。
但采用上述方式进行检测,需持续性的采集硬盘日志,采集效率低。并且后续针对该硬盘日志进行分析时,也无法体现出不同配置下测试结果的差异。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中硬件日志采集效率低、且无法体现不同配置差异的缺陷,从而提供一种硬盘日志分析方法、硬盘日志分析装置及存储介质。
根据第一方面,本发明提供一种硬盘日志分析方法,应用于分布式系统,所述分布式系统中包括第一数量的硬盘,所述方法包括:
获取测试指令,所述测试指令包括测试项目;
根据所述测试指令,分别采集各所述硬盘的部件信息;
根据所述测试项目以及各所述硬盘的部件信息,在多个预置日志采集策略中,分别确定各所述硬盘对应的日志采集策略;
根据各所述硬盘对应的日志采集策略,采集各所述硬盘对应的硬盘日志;
根据所述测试项目以及各所述硬盘的部件信息,在多个预置日志分析策略中,分别确定各所述硬盘对应的日志分析策略;
根据各所述硬盘对应的日志分析策略,对各所述硬盘的硬盘日志进行分析,得到各所述硬盘对应的分析结果。
在该方式中,能够通过硬盘的部件信息,明确该硬盘在测试指令下进行测试时的性能状态,进而在采集其硬盘日志时,结合当前需要进行测试的测试项目,在多个预置的日志采集策略中,确定出适配于该硬盘的日志采集策略,进而进行针对性的采集,提高硬盘日志的采集效率。以及在多个预置的日志分析策略中,确定出适配于该硬盘的日志分析策略,从而对硬盘日志进行分析时,能够体现出不同配置下的硬盘差异,提高测试的准确性。
结合第一方面,在第一方面的第一实施方式中,所述部件信息包括运行环境,以及对应的硬盘配置信息。
结合第一方面的第一实施方式,在第一方面的第二实施方式中,所述根据所述测试项目以及各所述硬盘的部件信息,在多个预置日志采集策略中,分别确定各所述硬盘对应的日志采集策略,包括:
根据所述测试项目,针对每个硬盘的运行环境及其对应的硬盘配置信息,在多个预置日志采集策略中,分别确定对应每个硬盘的日志采集策略。
在该方式中,在对多个硬盘的硬盘日志进行批量采集时,为使得到的硬盘日志能够反映出硬盘在不同运行环境以及不同硬盘配置信息下的测试差异,则在确定日志采集策略时,可以针对每个硬盘的运行环境及其对应的硬盘配置信息,在多个预置日志采集策略中进行针对性的选取,进而有助于提高硬盘日志采集的有效性。
结合第一方面的第一实施方式或第一方面的第二实施方式,在第一方面的第三实施方式中,在分别采集各所述硬盘的部件信息之后,所述方法还包括:
根据各所述硬盘配置信息,分别判断各所述硬盘的RAID是否满足所述测试项目的要求;
当所述RAID不满足所述要求,则重新组建RAID,以使重新组建的RAID满足所述要求。
在该方式中,通过判断硬盘的RAID是否满足测试指令的要求,有利于确保在进行硬盘日志采集时,硬盘的模式满足测试需求,进而避免进行无效测试,从而提高硬盘日志的有效性。
结合第一方面的第三实施方式,在第一方面的第四实施方式中,所述硬盘配置信息包括与硬盘连接的控制器的属性信息、硬盘连接模式、硬盘类型、接口协议。
在该方式中,通过硬盘配置信息,有助于明确控制该硬盘的控制器、硬盘连接模式、硬盘类型以及接口协议的具体信息,进而后续在确定日志采集策略时,能够进行针对性的选择,使根据确定的日志采集策略进行硬盘日志采集时,能够进行针对性的采集,进而提高采集效率。
结合第一方面,在第一方面的第五实施方式中,所述分布式系统中包括第二数量的控制器,所述控制器与多个硬盘连接,所述方法还包括:
根据所述测试项目以及各所述控制器的属性信息,在多个预置日志采集策略中,分别确定采集各所述控制器对应的日志采集策略;
根据各所述控制器对应的日志采集策略,采集各所述控制器的控制器日志;
基于各所述控制器日志,将所述硬盘日志通过分割函数进行分割,生成与各控制器连接的硬盘的硬盘日志。
在该方式中,当同一控制器与多个硬盘连接时,采集的硬盘日志可能覆盖各硬盘的硬盘日志。因此,为区分各硬盘的硬盘日志内容,则可以根据日志采集策略采集到的控制器的控制器日志,对采集到的硬盘日志进行分割处理,进而得到各硬盘的具体硬盘日志,以便后续针对单独的硬盘日志进行分析时,能够提高测试结果准确性。
结合第一方面,在第一方面的第六实施方式中,所述日志分析策略包括检测至少一个关键值、以及所述关键值的判定条件;所述根据各所述硬盘对应的日志分析策略,对各所述硬盘的硬盘日志进行分析,得到各所述硬盘对应的分析结果,包括:
在分析当前硬盘日志的过程中,依次判断所述当前硬盘日志中的各所述关键值对应的数据是否满足对应关键值的判定条件;
当各所述关键值对应的数据均满足对应关键值的判定条件时,则确定所述当前硬盘日志的分析结果为所述当前硬盘日志对应的当前硬盘测试合格;
当存在一个所述关键值对应的数据不满足对应关键值的判定条件时,则确定所述当前硬盘日志的分析结果为所述当前硬盘测试不合格。
在该方式中,关键值属于在进行测试时,能够影响测试进程的重点项,通过对关键值进行逐项判断,有助于逐项排除影响测试进程的重点项是否存在问题。进而在分析的过程中,当当前硬盘日志中的关键值不满足对应关键值的判定条件时,则表征该测试需要中断、进行调整,进而可以确定当前硬盘日志对应的当前硬盘测试不合格。当所有的关键值均满足对应关键值的判定条件时,则测试一切正常,进而可以确定当前硬盘测试合格。
根据第二方面,本发明提供一种硬盘日志分析装置,应用于分布式系统,所述分布式系统中包括第一数量的硬盘,所述装置包括:
获取单元,用于获取测试指令,所述测试指令包括测试项目;
信息采集单元,用于根据所述测试指令,分别采集各所述硬盘的部件信息;
第一确定单元,用于根据所述测试项目以及各所述硬盘的部件信息,在多个预置日志采集策略中,分别确定各所述硬盘对应的日志采集策略;
日志采集单元,用于根据各所述硬盘对应的日志采集策略,采集各所述硬盘对应的硬盘日志;
第二确定单元,用于根据所述测试项目以及各所述硬盘的部件信息,在多个预置日志分析策略中,分别确定各所述硬盘对应的日志分析策略;
分析单元,用于根据各所述硬盘对应的日志分析策略,对各所述硬盘的硬盘日志进行分析,得到各所述硬盘对应的分析结果。
结合第二方面,在第二方面的第一实施方式中,所述部件信息包括运行环境,以及对应的硬盘配置信息。
结合第二方面的第一实施方式,在第二方面的第二实施方式中,所述第一确定单元,包括:
日志确定单元,用于根据所述测试项目,针对每个硬盘的运行环境及其对应的硬盘配置信息,在多个预置日志采集策略中,分别确定对应每个硬盘的日志采集策略。
结合第二方面的第一实施方式或第二方面的第二实施方式,在第二方面的第一实施方式中,所述装置还包括:
判断单元,用于根据各所述硬盘配置信息,分别判断各所述硬盘的RAID是否满足所述测试项目的要求;
重组单元,用于当所述RAID不满足所述要求,则重新组建RAID,以使重新组建的RAID满足所述要求。
结合第二方面的第二实施方式,在第二方面的第四实施方式中,所述硬盘配置信息包括与硬盘连接的控制器的属性信息、硬盘连接模式、硬盘类型、接口协议。
结合第二方面,在第二方面的第五实施方式中,所述分布式系统中包括第二数量的控制器,所述控制器与多个硬盘连接,所述装置还包括:
日志选择单元,用于根据所述测试项目以及各所述控制器的属性信息,在多个预置日志采集策略中,分别确定采集各所述控制器对应的日志采集策略;
采集单元,用于根据各所述控制器对应的日志采集策略,采集各所述控制器的控制器日志;
分割单元,用于基于各所述控制器日志,将所述硬盘日志通过分割函数进行分割,生成与各控制器连接的硬盘的硬盘日志。
结合第二方面,在第二方面的第六实施方式中,所述日志分析策略包括检测至少一个关键值、以及所述关键值的判定条件;所述分析单元,包括:
判别单元,用于在分析当前硬盘日志的过程中,依次判断所述当前硬盘日志中的各所述关键值对应的数据是否满足对应关键值的判定条件;
第一子分析单元,用于当各所述关键值对应的数据均满足对应关键值的判定条件时,则确定所述当前硬盘日志的分析结果为所述当前硬盘日志对应的当前硬盘测试合格;
第二子分析单元,用于当存在一个所述关键值对应的数据不满足对应关键值的判定条件时,则确定所述当前硬盘日志的分析结果为所述当前硬盘测试不合格。
根据第三方面,本发明实施方式还提供一种计算机设备,包括存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面及其可选实施方式中任一项的硬盘日志分析方法。
根据第四方面,本发明实施方式还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行第一方面及其可选实施方式中任一项的硬盘日志分析方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例提出的一种硬盘日志分析方法的流程图。
图2是根据一示例性实施例提出的另一种硬盘日志分析方法的流程图。
图3是根据一示例性实施例提出的又一种硬盘日志分析方法的流程图。
图4是根据一示例性实施例提出的一种测试策略配置方法的流程图。
图5是根据一示例性实施例提出的又一种硬盘日志分析方法的流程图。
图6是根据一示例性实施例提出的又一种硬盘日志分析方法的流程图。
图7是根据一示例性实施例提出的一种配置结果的示意图。
图8是根据一示例性实施例提出的一种策略的配置方法的流程图。
图9是根据一示例性实施例提出的又一种硬盘日志分析方法的流程图。
图10是根据一示例性实施例提出的一种硬盘日志采集装置的结构框图。
图11是根据一示例性实施例提出的一种计算机设备的硬件结构示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在对硬盘日志进行检测时,是采用单线程抓取的方式进行检测,以测试项为单位,每当执行完一个测试项,便对该测试项执行一次检测。在检测过程中,需要通过搭载不同的配置,对硬盘日志进行采集、分析。但当在配置隔离的批量测试中,则需要针对每一类硬盘执行兼容性验证,并通过不同维度的设置与调整,最终生成可视化图表报告。
相关技术中,在对硬盘日志进行采集时,是基于测试指令,直接抓取硬盘日志,进而观察各项数据是否处于对应的标准范围。当各项数据均处于对应的标准范围内时,则继续进行测试,再次抓取硬盘日志,比较关键值与历史测试之间的差别,进而记录测试结果。即,在进行测试时,是持续以目标设备为出发点的线程采集方式,通过不断采集硬盘日志,生成记录,展示阶段性的结果。
但采用上述方式进行检测,需持续性的采集硬盘日志,采集效率低。并且后续针对该硬盘日志进行分析时,也无法体现出不同配置下测试结果的差异。
为解决上述问题,本发明实施例中提供一种硬盘日志分析方法,用于计算机设备中,需要说明的是,其执行主体可以是硬盘日志分析装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为计算机设备的部分或者全部,其中,该计算机设备可以是终端或客户端或服务器,服务器可以是一台服务器,也可以为由多台服务器组成的服务器集群,本申请实施例中的终端可以是智能手机、个人电脑、平板电脑、可穿戴设备以及智能机器人等其他智能硬件设备。下述方法实施例中,均以执行主体是计算机设备为例来进行说明。
本实施例中的计算机设备,应用于分布式系统中,适用于处理搭载在不同服务器配置下的批处理硬盘日志。其中,在该分布式系统中包括第一数量的硬盘。可以通过后端语言(例如:JAVA、PYTHON、NODEJS等)搭建平台,或使用Tomcat静态文件访问机制作为前端WEB展示,借助数据库(例如:MyBatis、Oracle、DB2等)存储执行过程和结果,各处理节点应用SpringBoot架构微服务来进行数据处理。通过本发明提供的硬盘日志分析方法,能够通过硬盘的部件信息,明确该硬盘在测试指令下进行测试时的性能状态,进而在采集其硬盘日志时,结合当前需要进行测试的测试项目,在多个预置的日志采集策略中,确定出适配于该硬盘的日志采集策略,进而进行针对性的采集,提高硬盘日志的采集效率。以及在多个预置的日志分析策略中,确定出适配于该硬盘的日志分析策略,从而对硬盘日志进行分析时,能够体现出不同配置下的硬盘差异,提高测试的准确性。
图1是根据一示例性实施例提出的一种硬盘日志分析方法的流程图。如图1所示,硬盘日志分析方法包括如下步骤S101至步骤S106。
在步骤S101中,获取测试指令。
在本发明实施例中,测试指令是确定需要进行测试的指令,包括需要进行测试的测试项目。在一实施场景中,测试指令可以根据安装的测试工具进行确定,进而明确需要进行测试的测试项。
在一示例中,通过测试指令还可以明确测试需要进行的测试类型。其中,测试类型可以包括:压力测试、性能测试、开关机测试或者兼容性测试等。例如:若测试指令对应的测试类型为压力测试,则涉及的测试项目可以包括:吞吐量、CPU占用率、内存占用率、响应时间、最大并发用户数、HTTP每秒错误请求数、网络延迟时间等。若测试指令对应的测试类型为性能测试,则涉及的测试项目可以包括:每秒的读写次数(Input/Output OperationsPer Second,IOPS)、读写吞吐量、时延、总运行时间、延迟速度等。
在步骤S102中,根据测试指令,分别采集各硬盘的部件信息。
在本发明实施例中,通过测试指令,能够明确当前需要对硬盘进行测试,以及明确当前需要进行测试项目。因此,为提高测试结果的准确度,使通过采集到的硬盘日志在后续进行分析时,能够体现出不同配置下的测试差异,则在采集硬盘日志之前,先针对分布式系统中包括的第一数量的硬盘,分别采集各硬盘的部件信息,以便后续在多个预置的日志采集策略中确定各硬盘对应的日志采集策略时,能够进行针对性的选择,提高硬盘日志采集的有效性,使得到的硬盘日志能够提供有效的数据,从而在进行分析时,能够提高测试准确性。其中,第一数量可以为分布式系统中所包括的硬盘的总数量,或者需要进行硬盘日志分析的硬盘的数量。在一例中,部件信息可以包括该硬盘的运行环境,以及对应的硬盘配置信息。
在步骤S103中,根据测试项目以及各硬盘的部件信息,在多个预置日志采集策略中,分别确定各硬盘对应的日志采集策略。
在本发明实施例中,由于硬盘的部件信息不同,进而导致在测试的过程中,不同硬盘之间进行硬盘日志采集的流程可能存在差异。因此,为提高硬盘日志的采集效率,使采集的数据具有针对性,则预先根据不同的运行环境以及硬盘配置,确定多种日志采集策略,进而当接收到测试指令对硬盘日志进行采集时,便可以根据获取到的各个硬盘的部件信息,在多个预置的日志采集策略中匹配出最适合对当前硬盘进行硬盘日志采集的日志采集策略,从而在进行日志采集时,便可以进行针对性采集。
在一示例中,在预置日志采集策略时,可以将硬盘在实际运行中可能所处的运行环境以及硬盘配置信息均进行排列组合,并且以占位符按顺序放置参数,对应硬盘属性也依照顺序放置,进而根据不同的组合对应配置不同的日志采集策略,从而得到多个预置日志采集策略。
在步骤S104中,根据各硬盘对应的日志采集策略,采集各硬盘对应的硬盘日志。
在步骤S105中,根据测试项目以及各硬盘的部件信息,在多个预置日志分析策略中,分别确定各硬盘对应的日志分析策略。
在本发明实施例中,由于硬盘在不同测试项且硬盘配置信息不同的情况下,生成的硬盘日志不同。因此,为提高日志分析的准确性,使根据得到的分析结果与测试结果的真实情况相同或者相近,进而在对硬盘日志进行分析时,则在多个预置日志分析策略中,根据测试项目以及硬盘的部件信息,确定分析硬盘日志的日志分析策略,从而提高分析有效性,使后续根据各硬盘的日志分析结果进行分析时,能够体现出在同一测试项下,不同硬盘配置之间的测试差异,有助于提高测试准确性。
在一实施例中,日志分析策略是根据硬盘配置信息和测试项进行制定的,针对不同的测试项以及不同的硬盘配置信息,分别制定不同的日志分析策略,进而进行日志分析时,便可以根据获取到的硬盘配置信息和测试指令,快速匹配到适合对采集到的硬盘日志进行分析的日志分析策略,从而有助于提高分析有效性的同时,促进分析进度。
在步骤S106中,根据各硬盘对应的日志分析策略,对各硬盘的硬盘日志进行分析,得到各硬盘对应的分析结果。
通过上述实施例,能够通过硬盘的部件信息,明确该硬盘在测试指令下进行测试时的性能状态,进而在采集其硬盘日志时,结合当前需要进行测试的测试项目,在多个预置的日志采集策略中,确定出适配于该硬盘的日志采集策略,进而进行针对性的采集,提高硬盘日志的采集效率。以及在多个预置的日志分析策略中,确定出适配于该硬盘的日志分析策略,从而对硬盘日志进行分析时,能够体现出不同配置下的硬盘差异,提高测试的准确性。
在一实施例中,在配置日志分析策略时,可以采用相同的通用标准,但不同的操作系统类型下采集到的硬盘日志格式不同。因此,可以针对每不同的硬盘日志格式,分别设置不同的分析结点。在分析节点中根据不同格式来解析硬盘日志,并以MAP键值对方式提取并输出。即,针对每一种格式的硬盘日志,设置唯一键值,将硬盘日志内容按照各种标点符号进行分割,若存在列表形式的内容,则需要将列数作为一项参数。在进行提取时,封装检测单元、计算单元,将提取的内容进行检测,当通过检测之后进行计算,输出硬盘日志内容,并保存到数据库中。在通用标准库里包括key值,设置ID列、实际值列、运算方法列、标准范围列等,当提取的硬盘日志记录符合某一项key值时,则运用运算方法将实际值与标准范围做运算,得到分析结果。由于一个硬盘日志中的内容属于一个硬盘,同次触发采集得到的是一个配置下所有硬盘的日志,当所有硬盘日志的分析结果均为测试合格(PASS),则分析结果PASS,若有一个分析结果为测试失败(FAIL),则分析结果FAIL。
在另一实施例中,在对硬盘日志进行分析时,能够根据硬盘的硬盘配置信息以及测试指令,在多个预置日志分析策略中,选择适合针对该硬盘的硬盘日志进行针对性分析的日志分析策略,进而在进行分析时,能够提高分析结果的有效性,使得到的分析结果能够更好的体现出测试结果。在一例中,由于在同一运行环境下不同硬盘配置的硬盘处理速度不同,相同配置的硬盘在不同运行环境下的处理速度也存在不同,进而在进行测试时,硬盘的运行环境以及硬盘的硬盘配置均会对测试结果产生影响。因此,采集的部件信息可以包括运行环境,以及对应的硬盘配置信息。运行环境可以包括硬盘所处的操作系统类型以及该操作系统类型的版本。例如:当操作系统为LINUX时,LINUX的版本可以包括REDHAT、CENTOS、UBUNTU、SUSE等。当操作系统为Windows时,Windows的版本可以包括Windows 9、Windows 10、Windows Server 2019等。在另一例中,硬盘配置信息包括与硬盘连接的控制器的属性信息、硬盘连接模式、硬盘类型、接口协议。通过硬盘配置信息,有助于明确控制该硬盘的控制器、硬盘连接模式、硬盘类型以及接口协议的具体信息,进而后续在确定日志采集策略时,能够进行针对性的选择,使根据确定的日志采集策略进行硬盘日志采集时,能够进行针对性的采集,进而提高采集效率。在又一例中,控制器的属性信息可以包括控制器的型号或者控制器的厂商及型号。
在又一实施例中,可以针对每个硬盘的运行环境及其对应的硬盘配置信息,在多个预置日志采集策略中,分别确定各硬盘对应的日志采集策略。在一实施场景中,将操作系统类型、操作系统类型的版本、与硬盘连接的控制器的属性信息、硬盘连接模式、硬盘类型、接口协议等进行排列组合,进而针对不同的组合对应配置相应的日志采集策略,从而得到多个预置的日志采集策略。在确定对应测试指令的硬盘的日志采集策略时,则将获取的运行环境以及硬盘配置信息与各预置的日志采集策略对应的组合进行对比,并将排列方式一致的组合对应的日志采集策略作为该硬盘的日志采集策略,进而有助于快速确定日志采集策略,加快硬盘日志采集速率。
在又一实施例中,根据日志采集策略对各硬盘进行硬盘日志采集时,将占位符依次以硬盘对应硬盘配置信息进行替换,得到可执行指令,进而通过可执行指令,对硬盘日志进行采集。在一例中,在对操作系统类型为LINUX制定日志采集策略时,录入所有LINUX操作系统的类型,并针对每个类型设置不同的版本区间。若类型相同,则采用相同的日志采集策略。若某个版本下需要特殊条件(例如:LINUX操作系统的类型SUSE下需要7.0版本)时,则进行精细化设置。按照硬盘厂商分类,每一类厂商可以组合的模式不同(例如:有的厂商需要搭配RAID0有的需要搭配RAID5)。在另一例中,在对操作系统类型为Windows制定日志采集策略时,录入所有Windows操作系统的类型(例如:Windows 10、Windows Server 2019等)。由于Windows下不同操作系统的差异较小,主要差异在于测试工具的应用,因此,可以预先约定将工具安装路径设置为环境变量,进而消除差异,以使Windows操作系统下的各类型可以采用相同的日志采集策略进行硬盘日志采集。
在一实施场景中,保持策略能够持久化的过程可以如下:将采集规则以树形格式存储在文本中,并通过文本导入的方式,将采集规则导入数据库中,进而由前台界面通过Tree插件进行展示。将采集规则向上提交,申请审核。当审核不通过,则表征根据该采集规则生成的日志采集策略在实际调用中可能会与测试项不符,得到的硬盘日志不能满足测试的要求,进而需要进行线下调整。当审核通过,则表征根据该采集规则生成的日志采集策略在实际调用中得到的硬盘日志能够满足测试的要求,进而可以继续执行下一环节。将配置项目从根节点开始,按照层级与采集规则进行匹配,匹配成功即停止,按照根节点到叶子结点的路径,生成日志采集策略,进而将该日志采集策略引入对应的测试项目中。当节点变更时,则从该节点开始作为根节点,其子节点均处于待审核状态,不再参与项目测试。
在又一实施例中,可以将采集到的硬盘日志输出至日志文件资源池中。
图2是根据一示例性实施例提出的另一种硬盘日志分析方法的流程图。如图2所示,硬盘日志分析方法包括如下步骤。
在步骤S201中,获取测试指令。
在步骤S202中,根据测试指令,分别采集各硬盘的运行环境,以及对应的硬盘配置信息。
在步骤S203中,根据各硬盘配置信息,分别判断各硬盘的RAID是否满足测试项目的要求。
在本发明实施例中,独立磁盘冗余阵列(Redundant Array of IndependentDisks,RAID)包括6个级别,在不同级别下满足不同的应用程序需求。因此,为避免进行无效测试,造成资源浪费,则在获取到各个硬盘的配置信息后,分别对各硬盘的RAID进行判断,判断硬盘的RAID是否满足测试指令的要求,以便确定该硬盘能否可以根据测试指令进行测试。
在步骤S204中,当RAID不满足要求,则重新组建RAID,以使重新组建的RAID满足要求。
在本发明实施例中,当RAID不满足要求,则表征在进行测试时,该硬盘不能满足测试需求,若继续测试,采集到的硬盘日志属于无效数据。因此,为使测试能够顺利进行,则将RAID进行重新组建,以使重新组建的RAID满足要求,进而提高硬盘日志的有效性。在一例中,在重新组建RAID之前,需要将该硬盘的将原RAID进行删除,进而避免在重新组建RAID的过程中,由于资源被占用,而导致硬盘的运行环境崩溃的情况发生。
在一实施例中,当RAID满足要求,则表征在进行测试时,硬盘能够满足测试需求,因此,无需进行额外操作,执行步骤S205即可。
在步骤S205中,根据测试项目、各硬盘的运行环境以及对应的硬盘配置信息,在多个预置日志采集策略中,分别确定各硬盘对应的日志采集策略。
在步骤S206中,根据各硬盘对应的日志采集策略,采集各硬盘对应的硬盘日志。
在步骤S207中,根据测试项目以及各硬盘的部件信息,在多个预置日志分析策略中,分别确定各硬盘对应的日志分析策略。
在步骤S208中,根据各硬盘对应的日志分析策略,对各硬盘的硬盘日志进行分析,得到各硬盘对应的分析结果。
通过上述实施例,通过判断硬盘的RAID是否满足测试指令的要求,有利于确保在进行硬盘日志采集时,硬盘的模式满足测试需求,进而避免进行无效测试,从而提高硬盘日志的有效性。
在一实施例中,分布式系统中的各硬盘均与控制器连接,由控制器控制硬盘的运行。其中,控制器可以与硬盘之间建立一对一的连接,也可以建立一对多的连接。即,同一控制器可以与多个硬盘建立连接,进而控制多个硬盘的运行。因此,在分布式系统中,控制器的数量可以小于或者等于硬盘的数量。即,第二数量小于或者等于第二数量。
图3是根据一示例性实施例提出的又一种硬盘日志分析方法的流程图。如图3所示,硬盘日志分析方法包括如下步骤。
在步骤S301中,获取测试指令。
在步骤S302中,根据测试指令,分别采集各硬盘的运行环境,以及对应的硬盘配置信息。
在步骤S303中,根据各硬盘配置信息,分别判断各硬盘的RAID是否满足测试项目的要求。
在步骤S304中,当RAID不满足要求,则重新组建RAID,以使重新组建的RAID满足要求。
在步骤S305中,根据测试项目、各硬盘的运行环境以及对应的硬盘配置信息,在多个预置日志采集策略中,分别确定各硬盘对应的日志采集策略。
在步骤S306中,根据各硬盘对应的日志采集策略,采集各硬盘对应的硬盘日志。
在步骤S307中,根据测试项目以及各控制器的属性信息,在多个预置日志采集策略中,分别确定采集各控制器对应的日志采集策略。
在本发明实施例中,在进行测试时,控制器根据接收到的测试指令,控制硬盘进行相应的运行,进而得到对应的硬盘日志。但在硬盘配置过程中,可以将多个硬盘与同一个的控制器进行连接,进而由该控制器对与其连接的多个硬盘进行统一控制。但在同一控制器下,不同硬盘的硬盘配置可以相同,也可以存在配置差异。当各硬盘的硬盘配置相同且处于同一运行环境时,对应采集各硬盘日志的日志采集策略也相同,进而导致采集到的硬盘日志可能包括各硬盘的硬盘日志。
在步骤S308中,根据各控制器对应的日志采集策略,采集各控制器的控制器日志。
因此,为将各个硬盘的硬盘日志进行区分,则可以通过日志采集策略,采集与各硬盘对应的控制器的控制器日志,以便通过控制器日志明确控制器控制各硬盘的控制情况,进而进行针对性的划分。
在步骤S309中,基于各控制器日志,将硬盘日志通过分割函数进行分割,生成与各控制器连接的硬盘的硬盘日志。
在本发明实施例中,分割函数可以是现有技术中任意一种能够针对日志进行分割的函数,在本发明中不进行限定。
在步骤S310中,根据测试项目以及各硬盘的部件信息,在多个预置日志分析策略中,分别确定各硬盘对应的日志分析策略。
在步骤S311中,根据各硬盘对应的日志分析策略,对各硬盘的硬盘日志进行分析,得到各硬盘对应的分析结果。
通过上述实施例,根据日志采集策略采集到的控制器的控制器日志,对采集到的硬盘日志进行分割处理,进而得到各硬盘的具体硬盘日志,以便后续针对单独的硬盘日志进行分析时,能够提高测试结果准确性。
在一实施场景中,根据测试对硬件日志采集时,需要锁定当前配置服务器,获取硬盘的运行环境,以及获取硬盘的硬盘配置信息,包括获取控制器种类(若有)、硬盘个数等对硬盘的RAID进行重新组建(进行测试的硬盘不包括配置服务器的系统盘)。根据获取的运行环境以及配置信息,遍历各个控制器、控制器连接的硬盘、硬盘连接模式、硬盘类型、接口协议,进而确定各硬盘的日志采集策略。根据日志采集策略,将硬盘的属性信息按顺序替换规则中的占位符,生成可执行指令,进而采集硬盘日志。
在另一实施场景中,以操作系统为LINUX为例,在对硬盘日志进行采集时,采集过程可以如下:
通过远程控制协议(例如:OPENSSH协议或TELNET协议)连接当前配置服务器,以便获取硬盘的运行环境。在一例中,通过远程控制协议连接当前配置服务器,并获取运行环境的代码如下:
Connection connection=new Connection(ip,22);
connection.connect(null,timeout*1000,0);
Session session=connection.openSession();
session.execCommand(“lspci|grep–i‘controller’”,“UTF-8”)。
获取控制器属性信息时,创建控制器key值与实际代表的控制器MAP映射(例如,<’ethernet’,‘网卡’>),根据返回值中包含的key,对应出该控制器的所属类别,进而得到控制器的类别。获取配置服务器下的配置项,根据关键值与数据库中匹配,生成该配置服务器下的配置列表,进而得到控制器编码。一般地,数据库中表示一款控制器有唯一可以识别的ID,配置服务器上的编码是生产厂商自带的。根据控制器编码(若有)关联规格书,判断控制器型号、芯片等属性。根据测试指令关于项目测试项的要求,检测RAID是否满足测试指令得要求的RAID模式,若不是,则执行自动组RAID(删RAID),若是,则继续(不存在控制器的场景下,不需要做额外操作)。
根据配置列表和控制器基础信息,即可从根节点到叶子节点,逐级进行对比,匹配适合硬盘进行硬盘日志采集的日志采集策略,进而执行日志采集策略,获取当前配置的硬盘日志,并将按照测试项将该配置服务器下的硬盘日志文件输出到数据池中。
在又一实施场景中,当配置服务器中包括多个硬盘时,以操作系统类型为Windows为例,在对硬盘日志进行采集时,采集过程可以如下:
开启远程管理(WinRm)服务,并设置可以认证,增长默认超时时间,作为服务端。通过下述代码,与客户端建立连接,以便获取客户端服务器的硬盘配置信息:
WinRmClientContext context=WinRmClientContext.newInstance();
WinRmTool wTool=WinRmTool.Builder.builder(ip,user,pwd)
.authenticationScheme(AuthSchemes.NTLM)
.port(5985).useHttps(false).context(context).build();
wTool.setConnectionTimeout(timeOut);
wTool.setOperationTimeout(timeOut);
//试错策略:最大尝试次数200,每隔3s试一次
wTool.setFailureRetryPolicy(new SimpleCounterRetryPolicy(200,3,TimeUnit.SECONDS));
采用下述代码,通过控制命令(command)执行服务器配置查询,进而获取服务器配置信息,生成服务器配置列表,其中,command依据控制器不同设置不同的指令:
WinRmToolResponse wResponse=wTool.executePs(command);
context.shutdown();
wResponse.getStdOut();
获取配置服务器下的配置项,根据关键值与数据库中匹配,生成该配置服务器下的配置列表,进而得到控制器编码。一般地,数据库中表示一款控制器有唯一可以识别的ID,配置服务器上的编码是生产厂商自带的。
根据控制器编码(若有)关联规格书,判断控制器型号、芯片等属性。根据测试指令关于项目测试项的要求,检测RAID是否满足测试指令得要求的RAID模式,若不是,则执行自动组RAID(删除RAID),若是,则继续(不存在控制器的场景下,不需要做额外操作)。
根据配置列表和控制器基础信息,即可从根节点到叶子节点,逐级进行对比,匹配适合硬盘进行硬盘日志采集的日志采集策略,进而执行日志采集策略,获取当前配置的硬盘日志。由于在该客户端下包括多个硬盘,因此,为区分各硬盘对应的硬盘日志,则以控制器为单位,运用日志采集策略,生成控制器日志,通过日志采集策略的分割函数,将硬盘日志做有效分割,即生成所有硬盘日志,进而将按照测试项将该配置服务器下的硬盘日志文件输出到数据池中。
在一实施例中,在对分布式系统中的各硬盘的硬盘日志进行采集和分析时,可以根据该测试项目的测试策略进行确定。根据测试项的测试策略,当测试项需要前置日志分析结果,则需先对硬盘日志进行采集,进而对采集到的硬盘日志进行分析,以便确定该硬盘是否满足测试项的需求。当确定该硬盘满足测试项目的需求时,则可以进行测试,根据测试项目的要求,控制硬盘进行运行,进而获取在测试状态下的硬盘日志,并对获取在测试状态下的硬盘日志进行分析,得到分析结果。当确定该硬盘不满足测试项目的需求时,则将该硬盘格式化为初始状态,并在初始状态下执行测试项目,进行硬盘日志进行采集、分析,得到分析结果。
在另一实施例中,在配置测试项目的测试策略时,可以根据测试项目、测试阶段、硬盘配置、测试项进行配置。针对不同维度进入不同策略,并以最小单位策略为准(一般地,搭配不同硬盘配置存在测试条件差异的可能性要比同一个项目下要大),同时将测试策略配置到不同的测试项类型中(压力、性能、开关机、兼容性等)作为前置或后置条件,有后置条件则必须有前置条件(后置条件需要前置条件作为参照组),前置条件不满足时,依据是否关键项判定是否继续执行。
在一实施场景中,测试策略的配置过程可以如图4所示。图4是根据一示例性实施例提出的一种测试策略配置方法的流程图。根据项目、测试阶段、硬盘配置、测试项的组合配置测试策略。其中,硬盘配置包括具体的硬件、模式和数量。硬件可以包括:CPU、硬盘驱动器(Hard Disk Drive,HDD)。测试项可以包括:性能、压力、重启等。
在另一实施场景中,根据测试项对各硬盘的硬盘日志进行采集、分析的批处理过程可以如图5所示。图5是根据一示例性实施例提出的又一种硬盘日志分析方法的流程图。测试项执行测试时,多线程并发,针对安装的测试工具确定测试项。将硬盘按照控制器重新组建RAID,进而遍历所有硬盘,在多个日志采集策略中,确定各个硬盘进行硬盘采集的日志采集策略,在多个日志分析策略中,确定各硬盘对应的日志分析策略。在确定日志采集策略后,将硬盘的硬盘配置信息按顺序替换占位符,生成可执行命令,进而通过可执行指令,对硬盘日志进行采集,生成硬盘日志文件。将硬盘日志流转到资源池,根据匹配的日志分析策略进行分析,得到分析结果。测试工具可以不进行限制,不同工具对应不同的测试项。RAID可以重新组建为磁盘族(Just aBunch Of Disks,JBOD),或者RAID5。硬盘的类型可以包括dev/sda(SATA接口的硬盘)或者dev/sdb(存储数据缓冲器)。
在又一实施场景中,得到硬盘日志后,将硬盘日志作为生产者将数据持久化到数据库。在后端设置触发器、存储过程、函数等,当数据库中有新的记录产生时,即将记录作为入参,触发存储过程的运算,对硬盘日志进行分析,得到分析结果,形成动态数据流,进而推送到web端展示。
在一实施例中,在对硬盘日志进行日志分析时,是基于日志分析策略中包括检测至少一个关键值、以及关键值的判定条件进行分析。分析过程可以如图6所示。图6是根据一示例性实施例提出的又一种硬盘日志分析方法的流程图。
在步骤S601中,在分析硬盘日志的过程中,依次判断各关键值对应的数据是否满足对应关键值的判定条件。
在本发明实施例中,关键值属于在进行测试时,能够影响测试进程的重点项,通过对关键值进行逐项判断,有助于逐项排除影响测试进程的重点项是否存在问题。
在步骤S6021中,当各关键值对应的数据均满足对应关键值的判定条件时,则确定当前硬盘日志的分析结果为当前硬盘日志对应的当前硬盘测试合格。
在本发明实施例中,当所有的关键值均满足对应关键值的判定条件时,则测试一切正常,进而可以确定当前硬盘的分析结果为测试合格。
在步骤S6022中,当存在一个关键值对应的数据不满足对应关键值的判定条件时,则确定当前硬盘日志的分析结果为当前硬盘测试不合格。
在本发明实施例中,当关键值不满足对应关键值的判定条件时,则表征该测试需要中断、进行调整,进而可以确定当前硬盘的分析结果为测试不合格。
通过上述实施例,在对硬盘日志进行分析的过程中,通过逐项判断关键值是否满足对应关键值的判定条件,可以针对具体测试问题进行具体分析,进而及时调整,以保证测试能够顺利进行。
在一实施例中,关键值可以包括温度、SMART健康状态、锁(locked)状态等。其中,SMART全称为“Self-Monitoring Analysis and Reporting Technology”,即“自我监测、分析及报告技术”,是一种自动的硬盘状态检测与预警系统和规范。在一例中,关键值可以根据测试项进行具体设置。
在一些实施场景中,判断各关键值对应的数据是否满足对应关键值的判定条件可以包括:判断温度是否处于正常阈值范围内、SMART健康状态是否正常、判断锁(locked)状态是否满足需求状态。在另一些实施场景中,在对硬盘日志进行分析的过程中,若上述关键值出现异常时,则需对硬盘进行物理降温、擦除等操作,以将硬盘格式化为初始状态,进而保证能够继续进行测试。其中,硬盘的格式化是某些压力或性能测试的必要条件。
在一实施场景中,硬盘日志采集与分析创建生产者消费者模式资源池,只要资源池中有硬盘日志采集生产的硬盘日志,则日志分析作为消费者即从中提取硬盘日志进行分析。硬盘信息不仅可以匹配日志采集策略,还可以匹配到对应硬盘符合的日志分析策略(列表),通过触发式地回调分析步骤,将硬盘日志中的所有关键字-实际值进行存储,应用判定方式和标准值得到分析结果(测试合格PASS/测试不合格FAIL)。
具体的,采集到的硬盘日志中,既存在需要关注的关键值,也包括许多可忽略的内容,当数据池中产生日志文件时,日志采集线程作为消费者,可以从中获取硬盘日志并解析。在分析的过程中,读取配置服务器,根据其硬盘配置列表,确定可匹配到满足的日志分析策略。若配置服务器为全新的组合,则创建一个线程触发新增硬盘配置列表以及同硬盘配置对应的日志分析策略。若已有相同硬盘配置列表的组合,则触发与该硬盘配置列表相对应的日志分析机制,确定日志分析策略,并将此次生产的硬盘日志列入历史版本。根据配置服务器的配置列表,将批量的硬盘日志进行分类,每一类输出到分析子节点,子节点开启线程,运用符合的日志分析策略将硬盘日志读取并持久化到数据库存储,数据库记录中保存有硬盘配置信息、测试项等相关信息,若当前测试项目已经设置非关键项目,则设置为非关键项目,否则,设置为通用项目。针对硬盘日志的内容进行分析,依据确定的日志分析策略,引用不同的计算单元,从根节点开始直到满足所有项判定分析结果为PASS,或不满足中断判定分析结果为FAIL。其中,判定方法,可以以类的映射、回调函数方法为实现依据,用分析策略的ID属性、关键值,回调类的函数,并传入实际值、参考值作为参数,得到分析结果。
在一实施例中,分析结果可以导出展示。若搭建的是稳定的JavaWeb系统,则可以从web端界面上点击触发请求查看,并根据不同选项执行筛选;也可以将后端接口中处理好的结果推送到可视化界面,或生成静态图表文件,通过http服务访问的方式查看;批处理结果后,可以得到兼容性下硬盘的测试结果,作为参照可以检查测试过程中产生的系统日志,最后导出测试报告。在一实施场景中,分析结果可以如图7所示。图7是根据一示例性实施例提出的一种配置结果的示意图。
在一示例中,对于不同配置要求的产品,可以自定义硬盘配置信息的表单并提交,此时,表单符合的所有项目测试策略、日志采集策略以及日志分析策略的结果均可以从数据库中筛选出来,若为静态图表文件,则以chart图表样式展示在web端,并可以根据项目中测试项进行分类,不断输出分析结果,从而产生持续的配置测试趋势,可以设置预警机制,测试阶段内,当性能值过低,则提醒对应项目配置进行复测,进而定位原因。根据分析结果,当某个厂商的部件或配置列表性能值过低,则需要反馈给厂商,以便厂商能够明确改进方向。当测试阶段结束后,分析结果作为批量生产的依据,将按照客户的硬盘配置要求或者评审要求,将符合硬盘配置的所有记录输出,生成测试报告,交由测试经理进行评审,通过后进行批量试产。
在又一实施场景中,日志采集策略的准备过程可以图8所示。图8是根据一示例性实施例提出的一种策略的配置方法的流程图。可以通过搭建WEB端可视化界面的形式,或者文档展示模式,将策略负责人制定的日志采集策略与分析策略录入数据资源池,并持久化到数据库保存(便于记录版本与历史记录比对)。其中,在针对同一硬盘配置设置日志采集策略和日志分析策略时,日志采集策略可以根据硬盘配置中的连接模式、控制器、接口协议、调用硬盘配置信息的指令以及硬盘属性信息的组合方式进行配置,日志分析策略可以根据硬盘配置中的接口协议、关键值、判定条件以及标准值的组合方式进行配置。例如:若日志采集策略对应的硬盘配置信息中的连接模式、控制器、接口协议、调用硬盘配置信息的指令以及硬盘属性信息为:板载、LSI、SATA、nvme smart-log{p}、物理盘符时,则日志分析策略对应的硬盘配置信息中的接口协议、关键值、判定条件以及标准值为:SATA、temperature(温度)、等于、OK。若日志采集策略对应的硬盘配置信息中的连接模式、控制器、接口协议、调用硬盘配置信息的指令以及硬盘属性信息为:重新组建RAID、PM80、SAS、smartctl-a{p}、sg时,则日志分析策略对应的硬盘配置信息中的接口协议、关键值、判定条件以及标准值为:SAS、num_eff_log_entries、小于、(0,70]。若日志采集策略对应的硬盘配置信息中的连接模式、控制器、接口协议、调用硬盘配置信息的指令以及硬盘属性信息为:直连、PM82、NVME、smart-d cciss、pdid、逻辑盘符时,则日志分析策略对应的硬盘配置信息中的接口协议、关键值、判定条件以及标准值为:NVME、ATA Error Count、等于、0。若日志采集策略对应的硬盘配置信息中的连接模式、控制器、接口协议、调用硬盘配置信息的指令以及硬盘属性信息为:JBOD、...、...、{p}-a{p}、...时,则日志分析策略对应的硬盘配置信息中的接口协议、关键值、判定条件以及标准值为:...、...、...、...。
在又一实施场景中,针对硬盘的硬盘日志进行采集、分析的过程可以如图9所示。图9是根据一示例性实施例提出的又一种硬盘日志分析方法的流程图。
在步骤S901中,预置日志采集策略和日志分析策略。
在本发明实施例中,测试负责人制定测试策略、日志采集策略和日志分析策略,经过审核之后进行公示,提供给测试项目规范,以使功能测试或者集成测试,均统一遵循该策略规范进行测试。
在步骤S902中,配置测试策略。
在本发明实施例中,项目管理员创建项目、测试阶段,设置多种硬盘配置,硬盘配置引入测试策略,在此节点上,不同的测试类型(压力、性能、重启等)需要的测试策略不同,可以根据通用/项目由项目管理员来设置是否关键值,关键值FAIL则无法继续执行测试,需要通过降温、格式化硬盘等手段进行处理之后,再执行测试。
在步骤S903中,执行测试。
在步骤S904中,根据日志采集策略采集各硬盘的硬盘日志,并通过日志分析策略对硬盘日志进行分析。
在本发明实施例中,各项目、阶段、配置下的测试项是并行执行的,每一个测试项目开启线程执行后,锁定配置服务器,安装测试工具,根据测试项目对硬盘进行模式重新组建,遍历控制器、硬盘,由硬盘模式、接口协议等匹配采集策略,将日志采集策略中涉及到的硬盘属性按照顺序依次替换占位符,运行可执行指令,输出到日志文件资源池中。
从资源池中提取硬盘日志作为日志分析的入参,根据配置引入的日志分析策略,遍历控制器、硬盘,根据日志分析策略中的关键字、实际值、判定条件、标准值分析硬盘日志,得出分析结果。其中,分析结果可以包括通用结果和项目结果。
在步骤S905中,将分析结果进行展示。
在本发明实施例中,硬盘日志分析完成之后,将分析结果生成静态图表文件,存放在HTTP服务的静态资源访问池中,进而通过WEB端请求访问,或者将静态资源推送至前端展示。在一例中,对于同一款硬盘,可以通过设置不同的筛选条件,得到多个维度的结果。
通过上述实施例,能够及时处理各资源池中的硬盘日志,分散各服务器的压力,保证高并发线程的执行,节省了人力成本,同时可以提供兼容性、性能、稳定性等多维度的硬盘分析报告。
在又一实施场景中,使用一种后端语言(JAVA、PYTHON、NODEJS等)搭建平台,或使用Tomcat静态文件访问机制作为前端WEB展示,借助数据库(MyBatis、Oracle、DB2等)存储执行过程和结果,各处理节点应用SpringBoot架构微服务来进行数据处理。
输入硬盘日志采集策略、硬盘日志分析策略、定制化项目、多种服务器配置作为资料准备,形成数据的资源池,应用有效的服务器连接手段(Linux下一般通过SSH,Windows下一般通过WinRm,服务器本身的HTTP、FTP能够覆盖几乎所有场景)建立平台与服务器的数据传输桥梁,平台接收输出的测试结果,按照预先定义的分析规则执行分析(可以是通用也可以是定制)。
流程各个模块彼此相互合作又有较低的耦合性,分布式执行可以分散服务器压力,也可以有效集成各节点的功能,流程步骤分为:策略准备、项目配置创建、日志采集、日志分析、结果展示。
针对上述实施方式,可以集成封装各节点的事务处理方式,进而可以有效在不同测试项中移植,减少运算的时间成本。
应该理解的是,虽然图1-图9中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-图9中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于相同发明构思,本发明还提供一种应用于分布式系统的硬盘日志分析装置,其中该分布式系统中包括第一数量的硬盘。
图10是根据一示例性实施例提出的一种硬盘日志分析装置的结构框图。如图10所示,硬盘日志分析装置包括获取单元1001、信息采集单元1002、第一确定单元1003、日志采集单元1004、第二确定单元1005和分析单元1006。
获取单元,1001,用于获取测试指令,测试指令包括测试项目;
信息采集单元1002,用于根据测试指令,分别采集各硬盘的部件信息;
第一确定单元1003,用于根据测试项目以及各硬盘的部件信息,在多个预置日志采集策略中,分别确定各硬盘对应的日志采集策略;
日志采集单元1004,用于根据各硬盘对应的日志采集策略,采集各硬盘对应的硬盘日志。
第二确定单元1005,用于根据测试项目以及各硬盘的部件信息,在多个预置日志分析策略中,分别确定各硬盘对应的日志分析策略;
分析单元1006,用于根据各硬盘对应的日志分析策略,对各硬盘的硬盘日志进行分析,得到各硬盘对应的分析结果。
在一实施例中,部件信息包括运行环境,以及对应的硬盘配置信息。
在另一实施例中,第一确定单元1003,包括:日志确定单元,用于根据测试项目,针对每个硬盘的运行环境及其对应的硬盘配置信息,在多个预置日志采集策略中,分别确定对应每个硬盘的日志采集策略。
在又一实施例中,装置还包括:判断单元,用于根据各硬盘配置信息,分别判断各硬盘的RAID是否满足测试项目的要求。重组单元,用于当RAID不满足要求,则重新组建RAID,以使重新组建的RAID满足要求。
在又一实施例中,在第三方面的第二实施方式中,硬盘配置信息包括与硬盘连接的控制器的属性信息、硬盘连接模式、硬盘类型、接口协议。
在又一实施例中,分布式系统中包括第二数量的控制器,控制器与多个硬盘连接,装置还包括:日志选择单元,用于根据测试项目以及各控制器的属性信息,在多个预置日志采集策略中,分别确定采集各控制器对应的日志采集策略。采集单元,用于根据各控制器对应的日志采集策略,采集各控制器的控制器日志。分割单元,用于基于各控制器日志,将硬盘日志通过分割函数进行分割,生成与各控制器连接的硬盘的硬盘日志。
在又一实施例中,日志分析策略包括检测至少一个关键值、以及关键值的判定条件;分析单元1006,包括:判别单元,用于在分析当前硬盘日志的过程中,依次判断当前硬盘日志中的各关键值对应的数据是否满足对应关键值的判定条件。第一子分析单元,用于当各关键值对应的数据均满足对应关键值的判定条件时,则确定当前硬盘日志的分析结果为当前硬盘日志对应的当前硬盘测试合格。第二子分析单元,用于当存在一个关键值对应的数据不满足对应关键值的判定条件时,则确定当前硬盘日志的分析结果为当前硬盘测试不合格。
上述硬盘日志分析装置的具体限定以及有益效果可以参见上文中对于硬盘日志分析方法的限定,在此不再赘述。上述各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图11是根据一示例性实施例提出的一种计算机设备的硬件结构示意图。如图11所示,该设备包括一个或多个处理器1110以及存储器1120,存储器1120包括持久内存、易失内存和硬盘,图11中以一个处理器1110为例。该设备还可以包括:输入装置1130和输出装置1140。
处理器1110、存储器1120、输入装置1130和输出装置1140可以通过总线或者其他方式连接,图11中以通过总线连接为例。
处理器1110可以为中央处理器(Central Processing Unit,CPU)。处理器1110还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器1120作为一种非暂态计算机可读存储介质,包括持久内存、易失内存和硬盘,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的业务管理方法对应的程序指令/模块。处理器1110通过运行存储在存储器1120中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述任意一种硬盘日志采集方法或者硬盘日志分析方法。
存储器1120可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据、需要使用的数据等。此外,存储器1120可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器1120可选包括相对于处理器1110远程设置的存储器,这些远程存储器可以通过网络连接至数据处理装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置1130可接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键信号输入。输出装置1140可包括显示屏等显示设备。
一个或者多个模块存储在存储器1120中,当被一个或者多个处理器1110执行时,执行如图1-9所示的方法。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,具体可参见如图1-9所示的实施例中的相关描述。
本发明实施例还提供了一种非暂态计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的认证方法。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccess Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (10)
1.一种硬盘日志分析方法,其特征在于,应用于分布式系统,所述分布式系统中包括第一数量的硬盘,所述方法包括:
获取测试指令,所述测试指令包括测试项目;
根据所述测试指令,分别采集各所述硬盘的部件信息;
根据所述测试项目以及各所述硬盘的部件信息,在多个预置日志采集策略中,分别确定各所述硬盘对应的日志采集策略;
根据各所述硬盘对应的日志采集策略,采集各所述硬盘对应的硬盘日志;
根据所述测试项目以及各所述硬盘的部件信息,在多个预置日志分析策略中,分别确定各所述硬盘对应的日志分析策略;
根据各所述硬盘对应的日志分析策略,对各所述硬盘的硬盘日志进行分析,得到各所述硬盘对应的分析结果,包括:针对不同的硬盘日志格式,分别设置不同的分析节点;在所述分析节点中根据对应硬盘日志格式解析硬盘日志,并以MAP键值对方式提取并输出对应硬盘的分析结果。
2.根据权利要求1所述的方法,其特征在于,所述部件信息包括运行环境,以及对应的硬盘配置信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述测试项目以及各所述硬盘的部件信息,在多个预置日志采集策略中,分别确定各所述硬盘对应的日志采集策略,包括:
根据所述测试项目,针对每个硬盘的运行环境及其对应的硬盘配置信息,在多个预置日志采集策略中,分别确定对应每个硬盘的日志采集策略。
4.根据权利要求2或3所述的方法,其特征在于,在分别采集各所述硬盘的部件信息之后,所述方法还包括:
根据各所述硬盘配置信息,分别判断各所述硬盘的RAID是否满足所述测试项目的要求;
当所述RAID不满足所述要求,则重新组建RAID,以使重新组建的RAID满足所述要求。
5.根据权利要求4所述的方法,其特征在于,所述硬盘配置信息包括与硬盘连接的控制器的属性信息、硬盘连接模式、硬盘类型、接口协议。
6.根据权利要求4所述的方法,其特征在于,所述分布式系统中包括第二数量的控制器,所述控制器与多个硬盘连接,所述方法还包括:
根据所述测试项目以及各所述控制器的属性信息,在多个预置日志采集策略中,分别确定采集各所述控制器对应的日志采集策略;
根据各所述控制器对应的日志采集策略,采集各所述控制器的控制器日志;
基于各所述控制器日志,将所述硬盘日志通过分割函数进行分割,生成与各控制器连接的硬盘的硬盘日志。
7.根据权利要求1所述方法,其特征在于,所述日志分析策略包括检测至少一个关键值、以及所述关键值的判定条件;所述根据各所述硬盘对应的日志分析策略,对各所述硬盘的硬盘日志进行分析,得到各所述硬盘对应的分析结果,包括:
在分析当前硬盘日志的过程中,依次判断所述当前硬盘日志中的各所述关键值对应的数据是否满足对应关键值的判定条件;
当各所述关键值对应的数据均满足对应关键值的判定条件时,则确定所述当前硬盘日志的分析结果为所述当前硬盘日志对应的当前硬盘测试合格;
当存在一个所述关键值对应的数据不满足对应关键值的判定条件时,则确定所述当前硬盘日志的分析结果为所述当前硬盘测试不合格。
8.一种硬盘日志分析装置,其特征在于,应用于分布式系统,所述分布式系统中包括第一数量的硬盘,所述装置包括:
获取单元,用于获取测试指令,所述测试指令包括测试项目;
信息采集单元,用于根据所述测试指令,分别采集各所述硬盘的部件信息;
第一确定单元,用于根据所述测试项目以及各所述硬盘的部件信息,在多个预置日志采集策略中,分别确定各所述硬盘对应的日志采集策略;
日志采集单元,用于根据各所述硬盘对应的日志采集策略,采集各所述硬盘对应的硬盘日志;
第二确定单元,用于根据所述测试项目以及各所述硬盘的部件信息,在多个预置日志分析策略中,分别确定各所述硬盘对应的日志分析策略;
分析单元,用于根据各所述硬盘对应的日志分析策略,对各所述硬盘的硬盘日志进行分析,得到各所述硬盘对应的分析结果,包括:针对不同的硬盘日志格式,分别设置不同的分析节点;在所述分析节点中根据对应硬盘日志格式解析硬盘日志,并以MAP键值对方式提取并输出对应硬盘的分析结果。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-7中任一项所述的硬盘日志分析方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的硬盘日志分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111400634.2A CN114116422B (zh) | 2021-11-19 | 2021-11-19 | 一种硬盘日志分析方法、硬盘日志分析装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111400634.2A CN114116422B (zh) | 2021-11-19 | 2021-11-19 | 一种硬盘日志分析方法、硬盘日志分析装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114116422A CN114116422A (zh) | 2022-03-01 |
CN114116422B true CN114116422B (zh) | 2024-05-24 |
Family
ID=80440785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111400634.2A Active CN114116422B (zh) | 2021-11-19 | 2021-11-19 | 一种硬盘日志分析方法、硬盘日志分析装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114116422B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117672330A (zh) * | 2022-08-24 | 2024-03-08 | 富联精密电子(天津)有限公司 | 硬盘性能检测方法及相关设备 |
CN116719668A (zh) * | 2023-08-07 | 2023-09-08 | 江苏华存电子科技有限公司 | 一种NVMe固态硬盘组RAID的自动化测试方法及测试系统 |
CN117914984B (zh) * | 2024-03-19 | 2024-06-07 | 深圳百沃彰世科技有限公司 | 一种用于通讯设备终端的多维通讯压力测试方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108183916A (zh) * | 2018-01-15 | 2018-06-19 | 华北电力科学研究院有限责任公司 | 一种基于日志分析的网络攻击检测方法及装置 |
CN108563544A (zh) * | 2018-03-26 | 2018-09-21 | 平安普惠企业管理有限公司 | 系统性能测试方法、装置、计算机设备和存储介质 |
KR101914874B1 (ko) * | 2017-07-24 | 2018-11-02 | 숭실대학교산학협력단 | 연관 관계 분석 규칙 생성 방법, 이를 수행하기 위한 기록 매체, 연관 관계 분석 규칙을 이용한 내부 정보 유출 탐지 방법 및 장치 |
CN111209170A (zh) * | 2019-10-21 | 2020-05-29 | 江苏卓易信息科技股份有限公司 | 一种基于规则的用户行为日志采集、分析的方法和系统 |
CN112148674A (zh) * | 2020-10-12 | 2020-12-29 | 平安科技(深圳)有限公司 | 日志数据处理方法、装置、计算机设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106105112B (zh) * | 2014-03-19 | 2019-08-27 | 日本电信电话株式会社 | 分析规则调整装置、分析规则调整系统以及分析规则调整方法 |
-
2021
- 2021-11-19 CN CN202111400634.2A patent/CN114116422B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101914874B1 (ko) * | 2017-07-24 | 2018-11-02 | 숭실대학교산학협력단 | 연관 관계 분석 규칙 생성 방법, 이를 수행하기 위한 기록 매체, 연관 관계 분석 규칙을 이용한 내부 정보 유출 탐지 방법 및 장치 |
CN108183916A (zh) * | 2018-01-15 | 2018-06-19 | 华北电力科学研究院有限责任公司 | 一种基于日志分析的网络攻击检测方法及装置 |
CN108563544A (zh) * | 2018-03-26 | 2018-09-21 | 平安普惠企业管理有限公司 | 系统性能测试方法、装置、计算机设备和存储介质 |
CN111209170A (zh) * | 2019-10-21 | 2020-05-29 | 江苏卓易信息科技股份有限公司 | 一种基于规则的用户行为日志采集、分析的方法和系统 |
CN112148674A (zh) * | 2020-10-12 | 2020-12-29 | 平安科技(深圳)有限公司 | 日志数据处理方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114116422A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114116422B (zh) | 一种硬盘日志分析方法、硬盘日志分析装置及存储介质 | |
US10769228B2 (en) | Systems and methods for web analytics testing and web development | |
US9558196B2 (en) | Automatic correlation of dynamic system events within computing devices | |
EP3165984B1 (en) | An event analysis apparatus, an event analysis method, and an event analysis program | |
US20060075308A1 (en) | Log management system and method | |
US11036608B2 (en) | Identifying differences in resource usage across different versions of a software application | |
JP2017531855A (ja) | データ駆動型検査用フレームワーク | |
US9940215B2 (en) | Automatic correlation accelerator | |
CN114490375B (zh) | 应用程序的性能测试方法、装置、设备及存储介质 | |
JP6256115B2 (ja) | 操作探索プログラム、操作探索方法、および操作探索装置 | |
CN114422564A (zh) | 访问数据审计溯源方法、装置、计算机设备及存储介质 | |
US11399071B2 (en) | Program operation system and program operation method | |
EP3861433B1 (en) | Upgrades based on analytics from multiple sources | |
CN109063040B (zh) | 客户端程序数据采集方法及系统 | |
CN111913937B (zh) | 数据库运维方法和装置 | |
CN110309206B (zh) | 订单信息采集方法及系统 | |
CN112148545A (zh) | 嵌入式系统的安全基线检测方法以及安全基线检测系统 | |
CN112035332B (zh) | 一种服务器监控方法、系统及可读存储介质 | |
CN112764888B (zh) | 一种基于日志分析的分布式事务检查判断方法及系统 | |
CN113760856B (zh) | 数据库管理方法及装置、计算机可读存储介质、电子设备 | |
CN113778994B (zh) | 数据库检测方法、装置、电子设备和计算机可读介质 | |
KR102656541B1 (ko) | 로그 타입별 분산 방식을 활용한 대용량 로그 데이터 분석 장치, 방법 및 프로그램 | |
JP2019133497A (ja) | 情報処理プログラム、情報処理装置及びデバッグシステム | |
CN117971605B (zh) | 基于数据库异常的自动化日志信息收集方法及系统 | |
KR20050091470A (ko) | 텐덤 시스템의 트랜잭션 분석 시스템 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |