CN111104284B - 一种服务健康检测方法、装置、计算机设备及存储介质 - Google Patents
一种服务健康检测方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111104284B CN111104284B CN201911301507.XA CN201911301507A CN111104284B CN 111104284 B CN111104284 B CN 111104284B CN 201911301507 A CN201911301507 A CN 201911301507A CN 111104284 B CN111104284 B CN 111104284B
- Authority
- CN
- China
- Prior art keywords
- service
- time
- preset
- abnormal
- service call
- 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
Images
Classifications
-
- 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/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
- G06F11/3075—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved in order to maintain consistency among the monitored data, e.g. ensuring that the monitored data belong to the same timeframe, to the same system or component
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种服务健康检测方法、装置、计算机设备及存储介质,所述方法包括:对每个服务定义一个注解类,并对使用所述注解类的服务打印日志;每隔预设的时间间隔,对所述日志进行统计,并计算在所述时间间隔内服务调用失败的总次数;当在所述时间间隔内服务调用失败的总次数未超过预设的第一次数阈值时,则判定所述服务未出现异常;当在所述时间间隔内服务调用失败的总次数超过预设的第一次数阈值时,则判定所述服务出现异常。本发明能够在对服务进行检测的同时消除对服务并发能力的影响,并且降低业务侵入性以及降低检测检测复杂度。
Description
技术领域
本发明涉及计算机软件技术领域,特别涉及一种服务健康检测方法、装置、计算机设备及存储介质。
背景技术
当前,随着各企业发展的业务越来越丰富,其项目也会越来越多,再加上业务量的增加,导致单机服务难以满足需求,而且目前的服务都是采用集群化部署方式,这导致服务的数量成倍增加,这也带来了服务的健康状态(服务是否正常,请求能否响应)越来越难以监测的问题。
现有技术中,主要采用心跳检测机制检测服务的健康状态,即通过每隔一段时间发一次请求,然后根据请求结果来判断服务是否正常。但是心跳检测机制还存在一些缺点,主要包括:服务在调用的期间发送请求会增加请求量,导致影响服务并发能力;为了检测服务健康状态,需要对每个服务进行调用,业务侵入性高,体验感不好;每次服务增加新的方法都要添加新的心跳检测,导致检测复杂度高。
因此,如何在对服务进行检测的同时消除对服务并发能力的影响,并且降低业务侵入性以及降低检测复杂度是本领域技术人员需要面临的问题。
发明内容
本发明实施例提供了一种服务健康检测方法、装置、计算机设备及存储介质,旨在对服务进行检测的同时消除对服务并发能力的影响,并且降低业务侵入性以及降低检测复杂度。
第一方面,本发明实施例提供了一种服务健康检测方法,所述方法包括:
对每个服务定义一个注解类,并对使用所述注解类的服务打印日志;
每隔预设的时间间隔,对所述日志进行统计,并计算在所述时间间隔内服务调用失败的总次数;
当在所述时间间隔内服务调用失败的总次数未超过预设的第一次数阈值时,则判定所述服务未出现异常;当在所述时间间隔内服务调用失败的总次数超过预设的第一次数阈值时,则判定所述服务出现异常。
进一步的,所述日志包括:调用时间、调用方法名、请求参数、返回结果是否异常。
进一步的,还包括:
将所述时间间隔均匀分割为多个时间段;
计算在各个时间段内服务调用失败的次数。
进一步的,还包括:
当在其中任意一个时间段内服务调用失败的次数为0时,则判定所述服务未出现异常;
当所述服务调用失败所在的时间段不连续,且在所述时间间隔内服务调用失败的总次数超过预设的第二次数阈值时,则将所述服务标记为待观察,且所述第二次数阈值小于所述第一次数阈值;
当所述服务在连续每个时间段内调用失败时,则判定所述服务出现异常。
进一步的,还包括:
当所述服务在一个时间段内调用失败的次数超过预设的第三次数阈值时,则判定所述服务出现异常。
进一步的,所述当所述服务调用失败所在的时间段不连续,且在所述时间间隔内服务调用失败的总次数超过预设的第二次数阈值时,则将所述服务标记为待观察,且所述第二次数阈值小于第一次数阈值,包括:
当在所述时间间隔内服务调用失败的总次数超过预设的第二次数阈值且未超过预设的第四次数阈值时,则将所述服务标记为待观察;
当在所述时间间隔内服务调用失败的总次数超过预设的第四次数阈值时,则将所述服务判定为出现异常;其中,所述第四次数阈值大于所述第二次数阈值,并且小于第一次数阈值。
进一步的,所述对每个服务定义一个注解类,并对使用所述注解类的服务打印日志,包括:
通过AOP面向切面编程定义注解类,并以所述注解类为切点,对使用所述注解类的服务的方法打印统一格式的日志。
第二方面,本发明实施例还提供了一种服务健康检测装置,所述装置包括:
定义单元,用于对每个服务定义一个注解类,并对使用所述注解类的服务打印日志;
统计单元,用于每隔预设的时间间隔,对所述日志进行统计,并计算在所述时间间隔内服务调用失败的总次数;
第一判定单元,用于当在所述时间间隔内服务调用失败的总次数未超过预设的第一次数阈值时,则判定所述服务未出现异常;当在所述时间间隔内服务调用失败的总次数超过预设的第一次数阈值时,则判定所述服务出现异常。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的服务健康检测方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的服务健康检测方法。
本发明实施例提供了一种服务健康检测方法、装置、计算机设备及存储介质,所述方法包括:对每个服务定义一个注解类,并对使用所述注解类的服务打印日志;每隔预设的时间间隔,对所述日志进行统计,并计算在所述时间间隔内服务调用失败的总次数;当在所述时间间隔内服务调用失败的总次数未超过预设的第一次数阈值时,则判定所述服务未出现异常;当在所述时间间隔内服务调用失败的总次数超过预设的第一次数阈值时,则判定所述服务出现异常。本发明实施例能够在对服务进行检测的同时消除对服务并发能力的影响,并且降低业务侵入性以及降低检测复杂度。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种服务健康检测方法的流程示意图;
图2为本发明实施例提供的一种服务健康检测装置的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
下面请参见图1,图1为本发明实施例提供的一种服务健康检测方法的流程示意图,具体包括:步骤S101~S103。
S101、对每个服务定义一个注解类,并对使用所述注解类的服务打印日志;
本步骤通过对每个服务定义一个注解类,所谓注解,可以理解成在编写代码过程中设计的特殊标记,这个特殊标记可以在编译、类加载以及代码运行时被读取,注解使编程内容简洁易懂,同时,使用注解对原有逻辑并不会造成影响,而且还可以在源文件中添加补充信息。对使用注解类的服务打印日志,然后便可以根据日志里的内容对服务的健康状态进行判断。
在一实施例中,所述日志包括:调用时间、调用方法名、请求参数、返回结果是否异常。其中,调用时间即是指服务的调用时间;调用方法名是指具体调用的哪一个服务;请求参数是指请求调用服务的参数;返回结果是否异常是指服务在调用过程中是否出现异常,即服务调用成功还是失败,因此返回结果是否异常可以直接作为判定服务是否出现异常的根据。
在一实施例中,步骤S101包括:通过AOP面向切面编程定义注解类,并以所述注解类为切点,对使用所述注解类的服务的方法打印统一格式的日志。
本实施例中,面向切面编程(Aspect Oriented Programming,简称为AOP),是一种通过预编译方式和运行期动态代理实现程序功能的统一维护的软件技术。在AOP中为每个服务定义注解类,并将注解类作为编程的切入点,实现对每个服务的精准切入,并对使用注解的服务打印格式统一的日志,即每个服务的日志中均可以包括调用时间、调用方法名以及返回结果是否异常等内容。
S102、每隔预设的时间间隔,对所述日志进行统计,并计算在所述时间间隔内服务调用失败的总次数;
本步骤中,每隔预设的时间间隔,为每个服务打印的统一格式的日志,并对每个服务分别进行统计,对每个服务统计的内容是:根据日志的内容计算在一个时间间隔内,服务调用失败的总次数。例如可以根据日志中的返回结果是否异常,统计日志中记录的返回结果异常的次数,然后将统计的返回结果异常的次数作为服务调用失败的总次数。
S103、当在所述时间间隔内服务调用失败的总次数未超过预设的第一次数阈值时,则判定所述服务未出现异常;当在所述时间间隔内服务调用失败的总次数超过预设的第一次数阈值时,则判定所述服务出现异常。
本步骤中,当在一个时间间隔内服务调用失败的总次数没有超过预设第一次数阈值时,即便该服务存在调用失败的情况,也将该服务判定为未出现异常。因为服务调用失败并不一定是由于服务出现故障导致的,也可能是由于网络延迟造成服务调用失败,又或者是程序执行出现问题导致服务调用失败等,因此在本实施例中,允许服务在调用时出现失败的情况,但是服务调用失败的次数不能过多,一旦在一个时间间隔内服务调用失败的总次数超过了预设的第一次数阈值时,则不论是何种原因,都会判定服务出现异常,并向相关人员发送服务出现异常的信息,由相关人员对判定为出现异常的服务进行检查修复。
本实施例通过对每个服务定义注解类,并为每个服务打印日志,从而根据日志中的内容判定服务是否出现异常,由于其仅需要引入注解,所以对业务的侵入性低;当服务增加新的方法时,也只需添加相应注解即可,检测过程简单;并且本发明实施例不影响服务的并发能力。
在一实施例中,所述服务健康检测方法还包括:
将所述时间间隔均匀分割为多个时间段;
计算在各个时间段内服务调用失败的次数。
本实施例中,将预设的时间间隔平均分割为多个时长小于时间间隔的时间段,并对分割后的每一个时间段内服务调用失败的次数进行统计,即统计每一个时间段内服务调用失败的总次数。例如预设的时间间隔为30秒钟,则将时间间隔均匀分割为3个时长为10秒钟的时间段,或者是5个时长为6秒钟的时间段等,具体如何分割可以根据实际需要决定。根据各个时间段内服务调用失败的次数以及所有时间段内(即预设的时间间隔内)服务调用失败的次数,可以更好、更准确地对服务是否出现异常进行判定。本实施例中对预设的时间间隔进行均匀分割,是为了防止时间间隔分割不均匀,导致得到的时间段时长不一致,从而可能出现时长短的时间段内服务调用失败的次数较少甚至为0,而时长长的时间段内服务调用失败的次数较多,最终对服务是否出现异常的判定造成影响,使判定结果不准确。
在一实施例中,所述服务健康检测方法还包括:
当在其中任意一个时间段内服务调用失败的次数为0时,则判定所述服务未出现异常;
当所述服务调用失败所在的时间段不连续,且在所述时间间隔内服务调用失败的总次数超过预设的第二次数阈值时,则将所述服务标记为待观察,且所述第二次数阈值小于所述第一次数阈值;
当所述服务在连续每个时间段内调用失败时,则判定所述服务出现异常。
本实施例中,对每个时间段内服务调用失败的次数进行计算,当任意一个时间段内服务调用失败的次数为0时,也就是说在所有的时间段内服务调用失败的次数为0,则说明该服务在所有时间段内均未出现调用失败的情况,进而可以直接判定该服务未出现异常;当所述服务调用失败所在的时间段不连续,且所述服务调用失败的次数超过预设的第二次数阈值时,也就是说,在均匀分割的多个时间段内,不是所有的时间段内均存在服务调用失败的情况,而是有一个或者几个时间段内不存在服务调用失败的情况,也就是说,有的时间段内存在服务调用失败的情况,而有的时间段内不存在服务调用失败的情况,在这种情况下,计算所有存在服务调用失败的时间段内服务调用失败的总次数(即在所述时间间隔内服务调用失败的总次数),当所计算出的服务调用失败的总次数超过预设的第二次数阈值,且未超过第一次数阈值时,则说明该服务偶尔出现调用失败的情况,还需要进一步观察该服务是否出现异常,因此可以将该服务标记为待观察;当在均匀分割的多个时间段内,连续每个时间段内均出现服务调用失败的情况,即在所有时间段内均出现服务调用失败的情况,则说明该服务在相应时间间隔内连续出现调用失败的情况,因此可以直接将该服务判定为出现异常,并向相关人员发送服务出现异常的消息,对该服务进行检查修复。
举例来说,将预设的时间间隔均匀分割为6个时间段,分别编号为T1、T2、T3、T4、T5、T6,将第一次数阈值设置为10次,第二次数阈值设置为5次。首先分别计算6个时间段中各个时间段内服务调用失败的次数,当这6个时间段内服务调用失败的次数为0时,则判定服务未出现异常;当这6个时间段中,编号为T1、T3、T5的时间段内存在服务调用失败的情况时,并且编号为T1的时间段内服务调用失败的次数为2次,编号为T3的时间段内服务调用失败的次数为2次,编号为T5的时间段内服务调用失败的次数为2次,则在所有时间段内服务调用失败的次数一共为6次,超过了预设的第二次数阈值(5次),且未超过第一次数阈值(10次),因此可以将服务标记为待观察;当这6个时间段中,T1、T2、T3、T4、T5以及T6时间段内均存在服务调用失败的情况,则不论每个时间段内服务调用失败的次数为多少,都可以直接将该服务判定为出现异常。
需要说明的是,当服务被标记为待观察后,在下一时间间隔内,即下一次打印日志时,继续计算该服务在相应时间间隔内的所有时间段内调用失败的次数,如果该服务再次被标记为待观察时,即当服务连续两次被标记为待观察时,则将该服务判定为出现异常,进而由相关人员对该服务进行相关的检查修复。
在一实施例中,所述服务健康检测方法还包括:当所述服务在一个时间段内调用失败的次数超过预设的第三次数阈值时,则判定所述服务出现异常。
本实施例中,在对各个时间段内的服务调用失败的次数进行统计时,当统计到在任意一个时间段内,服务调用失败的次数超过了预设的第三次数阈值时,则说明在该服务在该时间段经常出现调用失败的情况,此时不论该服务在其他时间段内调用失败的次数是多少,都将该服务判定为出现异常。在这里,因为第一次数阈值是相对于完整的时间间隔内服务调用失败的次数设置的,而第三次数阈值是相对于一个时间段内服务调用失败的次数设置的,而时间间隔的时长则是一个时间段的时长的几倍之多,因此可以将预设的第三次数阈值的设置为小于预设的第一次数阈值。
举例来说,将预设的时间间隔均匀分割为6个时间段,分别编号为T1、T2、T3、T4、T5、T6,将第三次数阈值设置为3次。首先分别计算各个时间段内服务调用失败的次数,当计算得到6个时间段中的一个时间段(例如T3时间段)内服务调用失败的次数为4次时,超过了预设的第三次数阈值(3次),则不论其余5个时间段内服务调用失败的次数为多少,可以直接将该服务判定为出现异常。
在一实施例中,所述当所述服务调用失败所在的时间段不连续,且在所述时间间隔内服务调用失败的总次数超过预设的第二次数阈值时,则将所述服务标记为待观察,且所述第二次数阈值小于第一次数阈值,包括:
当在所述时间间隔内服务调用失败的总次数超过预设的第二次数阈值且未超过预设的第四次数阈值时,则将所述服务标记为待观察;
当在所述时间间隔内服务调用失败的总次数超过预设的第四次数阈值时,则将所述服务判定为出现异常;其中,所述第四次数阈值大于所述第二次数阈值,并且小于第一次数阈值。
本实施例中,当多个时间段内存在服务调用失败的情况时,且这些存在服务调用失败的时间段彼此之间不相邻,即这些时间段不连续,当这些时间段内服务调用失败的总次数(即在相应时间间隔内服务调用失败的总次数)超过了预设的第二次数阈值且未超过预设的第四次数阈值时,则将该服务标记为待观察,也就是说,对标记为待观察的服务设置一限制范围,即当服务调用失败的次数在第二次数阈值至第四次数阈值之间(即服务调用失败的次数超过第二次数阈值且未超过第一次数阈值)时,将该服务标记为待观察;当服务调用失败的次数超过了预设的第四次数阈值时,此时由于存在服务调用失败的时间段不连续,因此可以说明存在服务调用失败的时间段内服务调用失败的次数较多(该次数未超过预设的第三次数阈值),此时,可以将服务判定为出现异常。
举例来说,将预设的时间间隔均匀分割为6个时间段,分别编号为T1、T2、T3、T4、T5、T6,将第一次数阈值设置为10次,第二次数阈值设置为5次,第三次数阈值设置为4次,第四次数阈值设置为8次。首先分别计算各个时间段内服务调用失败的次数,当T2、T4以及T6时间段内存在服务调用失败的情况,另外3个时间段内不存在服务调用失败的情况时,且T2、T4以及T6时间段内服务调用失败的次数均为3次(小于第三次数阈值4次),则3个时间段内服务调用失败的总次数(9次)超过了预设第二次数阈值(5次),即超过了待观察的判定标准,同时小于第一次数阈值(10次),因此可以将该服务判定为出现异常。
请参阅图2,图2为本发明实施例提供的一种服务健康检测装置200的示意性框图,所述装置200包括:
定义单元201,用于对每个服务定义一个注解类,并对使用所述注解类的服务打印日志;
统计单元202,用于每隔预设的时间间隔,对所述日志进行统计,并计算在所述时间间隔内服务调用失败的总次数;
第一判定单元203,用于当在所述时间间隔内服务调用失败的总次数未超过预设的第一次数阈值时,则判定所述服务未出现异常;当在所述时间间隔内服务调用失败的总次数超过预设的第一次数阈值时,则判定所述服务出现异常。
在一实施例中,所述日志包括:调用时间、调用方法名、请求参数、返回结果是否异常。
在一实施例中,所述装置200还包括:
切割单元,用于将所述时间间隔均匀分割为多个时间段;
计算单元,用于计算在各个时间段内服务调用失败的次数。
在一实施例中,所述装置200还包括:
第二判定单元,用于当在其中任意一个时间段内服务调用失败的次数为0时,则判定所述服务未出现异常;
第一标记单元,用于当所述服务调用失败所在的时间段不连续,且在所述时间间隔内服务调用失败的总次数超过预设的第二次数阈值时,则将所述服务标记为待观察,且所述第二次数阈值小于所述第一次数阈值;
第三判定单元,用于当所述服务在连续每个时间段内调用失败时,则判定所述服务出现异常。
在一实施例中,所述装置200还包括:
第四判定单元,用于当所述服务在一个时间段内调用失败的次数超过预设的第三次数阈值时,则判定所述服务出现异常。
在一实施例中,所述第一标记单元还包括:
第二标记单元,用于当在所述时间间隔内服务调用失败的总次数超过预设的第二次数阈值且未超过预设的第四次数阈值时,则将所述服务标记为待观察;
第五判定单元,用于当在所述时间间隔内服务调用失败的总次数超过预设的第四次数阈值时,则将所述服务判定为出现异常;其中,所述第四次数阈值大于所述第二次数阈值,并且小于第一次数阈值。
在一实施例中,所述定义单元201包括:
切点单元,用于通过AOP面向切面编程定义注解类,并以所述注解类为切点,对使用所述注解类的服务的方法打印统一格式的日志。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本发明实施例还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供了一种计算机设备,可以包括存储器和处理器,存储器中存有计算机程序,处理器调用存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然电子设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (7)
1.一种服务健康检测方法,其特征在于,包括:
对每个服务定义一个注解类,并对使用所述注解类的服务打印日志;
每隔预设的时间间隔,对所述日志进行统计,并计算在所述时间间隔内服务调用失败的总次数;
当在所述时间间隔内服务调用失败的总次数未超过预设的第一次数阈值时,则判定所述服务未出现异常;当在所述时间间隔内服务调用失败的总次数超过预设的第一次数阈值时,则判定所述服务出现异常;
将所述时间间隔均匀分割为多个时间段;
计算在各个时间段内服务调用失败的次数;
当在其中任意一个时间段内服务调用失败的次数为0时,则判定所述服务未出现异常;
当所述服务调用失败所在的时间段不连续,且在所述时间间隔内服务调用失败的总次数超过预设的第二次数阈值时,则将所述服务标记为待观察,且所述第二次数阈值小于第一次数阈值;
当所述服务在连续每个时间段内调用失败时,则判定所述服务出现异常;
当所述服务在一个时间段内调用失败的次数超过预设的第三次数阈值时,则判定所述服务出现异常。
2.根据权利要求1所述的服务健康检测方法,其特征在于,所述日志包括:调用时间、调用方法名、请求参数、返回结果是否异常。
3.根据权利要求1所述的服务健康检测方法,其特征在于,所述当所述服务调用失败所在的时间段不连续,且在所述时间间隔内服务调用失败的总次数超过预设的第二次数阈值时,则将所述服务标记为待观察,且所述第二次数阈值小于第一次数阈值,包括:
当在所述时间间隔内服务调用失败的总次数超过预设的第二次数阈值且未超过预设的第四次数阈值时,则将所述服务标记为待观察;
当在所述时间间隔内服务调用失败的总次数超过预设的第四次数阈值时,则将所述服务判定为出现异常;其中,所述第四次数阈值大于所述第二次数阈值,并且小于第一次数阈值。
4.根据权利要求1所述的服务健康检测方法,其特征在于,所述对每个服务定义一个注解类,并对使用所述注解类的服务打印日志,包括:
通过AOP面向切面编程定义注解类,并以所述注解类为切点,对使用所述注解类的服务的方法打印统一格式的日志。
5.一种服务健康检测装置,其特征在于,包括:
定义单元,用于对每个服务定义一个注解类,并对使用所述注解类的服务打印日志;
统计单元,用于每隔预设的时间间隔,对所述日志进行统计,并计算在所述时间间隔内服务调用失败的总次数;
第一判定单元,用于当在所述时间间隔内服务调用失败的总次数未超过预设的第一次数阈值时,则判定所述服务未出现异常;当在所述时间间隔内服务调用失败的总次数超过预设的第一次数阈值时,则判定所述服务出现异常;
切割单元,用于将所述时间间隔均匀分割为多个时间段;
计算单元,用于计算在各个时间段内服务调用失败的次数;
第二判定单元,用于当在其中任意一个时间段内服务调用失败的次数为0时,则判定所述服务未出现异常;
第一标记单元,用于当所述服务调用失败所在的时间段不连续,且在所述时间间隔内服务调用失败的总次数超过预设的第二次数阈值时,则将所述服务标记为待观察,且所述第二次数阈值小于所述第一次数阈值;
第三判定单元,用于当所述服务在连续每个时间段内调用失败时,则判定所述服务出现异常;
第四判定单元,用于当所述服务在一个时间段内调用失败的次数超过预设的第三次数阈值时,则判定所述服务出现异常。
6.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述的服务健康检测方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的服务健康检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911301507.XA CN111104284B (zh) | 2019-12-17 | 2019-12-17 | 一种服务健康检测方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911301507.XA CN111104284B (zh) | 2019-12-17 | 2019-12-17 | 一种服务健康检测方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111104284A CN111104284A (zh) | 2020-05-05 |
CN111104284B true CN111104284B (zh) | 2023-06-23 |
Family
ID=70421962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911301507.XA Active CN111104284B (zh) | 2019-12-17 | 2019-12-17 | 一种服务健康检测方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111104284B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103123602A (zh) * | 2011-11-18 | 2013-05-29 | 阿里巴巴集团控股有限公司 | 基于java的异常报警监控方法及其装置 |
CN110442492A (zh) * | 2019-07-10 | 2019-11-12 | 苏州浪潮智能科技有限公司 | 一种***操作日志管理方法和装置 |
-
2019
- 2019-12-17 CN CN201911301507.XA patent/CN111104284B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103123602A (zh) * | 2011-11-18 | 2013-05-29 | 阿里巴巴集团控股有限公司 | 基于java的异常报警监控方法及其装置 |
CN110442492A (zh) * | 2019-07-10 | 2019-11-12 | 苏州浪潮智能科技有限公司 | 一种***操作日志管理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111104284A (zh) | 2020-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7984334B2 (en) | Call-stack pattern matching for problem resolution within software | |
CN109739727B (zh) | 微服务架构中的服务监控方法及装置 | |
US7805630B2 (en) | Detection and mitigation of disk failures | |
JP6160064B2 (ja) | 適用判定プログラム、障害検出装置および適用判定方法 | |
CN110971485B (zh) | 业务指标的监控***及方法 | |
CN114356557B (zh) | 一种集群扩容方法及装置 | |
CN110674149B (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN109284193B (zh) | 一种基于多线程的分布式数据处理方法及服务器 | |
CN111104284B (zh) | 一种服务健康检测方法、装置、计算机设备及存储介质 | |
CN107957933B (zh) | 数据复制的监控方法及装置 | |
CN103916272A (zh) | 一种主控单板及一种主控单板故障检测方法 | |
CN111124818B (zh) | 一种扩展器Expander的监控方法、装置及设备 | |
CN115686909A (zh) | 内存故障的预测方法和装置、存储介质及电子装置 | |
CN114860432A (zh) | 一种内存故障的信息确定方法及装置 | |
CN115774646A (zh) | 一种进程预警方法、装置、电子设备和存储介质 | |
CN104794040A (zh) | 业务监控方法、装置及*** | |
CN110362464B (zh) | 软件分析方法及设备 | |
CN114490196A (zh) | 数据库切换方法、***、设备及介质 | |
CN113268553A (zh) | 一种数据审计方法、***、电子设备及存储介质 | |
CN110096486A (zh) | 一种日志监控方法、装置、设备及计算机可读存储介质 | |
CN113138896A (zh) | 一种应用运行情况的监控方法、装置和设备 | |
CN111694715A (zh) | 一种异常告警方法、装置、设备及机器可读存储介质 | |
CN113742400A (zh) | 一种基于自适应约束条件的网络数据获取***及方法 | |
CN111061609A (zh) | 一种日志监控方法及*** | |
CN110489967B (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 |