CN111522678B - 故障检测方法和装置 - Google Patents
故障检测方法和装置 Download PDFInfo
- Publication number
- CN111522678B CN111522678B CN202010289334.0A CN202010289334A CN111522678B CN 111522678 B CN111522678 B CN 111522678B CN 202010289334 A CN202010289334 A CN 202010289334A CN 111522678 B CN111522678 B CN 111522678B
- Authority
- CN
- China
- Prior art keywords
- time point
- detection result
- determining
- index data
- abnormal
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 346
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 22
- 230000002159 abnormal effect Effects 0.000 claims description 115
- 230000004044 response Effects 0.000 claims description 13
- 238000010606 normalization Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 3
- 238000012549 training Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 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/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种故障检测方法和装置,属于数据处理技术领域。所述方法包括:获取线上***在第一时间点的访问日志和指标数据,第一时间点为对线上***进行故障检测的时间点,指标数据用于指示与线上***是否出现故障相关的指标。基于所述第一时间点的访问日志,确定所述线上***在所述第一时间点的第一检测结果。基于所述第一时间点的指标数据,确定所述线上***在所述第一时间点的第二检测结果。基于所述第一检测结果和所述第二检测结果,确定所述线上***的故障检测结果。如此,可以根据访问日志和指标数据这两方面的因素确定线上***是否出现故障,并且将第一检测结果和第二检测结果结合起来,可以提高线上***的故障检测结果的准确率。
Description
技术领域
本申请涉及数据处理技术领域,特别涉及一种故障检测方法和装置。
背景技术
随着科技的发展,越来越多的企业通过线上***来为用户提供各种各样的业务,但若线上***出现故障,可能会导致多个业务无法正常进行,不仅会影响企业的KPI(KeyPerformance Indicator,关键绩效指标),还会降低企业的服务质量,从而影响用户的使用体验。因此,需要对线上***进行故障检测,以便能够在线上***出现问题时及时发现。
相关技术中,可以采集线上***在某个时间点的多项指标数据,对应每项指标数据可以人为设置一个指标阈值,然后根据每项指标数据与对应的指标阈值来判断每项指标数据是否异常。但这种方式只能判断单个指标数据是否异常,无法判断线上***是否出现故障,进而无法在线上***出现故障时及时发现,仍然可能会影响业务的正常进行。
发明内容
本申请提供了一种故障检测方法和装置,可以解决相关技术只能检测单个指标是否异常,而无法对线上***进行故障检测的问题。所述技术方案如下:
一方面,提供了一种故障检测方法,所述方法包括:
获取线上***在第一时间点的访问日志和指标数据,所述第一时间点为对所述线上***进行故障检测的时间点,所述指标数据用于指示与所述线上***是否出现故障相关的指标;
基于所述第一时间点的访问日志,确定所述线上***在所述第一时间点的第一检测结果;
基于所述第一时间点的指标数据,确定所述线上***在所述第一时间点的第二检测结果;
基于所述第一检测结果和所述第二检测结果,确定所述线上***的故障检测结果。
另一方面,提供了一种故障检测装置,所述装置包括:
获取模块,用于获取线上***在第一时间点的访问日志和指标数据,所述第一时间点为对所述线上***进行故障检测的时间点,所述指标数据用于指示与所述线上***是否出现故障相关的指标;
第一确定模块,用于基于所述第一时间点的访问日志,确定所述线上***在所述第一时间点的第一检测结果;
第二确定模块,用于基于所述第一时间点的指标数据,确定所述线上***在所述第一时间点的第二检测结果;
第三确定模块,用于基于所述第一检测结果和所述第二检测结果,确定所述线上***的故障检测结果。
另一方面,提供了一种设备,所述设备包括存储器和处理器,所述存储器用于存放计算机程序,所述处理器用于执行所述存储器上所存放的计算机程序,以实现上述所述的故障检测方法的步骤。
另一方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的故障检测方法的步骤。
另一方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述所述的故障检测方法的步骤。
本申请提供的技术方案至少可以带来以下有益效果:
在需要检测线上***在第一时间点是否出现故障时,可以获取线上***在第一时间点的访问日志和指标数据,该指标数据用于指示与线上***是否出现故障相关的指标。然后基于访问日志确定线上***在第一时间点的第一检测结果,并基于指标数据确定线上***在第一时间点的第二检测结果。由于仅根据第一检测结果或仅根据第二检测结果确定的故障检测结果可能不准确,因此,可以将第一检测结果和第二检测结果结合起来,基于第一检测结果和第二检测结果共同确定线上***的故障检测结果。如此,不同于相关技术只能检测单个指标是否异常,而是可以根据访问日志和指标数据这两方面的因素确定线上***是否出现故障,并且将第一检测结果和第二检测结果结合起来,可以提高线上***的故障检测结果的准确率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种实施环境的示意图;
图2是根据一示例性实施例示出的一种故障检测方法的流程图;
图3是根据一示例性实施例示出的一种故障检测方法的线程图;
图4是根据另一示例性实施例示出的一种故障检测方法的流程图;
图5是根据一示例性实施例示出的一种故障检测装置的结构示意图;
图6是根据一示例性实施例示出的一种设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在对本申请实施例提供的故障检测方法进行详细的解释说明之前,先对本申请实施例提供的实施环境进行介绍。
请参考图1,图1是根据一示例性实施例示出的一种实施环境的示意图。该实施环境包括终端101和服务器102,终端101可以与服务器102进行通信连接。该通信连接可以为有线或者无线连接,本申请对此不做限定。
其中,终端101可以为管理线上***的运营人员的终端。该终端101可以是任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品,例如PC(Personal Computer,个人计算机)、手机、智能手机、PDA(Personal Digital Assistant,个人数字助手)、可穿戴设备、掌上电脑PPC(Pocket PC)、平板电脑、智能车机、智能电视、智能音箱等。
其中,服务器102提供了一种线上***,该线上***可以用于为用户提供各项服务。该服务器102可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心,本申请实施例对此不做限定。
本领域技术人员应能理解上述终端101和服务器102仅为举例,其他现有的或今后可能出现的终端或服务器如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
介绍完本申请实施例提供的实施环境后,接下来对本申请实施例提供的故障检测方法进行详细的解释说明。
图2是根据一示例性实施例示出的一种故障检测方法的流程图,该方法应用于上述实施环境的服务器中。请参考图2,该方法可以包括如下步骤:
步骤201:获取线上***在第一时间点的访问日志和指标数据,第一时间点为对线上***进行故障检测的时间点。
其中,线上***的底层架构为分布式的,因此,线上***可以称为面向用户的分布式***。
其中,访问日志为线上***的接入层的日志,可以用于指示线上***的访问量、访问时段、访问是否成功等访问信息。
其中,指标数据可以用于指示与线上***是否出现故障相关的指标。例如,该指标数据可以为页面访问成功率、视频播放成功率等。
作为一种示例,该指标数据可以为单个指标的指标数据,也可以为多个指标的指标数据。
在实施中,可以在服务器上部署两种不同的采集agent(代理),即数据采集工具。一种用于采集线上***的访问层的访问日志,可以将采集到的访问日志存储在ES(ElasticSearch,弹性搜索)数据库中,在ES数据库中,将第一时间点的指标数据与该第一时间点对应存储。另一种用于采集线上***的KPI数据,即线上***的指标数据,可以将采集到的指标数据存储在opentsdb(Open time series data base,开放时间序列数据库)中,在opentsdb中,将该第一时间点的指标数据与第一时间点对应存储。
若opentsdb中存储有多个时间点的指标数据,该多个时间点的指标数据可以以时序数据的形式存储。
作为一种示例,可以实时采集线上***在每个时间点的访问日志和指标数据,在需要进行故障检测的第一时间点,可以直接获取第一时间点的访问日志和指标数据。
步骤202:基于第一时间点的访问日志,确定线上***在第一时间点的第一检测结果。
其中,该访问日志可以包括HTTP(Hyper Text Transfer Protocol,超文本传输协议)状态码,HTTP状态码可以用于表示线上***对请求的响应结果。HTTP状态码可以为三位数字代码。例如,HTTP状态码可以为200、201、300、404等。
在实施中,基于第一时间点的访问日志,确定线上***在第一时间点的第一检测结果可以包括如下几种实现方式:
第一种实现方式:获取第二时间点的访问日志,第二时间点为第一时间点的前一个时间点。确定第一时间点对应的第一比例,以及确定第二时间点对应的第二比例,第一比例为第一时间点的访问日志中正常状态码与HTTP状态码的比值,第二比例为第二时间点的访问日志中正常状态码与HTTP状态码的比值,正常状态码为相应时间点的访问日志包括的HTTP状态码中用于表示响应成功的状态码。基于第一比例和第二比例,确定第一时间点对应的第一环比振幅。基于第一环比振幅,确定线上***在第一时间点的第一检测结果。
作为一种示例,正常状态码可以为200,用于表示请求响应成功。
也就是说,可以根据第一时间点的访问日志,确定第一时间点对应的正常状态码与HTTP状态码的比值,得到第一比例。以及根据第二时间点的访问日志,确定第二时间点对应的正常状态码与HTTP状态码的比值,得到第二比例。再基于第一比例和第二比例确定第一时间点对应的第一环比振幅,由于异常情况下第一环比振幅可能会为异常值,因此,基于第一环比振幅,可以确定线上***在第一时间点的第一检测结果。
作为一种示例,可以统计第一时间点的访问日志中HTTP状态码的第一总数量,以及正常状态码的第一数量,然后将第一数量与第一总数量的比值确定为第一比例。同理,可以统计第二时间点的访问日志中HTTP状态码的第二总数量,以及正常状态码的第二数量,然后将第二数量与第二总数量的比值确定为第二比例。
作为一种示例,基于第一比例和第二比例,确定第一时间点对应的第一环比振幅的具体实现可以包括:基于第一比例和第二比例,确定第一比例和第二比例的差值,然后确定该差值与第一比例的商,将该商的绝对值确定为第一时间点对应的第一环比振幅。
作为一种示例,基于第一环比振幅确定线上***在第一时间点的第一检测结果的具体实现可以包括:若第一环比振幅大于第一阈值,说明第一时间点的访问日志中正常状态码的数量可能出现了陡降,可以确定第一检测结果为异常。
需要说明的是,第一阈值可以由用户根据实际需求进行设置,也可以由服务器默认设置,本申请实施例对此不做限定。
第二种实现方式:获取第二时间点的访问日志,第二时间点为第一时间点的前一个时间点。确定第一时间点对应的第三比例,以及确定第二时间点对应的第四比例,第三比例为第一时间点的访问日志中非正常状态码与HTTP状态码的比值,第四比例为第二时间点的访问日志中非正常状态码与HTTP状态码的比值,非正常状态码为相应时间点的访问日志包括的HTTP状态码中除正常状态码之外的状态码,正常状态码为相应时间点的访问日志包括的HTTP状态码中用于表示响应成功的状态码。基于第三比例和第四比例,确定第一时间点对应的第二环比振幅。基于第二环比振幅,确定线上***在第一时间点的第一检测结果。
也就是说,可以根据第一时间点的访问日志,确定第一时间点对应的非正常状态码与HTTP状态码的比值,得到第三比例。以及根据第二时间点的访问日志,确定第二时间点对应的非正常状态码与HTTP状态码的比值,得到第四比例。再基于第三比例和第四比例确定第一时间点对应的第二环比振幅,由于异常情况下第二环比振幅可能会为异常值,因此,基于第二环比振幅,可以确定线上***在第一时间点的第一检测结果。
作为一种示例,可以统计第一时间点的访问日志中HTTP状态码的第三总数量,以及非正常状态码的第三数量,然后将第三数量与第三总数量的比值确定为第三比例。同理,可以统计第二时间点的访问日志中HTTP状态码的第四总数量,以及非正常状态码的第四数量,然后将第四数量与第四总数量的比值确定为第四比例。
作为一种示例,基于第三比例和第四比例,确定第一时间点对应的第二环比振幅的具体实现可以包括:基于第三比例和第四比例,确定第三比例和第四比例的差值,然后确定该差值与第三比例的商,将该商的绝对值确定为第一时间点对应的第二环比振幅。
作为一种示例,基于第二环比振幅确定线上***在第一时间点的第一检测结果的具体实现可以包括:若第二环比振幅大于第二阈值,说明第一时间点的访问日志中非正常状态码的数量可能出现了陡增,可以确定第一检测结果为异常。
需要说明的是,第二阈值可以由用户根据实际需求进行设置,也可以由服务器默认设置,本申请实施例对此不做限定。另外,第一阈值与第二阈值不同。
第三种实现方式:获取多个第三时间点的访问日志,多个第三时间点和第一时间点为不同时间周期的同一时间点,多个第三时间点处于第一时间点之前。确定第一时间点对应的第五比例,以及确定各个第三时间点对应的第六比例,第五比例为第一时间点的访问日志中正常状态码与HTTP状态码的比值,第六比例为相应的第三时间点的访问日志中正常状态码与HTTP状态码的比值,正常状态码为相应时间点的访问日志包括的HTTP状态码中用于表示响应成功的状态码。基于第五比例和多个第六比例,确定第一时间点对应的多个第一同比振幅。基于多个第一同比振幅,确定线上***在第一时间点的第一检测结果。
其中,一个时间周期可以为一个小时,第一时间点与多个第三时间点可以为不同小时的同一时间点。例如,若第一时间点为10:32,多个第三时间点可以为9:32、8:32、7:32、6:32、5:32等。
由于仅根据第一时间点的访问日志和第二时间点的访问日志确定第一检测结果,数据量较少,得到的第一检测结果的准确率可能不是很高。因此,可以获取多个第三时间点的访问日志,通过第一时间点和多个第三时间点的访问日志,确定第一检测结果。
也就是说,在该种实现方式中,可以根据第一时间点的访问日志,确定第一时间点对应的正常状态码与HTTP状态码的比值,得到第五比例。以及根据多个第三时间点的访问日志,分别确定各个第三时间点对应的非正常状态码与HTTP状态码的比值,得到多个第六比例。再基于第五比例和多个第六比例,可以确定第一时间点对应的多个第一同比振幅,由于异常情况下第一同比振幅可能会为异常值,因此,基于多个第一同比振幅,可以确定线上***在第一时间点的第二检测结果。
作为一种示例,可以统计第一时间点的访问日志中HTTP状态码的第五总数量,以及正常状态码的第五数量,然后将第五数量与第五总数量的比值确定为第五比例。同理,对于多个第三时间点中的任一第三时间点,可以确定该任一第三时间点的访问日志中HTTP状态码的第六总数量,以及非正常状态码的第六数量,然后将第六数量与第六总数量的比值确定为该任一第三时间点的第六比例,对于多个第三时间点均进行上述操作后,可以确定各个第三时间点的第六比例,得到多个第六比例。
作为一种示例,基于第五比例和多个第六比例,确定第一时间点对应的多个第一同比振幅的具体实现可以包括:对于任一第六比例,确定第五比例和该任一第六比例的差值,然后确定该差值与第六比例的商,将该商的绝对值确定为第一时间点对应的一个第一同比振幅,对于多个第六比例均进行上述操作后,可以确定第一时间点对应的多个第一同比振幅。
作为一种示例,基于多个第一同比振幅,确定线上***在第一时间点的第一检测结果的具体实现可以包括:将多个第一同比振幅与第一阈值进行比较,若多个第一同比振幅中有指定阈值个第一同比振幅大于第一阈值,说明第一时间点该线上***出现异常的可能性较大,因此,可以确定第一检测结果为异常。
需要说明的是,指定阈值可以由用户根据实际需求进行设置,也可以由服务器默认设置,本申请实施例对此不做限定。
第四种实现方式:获取多个第三时间点的访问日志,多个第三时间点和第一时间点为不同时间周期的同一时间点,多个第三时间点处于第一时间点之前。确定第一时间点对应的第七比例,以及确定各个第三时间点对应的第八比例,第七比例为第一时间点的访问日志中非正常状态码与HTTP状态码的比值,第八比例为相应的第三时间点的访问日志中非正常状态码与HTTP状态码的比值,非正常状态码为相应时间点的访问日志包括的HTTP状态码中除正常状态码之外的状态码,正常状态码为相应时间点的访问日志包括的HTTP状态码中用于表示响应成功的状态码。基于第七比例和多个第八比例,确定第一时间点对应的多个第二同比振幅。基于多个第二同比振幅,确定线上***在第一时间点的第一检测结果。
也就是说,在该种实现方式中,可以根据第一时间点的访问日志,确定第一时间点对应的非正常状态码与HTTP状态码的比值,得到第七比例。以及根据多个第三时间点的访问日志,分别确定各个第三时间点对应的非正常状态码与HTTP状态码的比值,得到多个第八比例。再基于第七比例和多个第八比例,可以确定第一时间点对应的第二同比振幅,由于异常情况下第一同比振幅可能会为异常值,因此,基于第二同比振幅,可以确定线上***在第一时间点的第一检测结果。
作为一种示例,可以统计第一时间点的访问日志中HTTP状态码的第七总数量,以及正常状态码的第七数量,然后将第七数量与第七总数量的比值确定为第七比例。同理,对于多个第三时间点中的任一第三时间点,可以确定该任一第三时间点的访问日志中HTTP状态码的第八总数量,以及非正常状态码的第八数量,然后将第八数量与第八总数量的比值确定为该任一第三时间点的第八比例,对于多个第三时间点均进行上述操作后,可以确定各个第三时间点的第八比例,得到多个第八比例。
作为一种示例,基于第七比例和多个第八比例,确定第一时间点对应的多个第一同比振幅的具体实现可以包括:对于任一第八比例,确定第七比例和该任一第八比例的差值,然后确定该差值与第八比例的商,将该商的绝对值确定为第一时间点对应的一个第二同比振幅,对于多个第八比例均进行上述操作后,可以确定第一时间点对应的多个第二同比振幅。
作为一种示例,基于多个第二同比振幅,确定线上***在第一时间点的第一检测结果的具体实现可以包括:将多个第二同比振幅与第二阈值进行比较,若多个第二同比振幅中有指定阈值个第二同比振幅大于第二阈值,说明第一时间点该线上***出现异常的可能性较大,可以确定第一检测结果为异常。
步骤203:基于第一时间点的指标数据,确定线上***在第一时间点的第二检测结果。
为了使通过指标数据确定的第二检测结果的准确性更高,可以基于第一时间点的指标数据,通过不同的算法确定多个检测结果,并将多个检测结果结合起来确定第二检测结果。
在实施中,基于第一时间点的指标数据,确定线上***在第一时间点的第二检测结果的具体实现可以包括:基于第一时间点的指标数据,按照三种不同的算法,确定线上***在第一时间点的检测结果,得到第三检测结果、第四检测结果和第五检测结果。基于第三检测结果、第四检测结果和第五检测结果,确定第二检测结果。
也就是说,可以根据第一时间点的指标数据,通过三种算法确定线上***在第一时间点的三个检测结果,然后基于该三个检测结果确定第二检测结果。
在实施中,基于第一时间点的指标数据,确定线上***在第一时间点的第三检测结果的具体实现可以包括:获取多个第四时间点的指标数据,多个第四时间点为第一时间点之前的多个时间点。确定第一时间点的指标数据和多个第四时间点的指标数据的平均值,得到第一均值。确定第一时间点的指标数据与第一均值的差值,得到第一差值。确定第一时间点的指标数据和多个第四时间点的指标数据的标准差。若第一差值大于标准差的指定数值倍,确定第三检测结果为异常。
需要说明的是,指定数值可以由用户根据实际需求进行设置,也可以由服务器默认设置,本申请实施例对此不做限定。例如,指定数值可以为3。
作为一种示例,服务器可以实时采集线上***在每个时间点的指标数据,并存储在opentsdb,因此,可以直接从opentsdb获取第一时间点之前的多个第四时间点的指标数据。例如,可以获取第一时间点之前6个小时中每分钟的指标数据,可以得到360个第四时间点的指标数据。
作为一种示例,获取多个第四时间点的指标数据后,可以对第一时间点的指标数据和多个第四时间点的指标数据进行处理,根据处理后的指标数据确定第三检测结果。示例性地,假设第一时间点的指标数据为A,多个第四时间点的指标数据分别为B、C、D、E和F,且A、B、C、D、E和F呈正态分布,可以确定A、B、C、D、E和F的平均值,得到第一均值。假设第一均值为G,可以确定A与G的差值,得到第一差值,再确定A、B、C、D、E和F的标准差。假设指定数值为3,若第一差值大于标准差的3倍,可以认为A可能是异常数据,进而可以确定第三检测结果为异常。
在实施中,基于第一时间点的指标数据,确定线上***在第一时间点的第四检测结果的具体实现可以包括:获取多个第四时间点的指标数据,多个第四时间点为第一时间点之前的多个时间点,且多个第四时间点包括第二时间点。确定第一时间点的指标数据和多个第四时间点的指标数据的平均值,得到第一均值。确定第一时间点的指标数据和多个第四时间点的指标数据中的最大指标数据和最小指标数据。确定最大指标数据和最小指标数据的差值,得到第二差值。确定第一时间点的指标数据与第一均值的差值,以及确定多个第四时间点的指标数据分别与第一均值的差值,得到多个第三差值。分别确定多个第三差值与第二差值的商,得到多个商值。在多个商值中对第一时间点对应的商值进行标定。将进行标定处理后的第一时间点对应的商值和多个第四时间点对应的商值输入第一模型中,输出线上***在第一时间点的第四检测结果,第一模型是基于无监督算法进行数据处理的模型。
其中,第一模型是基于无监督算法进行数据处理的模型,是不需要提前进行模型训练的,且输出数据时不需要输入数据对应的标签。在使用第一模型的过程中,直接将被标定的目标数据和多个数据一起输入第一模型中,便可以得到目标数据的输出结果。
需要说明的是,获取多个第四时间点的指标数据的过程与确定第三检测结果中获取多个第四时间点的指标数据的过程相同,具体可参见上述实施例的相关描述。
作为一种示例,假设第一时间点的指标数据为A,多个第四时间点的指标数据分别为B、C、D、E和F,可以确定A、B、C、D、E和F的平均值,得到第一均值。然后可以将A、B、C、D、E和F按照从大到小的顺序进行排列,确定最大指标数据和最小指标数据,并确定最大指标数据和最小指标数据的差值,得到第二差值。假设第一差值为G,然后可以分别确定A、B、C、D、E、F与G的差值,得到多个第三差值。假设多个第三差值为A′、B′、C′、D′、E′、F′,可以分别确定A′、B′、C′、D′、E′、F′与第二差值的商,得到多个商值。假设多个商值为A″、B″、C″、D″、E″、F″,然后对第一时间点对应的商值A″进行标定,再将标定处理后的A″和B″、C″、D″、E″、F″输入第一模型中,第一模型可以输出线上***在A″对应的第一时间点的第四检测结果。
在实施中,基于第一时间点的指标数据,确定线上***在第一时间点的第五检测结果的具体实现可以包括:对第一时间点的指标数据进行归一化处理。将归一化处理后的第一时间点的指标数据输入第二模型中,输出线上***在第一时间点的第五检测结果,第二模型用于基于一个指标数据确定线上***在一个指标数据对应的时间点是否异常。
也就是说,可以对第一时间点的指标数据进行归一化处理,并将归一化处理后的第一时间点的指标数据输入经过训练的第二模型中,可以直接输出第五检测结果。
在一些实施例中,可以先对待训练模型进行训练,得到第二模型。作为一种示例,可以获取多个历史时间点的指标数据,以及每个历史时间点的线上***的第五检测结果,将第五检测结果确定为对应历史时间点的指标数据的真值标签,将一个历史时间点的指标数据与一个真值标签作为一组样本训练数据,进而可以得到多组样本训练数据。将多组样本训练数据输入待训练模型中,可以输出每个指标数据对应的预测标签,根据多个真值标签和多个预测标签,可以确定交叉熵损失,若该交叉熵损失大于损失阈值,可以基于该交叉熵损失对该待训练模型的初始参数进行调整,然后继续将多组样本训练数据输入经过参数调整后的待训练模型中,直到确定的交叉熵损失小于或等于损失阈值,可以认为带训练模型已经达到要求,将最后一次参数调整后的模型确定为第一模型。
由于第一模型是根据指标数据和线上***的故障检测结果训练得到的,因此,将归一化后的第一时间点的指标数据输入第一模型中,可以直接输出线上***在第一时间点的第五检测结果。
需要说明的是,上述仅是以每个时间点的指标数据包括一个指标的指标数据为例说明确定第三检测结果、第四检测结果和第五检测结果的过程。在一些实施例中,每个时间点的指标数据还可以为多个指标的指标数据。在这种情况下,作为一种示例,可以基于每个指标数据,按照上述步骤,确定第三子检测结果、第四子检测结果和第五子检测结果,如此,可以确定多个第三子检测结果、多个第四子检测结果和多个第五子检测结果,进而对多个第三子检测结果进行加权处理得到第三检测结果,对多个第四子检测结果进行加权处理得到第四检测结果,对多个第五子检测结果进行加权处理得到第五检测结果。作为另一种示例,可以对多个指标的指标数据进行加权处理,得到一个指标数据,然后按照上述步骤确定第三检测结果、第四检测结果和第五检测结果。
需要说明的是,在进行加权处理时,每个指标的权重可以根据每个指标对线上***的故障检测的重要性来决定,指标越重要,该指标的权重越大。
在实施中,基于第三检测结果、第四检测结果和第五检测结果,确定第二检测结果的具体实现可以包括:若第三检测结果、第四检测结果和第五检测结果中至多一个检测结果为异常,确定第二检测结果为非异常。若第三检测结果、第四检测结果和第五检测结果中至少两个检测结果为异常,确定第二检测结果为异常。
也就是说,如果第三检测结果、第四检测结果和第五检测结果中没有检测结果为异常,说明基于指标数据的检测结果没有异常,可以确定第二检测结果为非异常。如果第三检测结果、第四检测结果和第五检测结果中有一个检测结果为异常,说明基于指标数据的检测结果有异常的可能性较低,而且该一个异常的检测结果可能是误判,因此,可以确定第二检测结果为非异常。如果第三检测结果、第四检测结果和第五检测结果中有两个或两个以上检测结果为异常,说明基于指标数据的检测结果为异常的可能性较大,因此,可以确定第二检测结果为异常。
步骤204:基于第一检测结果和第二检测结果,确定线上***的故障检测结果。
在实施中,由于仅根据第一检测结果或仅根据第二检测结果来判断线上***是否有故障会比较片面,判断结果可能不太准确。因此,可以将第一检测结果和第二检测结果结合起来,确定线上***的故障检测结果。
在实施中,基于第一检测结果和第二检测结果,确定线上***的故障检测结果的具体实现可以包括:若第一检测结果为异常,确定线上***的故障检测结果为异常。或者,若第一检测结果为非异常,且第二检测结果为异常,确定线上***的故障检测结果为异常。
作为一种示例,由于第一检测结果是基于接入层的访问日志确定的,在确定线上***的故障检测结果中所占的权重大于第二检测结果所占的权重,因此,若确定第一检测结果为异常,说明线上***出故障的可能性较大,可以不再判断第二检测结果,直接确定线上***的故障检测结果为异常。但若第一检测结果为非异常,可以继续判断第二检测结果,若第二检测结果为异常,可以确定线上***的故障检测结果为异常。
进一步地,确定线上***的故障检测结构后,还可以向管理线上***的运营人员的终端发送告警信息。
作为一种示例,若第一检测结果和第二检测结果均为异常,且第二检测结果是基于第三检测结果、第四检测结果和第五检测结果均为异常得到的,说明线上***的故障对线上***的正常运行影响很大,可以向终端发送第一告警信息,该第一告警信息的等级为critical(极重要的)。
作为一种示例,若第一检测结果为异常且第二检测结果为非异常,或者,第一检测结果为异常且第二检测结果是基于第三检测结果、第四检测结果和第五检测结果中有两个检测结果为异常得到的,说明线上***的故障对线上***的正常运行影响较大,可以向终端发送第二告警信息,该第二告警信息的等级为major(重要的),且该第二告警信息的等级低于第一告警信息的等级。
作为一种示例,若第一检测结果为非异常且第二检测结果为异常,说明线上***的故障对线上***的正常运行影响较大,可以向终端发送第二告警信息。
作为一种示例,若第一检测结果和第二检测结果均为非异常,且第二检测结果是基于第三检测结果、第四检测结果和第五检测结果中有一个检测结果为异常得到的,说明线上***有故障的可能性很小,但为了避免漏掉一些故障,可以向终端发送第三告警信息,该第三告警信息的等级为minor(次要的),且该第三告警信息的等级低于第二告警信息的等级。
在本申请实施例中,在需要检测线上***在第一时间点是否出现故障时,可以获取线上***在第一时间点的访问日志和指标数据,该指标数据用于指示与线上***是否出现故障相关的指标。然后基于访问日志确定线上***在第一时间点的第一检测结果,并基于指标数据确定线上***在第一时间点的第二检测结果。由于仅根据第一检测结果或仅根据第二检测结果确定的故障检测结果可能不准确,因此,可以将第一检测结果和第二检测结果结合起来,基于第一检测结果和第二检测结果共同确定线上***的故障检测结果。如此,不同于相关技术只能检测单个指标是否异常,而是可以根据访问日志和指标数据这两方面的因素确定线上***是否出现故障,并且将第一检测结果和第二检测结果结合起来,可以提高线上***的故障检测结果的准确率。
为了便于理解,接下来结合图3和图4对本申请实施例提出的故障检测方法进行说明。
参见图3,图3是根据一示例性实施例示出的一种故障检测方法的线程图。图3中包括数据预处理模块,故障检测模块、故障判定模块和告警发送模块。
首先通过两种采集agent从线上***采集第一时间点的访问日志和指标数据,将访问日志存储在ES数据库中,将指标数据存储在opentsdb中。数据预处理模块用于获取第二时间点的访问日志,或者,获取多个第三时间点的访问日志;并且,获取多个第四时间点的指标数据。故障检测模块用于基于第一时间点的指标数据和多个第三时间点的指标数据,确定第一同比振幅或第二同比振幅,进而确定第一检测结果;或者,基于第一时间点的指标数据和第二时间点的指标数据,确定第一环比振幅或第二环比振幅,进而确定第一检测结果。故障检测模块用于基于第一时间点的指标数据和多个第四时间点的指标数据,确定第三检测结果和第四检测结果,以及基于第一时间点的指标数据确定第五检测结果。然后故障判定模块用于先基于第三检测结果、第四检测结果和第五检测结果,确定第二检测结果,再基于第一检测结果和第二检测结果确定线上***在第一时间点的故障检测结果。告警发送模块用于基于故障检测结果向终端发送不同等级的告警信息。
作为一种示例,图3中的两种采集agent可以为图4中的log agent(日志代理)和metric agent(时序代理)。而且,图3中确定第五检测结果时,可以使用第二模型,第二模型的训练过程可以参见图4。
参见图4,图4中包括数据采集模块、数据预处理模块、算法处理模块、判定模块和通知模块。数据采集模块用于通过log agent采集访问日志,并将访问日志存储在ES数据库中,通过metric agent采集指标数据,并将指标数据存储在opentsdb中。数据预处理模块用于获取第二时间点或多个第三时间点的访问日志,以及获取多个第四时间点的指标数据。算法处理模块用于基于第一时间点的访问日志和指标数据,按照四种算法确定出第一检测结果、第三检测结果、第四检测结果和第五检测结果。判定模块用于根据这四个检测结果对故障检测结果进行判定,并将故障检测结果发送给通知模块,通知模块用于基于故障检测结果向终端发送不同等级的告警信息。另外,在图4中,可以从opentsdb中获取多个历史指标数据作为模型训练的样本,并且由人工标记每个样本的标签,该标签用于指示相应的样本所对应的时间点线上***是否出现故障。然后将多个样本和各个样本的标签输入待训练模型中进行训练,可以得到第二模型。
图5是根据一示例性实施例示出的一种故障检测装置的结构示意图,该故障检测装置可以由软件、硬件或者两者的结合实现成为设备的部分或者全部,设备可以为图1所示的服务器。请参考图5,该装置可以包括:获取模块501、第一确定模块502、第二确定模块503和第三确定模块504。
获取模块501,用于获取线上***在第一时间点的访问日志和指标数据,第一时间点为对线上***进行故障检测的时间点,该指标数据用于指示与该线上***是否出现故障相关的指标;
第一确定模块502,用于基于第一时间点的访问日志,确定线上***在第一时间点的第一检测结果;
第二确定模块503,用于基于第一时间点的指标数据,确定线上***在第一时间点的第二检测结果;
第三确定模块504,用于基于第一检测结果和第二检测结果,确定线上***的故障检测结果。
在本申请一种可能的实现方式中,第一确定模块502用于:
访问日志包括HTTP状态码,获取第二时间点的访问日志,第二时间点为第一时间点的前一个时间点;
确定第一时间点对应的第一比例,以及确定第二时间点对应的第二比例,第一比例为第一时间点的访问日志中正常状态码与HTTP状态码的比值,第二比例为第二时间点的访问日志中正常状态码与HTTP状态码的比值,正常状态码为相应时间点的访问日志包括的HTTP状态码中用于表示响应成功的状态码;
基于第一比例和第二比例,确定第一时间点对应的第一环比振幅;
基于第一环比振幅,确定线上***在第一时间点的第一检测结果。
在本申请一种可能的实现方式中,第一确定模块502用于:
访问日志包括HTTP状态码,获取第二时间点的访问日志,第二时间点为第一时间点的前一个时间点;
确定第一时间点对应的第三比例,以及确定第二时间点对应的第四比例,第三比例为第一时间点的访问日志中非正常状态码与HTTP状态码的比值,第四比例为第二时间点的访问日志中非正常状态码与HTTP状态码的比值,非正常状态码为相应时间点的访问日志包括的HTTP状态码中除正常状态码之外的状态码,正常状态码为相应时间点的访问日志包括的HTTP状态码中用于表示响应成功的状态码;
基于第三比例和第四比例,确定第一时间点对应的第二环比振幅;
基于第二环比振幅,确定线上***在第一时间点的第一检测结果。
在本申请一种可能的实现方式中,第一确定模块502用于:
访问日志包括HTTP状态码,获取多个第三时间点的访问日志,多个第三时间点和第一时间点为不同时间周期的同一时间点,多个第三时间点处于第一时间点之前;
确定第一时间点对应的第五比例,以及确定各个第三时间点对应的第六比例,第五比例为第一时间点的访问日志中正常状态码与HTTP状态码的比值,第六比例为相应的第三时间点的访问日志中正常状态码与HTTP状态码的比值,正常状态码为相应时间点的访问日志包括的HTTP状态码中用于表示响应成功的状态码;
基于第五比例和多个第六比例,确定第一时间点对应的多个第一同比振幅;
基于多个第一同比振幅,确定线上***在第一时间点的第一检测结果。
在本申请一种可能的实现方式中,第二确定模块503用于:
基于第一时间点的指标数据,按照三种不同的算法,确定线上***在第一时间点的检测结果,得到第三检测结果、第四检测结果和第五检测结果;
基于第三检测结果、第四检测结果和第五检测结果,确定第二检测结果。
在本申请一种可能的实现方式中,第二确定模块503用于:
获取多个第四时间点的指标数据,多个第四时间点为第一时间点之前的多个时间点;
确定第一时间点的指标数据和多个第四时间点的指标数据的平均值,得到第一均值;
确定第一时间点的指标数据与第一均值的差值,得到第一差值;
确定第一时间点的指标数据和多个第四时间点的指标数据的标准差;
若第一差值大于标准差的指定数值倍,确定第三检测结果为异常。
在本申请一种可能的实现方式中,第二确定模块503用于:
获取多个第四时间点的指标数据,多个第四时间点为第一时间点之前的多个时间点,且多个第四时间点包括第二时间点;
确定第一时间点的指标数据和多个第四时间点的指标数据的平均值,得到第一均值;
确定第一时间点的指标数据和多个第四时间点的指标数据中的最大指标数据和最小指标数据;
确定最大指标数据和最小指标数据的差值,得到第二差值;
确定第一时间点的指标数据与第一均值的差值,以及确定多个第四时间点的指标数据分别与第一均值的差值,得到多个第三差值;
分别确定多个第三差值与第二差值的商,得到多个商值;
在多个商值中对第一时间点对应的商值进行标定;
将进行标定处理后的第一时间点对应的商值和多个第四时间点对应的商值输入第一模型中,输出线上***在第一时间点的第四检测结果,第一模型是基于无监督算法进行数据处理的模型。
在本申请一种可能的实现方式中,第二确定模块503用于:
对第一时间点的指标数据进行归一化处理;
将归一化处理后的第一时间点的指标数据输入第二模型中,输出线上***在第一时间点的第五检测结果,第二模型用于基于一个指标数据确定线上***在一个指标数据对应的时间点是否异常。
在本申请一种可能的实现方式中,第二确定模块503用于:
若第三检测结果、第四检测结果和第五检测结果中至多一个检测结果为异常,确定第二检测结果为非异常;
若第三检测结果、第四检测结果和第五检测结果中至少两个检测结果为异常,确定第二检测结果为异常。
在本申请一种可能的实现方式中,第三确定模块504用于:
若第一检测结果为异常,确定线上***的故障检测结果为异常;
或者,
若第一检测结果为非异常,且第二检测结果为异常,确定线上***的故障检测结果为异常。
在本申请实施例中,在需要检测线上***在第一时间点是否出现故障时,可以获取线上***在第一时间点的访问日志和指标数据,该指标数据用于指示与线上***是否出现故障相关的指标。然后基于访问日志确定线上***在第一时间点的第一检测结果,并基于指标数据确定线上***在第一时间点的第二检测结果。由于仅根据第一检测结果或仅根据第二检测结果确定的故障检测结果可能不准确,因此,可以将第一检测结果和第二检测结果结合起来,基于第一检测结果和第二检测结果共同确定线上***的故障检测结果。如此,不同于相关技术只能检测单个指标是否异常,而是可以根据访问日志和指标数据这两方面的因素确定线上***是否出现故障,并且将第一检测结果和第二检测结果结合起来,可以提高线上***的故障检测结果的准确率。
需要说明的是:上述实施例提供的故障检测装置在检测线上***的故障时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的故障检测装置与故障检测方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图6是根据一示例性实施例示出的一种设备的结构示意图。该设备可以为服务器。该设备600包括中央处理单元(CPU,Central Processing Unit)601、包括随机存取存储器(RAM,Random Access Memory)602和只读存储器(ROM,Read-Only Memory)603的***存储器604,以及连接***存储器604和中央处理单元601的***总线605。设备600还包括帮助计算机内的各个器件之间传输信息的基本输入/输出***(I/O***,Input/Output***)606,和用于存储操作***613、应用程序614和其他程序模块615的大容量存储设备607。
基本输入/输出***606包括有用于显示信息的显示器608和用于用户输入信息的诸如鼠标、键盘之类的输入设备609。其中显示器608和输入设备609都通过连接到***总线605的输入输出控制器610连接到中央处理单元601。基本输入/输出***606还可以包括输入输出控制器610以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器610还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备607通过连接到***总线605的大容量存储控制器(未示出)连接到中央处理单元601。大容量存储设备607及其相关联的计算机可读介质为设备600提供非易失性存储。也就是说,大容量存储设备607可以包括诸如硬盘或者CD-ROM(Compact DiscRead-Only Memory,压缩光盘-只读存储器)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read-Only Memory,可擦除可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,带电可擦可编程只读存储器)、闪存或其他固态存储其技术,CD-ROM、DVD(Digital Versatile Disc,数字通用光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的***存储器604和大容量存储设备607可以统称为存储器。
根据本申请的各种实施例,设备600还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即设备600可以通过连接在***总线605上的网络接口单元611连接到网络612,或者说,也可以使用网络接口单元611来连接到其他类型的网络或远程计算机***(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。
在一些实施例中,还提供了一种计算机可读存储介质,该存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中故障检测方法的步骤。例如,所述计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
值得注意的是,本申请提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。
应当理解的是,实现上述实施例的全部或部分步骤可以通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。所述计算机指令可以存储在上述计算机可读存储介质中。
也即是,在一些实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述所述的故障检测方法的步骤。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (9)
1.一种故障检测方法,其特征在于,所述方法包括:
获取线上***在第一时间点的访问日志和指标数据,所述第一时间点为对所述线上***进行故障检测的时间点,所述指标数据用于指示与所述线上***是否出现故障相关的指标,所述访问日志包括超文本传输协议HTTP状态码;
获取第二时间点的访问日志,所述第二时间点为所述第一时间点的前一个时间点;
确定所述第一时间点对应的第一比例,以及确定所述第二时间点对应的第二比例,所述第一比例为所述第一时间点的访问日志中正常状态码与HTTP状态码的比值,所述第二比例为所述第二时间点的访问日志中正常状态码与HTTP状态码的比值,所述正常状态码为相应时间点的访问日志包括的HTTP状态码中用于表示响应成功的状态码;
基于所述第一比例和所述第二比例,确定所述第一时间点对应的第一环比振幅;
基于所述第一环比振幅,确定所述线上***在所述第一时间点的第一检测结果;
基于所述第一时间点的指标数据,确定所述线上***在所述第一时间点的第二检测结果;
若所述第一检测结果为异常,确定所述线上***的故障检测结果为异常;
或者,
若所述第一检测结果为非异常,且所述第二检测结果为异常,确定所述线上***的故障检测结果为异常。
2.如权利要求1所述的方法,其特征在于,所述基于所述第一时间点的指标数据,确定所述线上***在所述第一时间点的第二检测结果,包括:
基于所述第一时间点的指标数据,按照三种不同的算法,确定所述线上***在所述第一时间点的检测结果,得到第三检测结果、第四检测结果和第五检测结果;
基于所述第三检测结果、所述第四检测结果和所述第五检测结果,确定所述第二检测结果。
3.如权利要求2所述的方法,其特征在于,所述基于所述第一时间点的指标数据,确定所述线上***在所述第一时间点的第三检测结果,包括:
获取多个第四时间点的指标数据,所述多个第四时间点为所述第一时间点之前的多个时间点;
确定所述第一时间点的指标数据和所述多个第四时间点的指标数据的平均值,得到第一均值;
确定所述第一时间点的指标数据与所述第一均值的差值,得到第一差值;
确定所述第一时间点的指标数据和所述多个第四时间点的指标数据的标准差;
若所述第一差值大于所述标准差的指定数值倍,确定所述第三检测结果为异常。
4.如权利要求2所述的方法,其特征在于,所述基于所述第一时间点的指标数据,确定所述线上***在所述第一时间点的第四检测结果,包括:
获取多个第四时间点的指标数据,所述多个第四时间点为所述第一时间点之前的多个时间点,且所述多个第四时间点包括第二时间点;
确定所述第一时间点的指标数据和所述多个第四时间点的指标数据的平均值,得到第一均值;
确定所述第一时间点的指标数据和所述多个第四时间点的指标数据中的最大指标数据和最小指标数据;
确定所述最大指标数据和所述最小指标数据的差值,得到第二差值;
确定所述第一时间点的指标数据与所述第一均值的差值,以及确定所述多个第四时间点的指标数据分别与所述第一均值的差值,得到多个第三差值;
分别确定所述多个第三差值与所述第二差值的商,得到多个商值;
在所述多个商值中对所述第一时间点对应的商值进行标定;
将进行标定处理后的所述第一时间点对应的商值和所述多个第四时间点对应的商值输入第一模型中,输出所述线上***在所述第一时间点的第四检测结果,所述第一模型是基于无监督算法进行数据处理的模型。
5.如权利要求2所述的方法,其特征在于,所述基于所述第一时间点的指标数据,确定所述线上***在所述第一时间点的第五检测结果,包括:
对所述第一时间点的指标数据进行归一化处理;
将归一化处理后的所述第一时间点的指标数据输入第二模型中,输出所述线上***在所述第一时间点的第五检测结果,所述第二模型用于基于一个指标数据确定所述线上***在所述一个指标数据对应的时间点是否异常。
6.如权利要求2所述的方法,其特征在于,所述基于所述第三检测结果、所述第四检测结果和所述第五检测结果,确定所述第二检测结果,包括:
若所述第三检测结果、所述第四检测结果和所述第五检测结果中至多一个检测结果为异常,确定所述第二检测结果为非异常;
若所述第三检测结果、所述第四检测结果和所述第五检测结果中至少两个检测结果为异常,确定所述第二检测结果为异常。
7.一种故障检测装置,其特征在于,所述装置包括:
获取模块,用于获取线上***在第一时间点的访问日志和指标数据,所述第一时间点为对所述线上***进行故障检测的时间点,所述指标数据用于指示与所述线上***是否出现故障相关的指标,所述访问日志包括HTTP状态码;
第一确定模块,用于:
获取第二时间点的访问日志,所述第二时间点为所述第一时间点的前一个时间点;
确定所述第一时间点对应的第一比例,以及确定所述第二时间点对应的第二比例,所述第一比例为所述第一时间点的访问日志中正常状态码与HTTP状态码的比值,所述第二比例为所述第二时间点的访问日志中正常状态码与HTTP状态码的比值,所述正常状态码为相应时间点的访问日志包括的HTTP状态码中用于表示响应成功的状态码;
基于所述第一比例和所述第二比例,确定所述第一时间点对应的第一环比振幅;
基于所述第一环比振幅,确定所述线上***在所述第一时间点的第一检测结果;
第二确定模块,用于基于所述第一时间点的指标数据,确定所述线上***在所述第一时间点的第二检测结果;
第三确定模块,用于:
若第一检测结果为异常,确定线上***的故障检测结果为异常;
或者,
若第一检测结果为非异常,且第二检测结果为异常,确定线上***的故障检测结果为异常。
8.一种故障检测方法,其特征在于,所述方法包括:
获取线上***在第一时间点的访问日志和指标数据,所述第一时间点为对所述线上***进行故障检测的时间点,所述指标数据用于指示与所述线上***是否出现故障相关的指标,所述访问日志包括HTTP状态码;
获取第二时间点的访问日志,所述第二时间点为所述第一时间点的前一个时间点;
确定所述第一时间点对应的第三比例,以及确定所述第二时间点对应的第四比例,所述第三比例为所述第一时间点的访问日志中非正常状态码与HTTP状态码的比值,所述第四比例为所述第二时间点的访问日志中非正常状态码与HTTP状态码的比值,所述非正常状态码为相应时间点的访问日志包括的HTTP状态码中除正常状态码之外的状态码,所述正常状态码为相应时间点的访问日志包括的HTTP状态码中用于表示响应成功的状态码;
基于所述第三比例和所述第四比例,确定所述第一时间点对应的第二环比振幅;
基于所述第二环比振幅,确定所述线上***在所述第一时间点的第一检测结果;
基于所述第一时间点的指标数据,确定所述线上***在所述第一时间点的第二检测结果;
若所述第一检测结果为异常,确定所述线上***的故障检测结果为异常;
或者,
若所述第一检测结果为非异常,且所述第二检测结果为异常,确定所述线上***的故障检测结果为异常。
9.一种故障检测方法,其特征在于,所述方法包括:
获取线上***在第一时间点的访问日志和指标数据,所述第一时间点为对所述线上***进行故障检测的时间点,所述指标数据用于指示与所述线上***是否出现故障相关的指标,所述访问日志包括HTTP状态码;
获取多个第三时间点的访问日志,所述多个第三时间点和所述第一时间点为不同时间周期的同一时间点,所述多个第三时间点处于所述第一时间点之前;
确定所述第一时间点对应的第五比例,以及确定各个第三时间点对应的第六比例,所述第五比例为所述第一时间点的访问日志中正常状态码与HTTP状态码的比值,所述第六比例为相应的第三时间点的访问日志中正常状态码与HTTP状态码的比值,所述正常状态码为相应时间点的访问日志包括的HTTP状态码中用于表示响应成功的状态码;
基于所述第五比例和所述多个第六比例,确定所述第一时间点对应的多个第一同比振幅;
基于所述多个第一同比振幅,确定所述线上***在所述第一时间点的第一检测结果;
基于所述第一时间点的指标数据,确定所述线上***在所述第一时间点的第二检测结果;
若所述第一检测结果为异常,确定所述线上***的故障检测结果为异常;
或者,
若所述第一检测结果为非异常,且所述第二检测结果为异常,确定所述线上***的故障检测结果为异常。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010289334.0A CN111522678B (zh) | 2020-04-14 | 2020-04-14 | 故障检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010289334.0A CN111522678B (zh) | 2020-04-14 | 2020-04-14 | 故障检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111522678A CN111522678A (zh) | 2020-08-11 |
CN111522678B true CN111522678B (zh) | 2023-10-24 |
Family
ID=71902164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010289334.0A Active CN111522678B (zh) | 2020-04-14 | 2020-04-14 | 故障检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111522678B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109597746A (zh) * | 2018-12-26 | 2019-04-09 | 荣科科技股份有限公司 | 故障分析方法及装置 |
CN109861857A (zh) * | 2019-01-28 | 2019-06-07 | 网联清算有限公司 | 故障检测方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109033404B (zh) * | 2018-08-03 | 2022-03-11 | 北京百度网讯科技有限公司 | 日志数据处理方法、装置和*** |
-
2020
- 2020-04-14 CN CN202010289334.0A patent/CN111522678B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109597746A (zh) * | 2018-12-26 | 2019-04-09 | 荣科科技股份有限公司 | 故障分析方法及装置 |
CN109861857A (zh) * | 2019-01-28 | 2019-06-07 | 网联清算有限公司 | 故障检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111522678A (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170371757A1 (en) | System monitoring method and apparatus | |
CN109587001A (zh) | 一种性能指标异常检测方法及装置 | |
CN110222513B (zh) | 一种线上活动的异常监测方法、装置及存储介质 | |
CN114721912B (zh) | 一种数据分析方法、装置、设备及介质 | |
KR101953558B1 (ko) | 스마트 기기 결함 관리 장치 및 방법 | |
CN113468034A (zh) | 数据质量评估方法、装置、存储介质和电子设备 | |
CN112596964A (zh) | 磁盘故障的预测方法及装置 | |
CN108399115B (zh) | 一种运维操作检测方法、装置及电子设备 | |
CN111400294B (zh) | 数据异常监测方法、装置及*** | |
CN114610561A (zh) | ***监测方法、装置、电子设备及计算机可读存储介质 | |
CN117170915A (zh) | 数据中心设备故障预测方法、装置和计算机设备 | |
CN116149926A (zh) | 业务指标的异常监测方法、装置、设备及存储介质 | |
CN115932144B (zh) | 色谱仪性能检测方法、装置、设备和计算机介质 | |
CN111783883A (zh) | 一种异常数据的检测方法及装置 | |
CN111522678B (zh) | 故障检测方法和装置 | |
CN117235664A (zh) | 配电通信设备的故障诊断方法、***和计算机设备 | |
CN113760689A (zh) | 接口故障的报警方法、装置、设备及存储介质 | |
US20080155503A1 (en) | Metrics to evaluate process objects | |
CN114443407A (zh) | 一种服务器的检测方法、***、电子设备及存储介质 | |
CN114187751A (zh) | 预警***的适应性评价方法、装置、设备及可读存储介质 | |
CN113052509A (zh) | 模型评估方法、模型评估装置、电子设备和存储介质 | |
CN110688273B (zh) | 分类模型的监控方法、装置、终端以及计算机存储介质 | |
CN113138896A (zh) | 一种应用运行情况的监控方法、装置和设备 | |
CN115237739B (zh) | 板卡运行环境的分析方法、装置、设备及可读存储介质 | |
CN114885231B (zh) | 一种通讯协议自适应的信号采集方法、***、终端及介质 |
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 |