CN112463530A - 微服务系统的异常检测方法、装置、电子设备及存储介质 - Google Patents
微服务系统的异常检测方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112463530A CN112463530A CN202011324658.XA CN202011324658A CN112463530A CN 112463530 A CN112463530 A CN 112463530A CN 202011324658 A CN202011324658 A CN 202011324658A CN 112463530 A CN112463530 A CN 112463530A
- Authority
- CN
- China
- Prior art keywords
- time
- data
- consuming
- preset
- threshold
- 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.)
- Pending
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/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及数据处理技术,揭露了一种微服务系统的异常检测方法,包括:获取微服务系统中对象监控指标的历史时序数据,计算所述历史时序数据的阈值参数,并利用所述阈值参数对获取的实时时序数据进行异常检测,得到异常检测数据,利用预设的入口服务指标确定所述异常检测数据的耗时记录,并将所述耗时纪录与预设的耗时记录库进行比较,得到数据异常次数,根据预设的排序规则对所述数据异常次数进行排序并输出,得到异常检测结果。此外,本发明还涉及区块链技术,所述耗时记录库可存储于区块链的节点。本发明还提出一种微服务系统的异常检测装置、电子设备以及计算机可读存储介质。本发明可以解决异常检测效率较低及针对性不强的问题。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种微服务系统的异常检测方法、装置、电子设备及计算机可读存储介质。
背景技术
微服务系统的故障检测属于运维范畴的工作。在微服务系统中,涉及有网络、应用容器引擎(docker)、数据库(Database)等多种对象,且多种对象间互相存在调用关系,而每个对象有下属多个监控指标用于监测对象的运行状态。当微服务系统发生故障时(例如入口服务发生访问耗时突增),可能伴随存在多个关联对象发生异常。当前,微服务系统的异常检测的流程主要由人工介入分析,而一些算法技术仅作为辅助提供时序异常检测等的参考。当前微服务系统的异常检测技术存在以下缺陷:1、对于异常检测的发生,人工只能对所有相关调用对象进行分析,效率较低。2、一些算法技术仅作为辅助,无法对异常检测结果进行重要性排序,运维人员无法及时和有针对性的进行维护。
发明内容
本发明提供一种微服务系统的异常检测方法、装置及计算机可读存储介质,其主要目的在于解决微服务系统中异常检测效率较低及针对性不强的问题。
为实现上述目的,本发明提供的一种微服务系统的异常检测方法,包括:
获取微服务系统中对象监控指标的历史时序数据,计算所述历史时序数据的阈值参数;
获取所述微服务系统的实时时序数据,利用所述阈值参数对所述实时时序数据进行异常检测,得到异常检测数据;
利用预设的入口服务指标确定所述异常检测数据的耗时记录,并将所述耗时纪录与预设的耗时记录库进行比较,得到数据异常次数;
根据预设的排序规则对所述数据异常次数进行排序并输出,得到异常检测结果。
可选地,所述计算所述历史时序数据的阈值参数,包括:
利用预设的周期性检测方法对所述历史时序数据进行周期性判断;
若所述历史时序数据为周期性数据,则计算所述历史时序数据的滑窗阈值;
若所述历史时序数据为非周期性数据,则计算所述历史时序数据的滑窗阈值及全量阈值。
可选地,所述计算所述历史时序数据的滑窗阈值,包括:
根据预设的滑窗步长将所述历史时序数据划分为多个滑窗;
获取每个滑窗内的预设数量的分位数,并根据所述分位数计算得到分位数阈值及西格玛阈值;
汇总所述分位数阈值、所述西格玛阈值及预设的固定阈值,得到每个滑窗内的滑窗阈值。
可选地,所述利用所述阈值参数对所述实时时序数据进行异常检测,包括:
利用预设的周期性检测方法对所述实时时序数据进行周期性判断;
若所述实时时序数据为周期性数据,则利用所述滑窗阈值对所述实时时序数据进行检测;
若所述实时时序数据为非周期性数据,则利用所述滑窗阈值及所述全量阈值对所述实时时序数据进行检测。
可选地,所述利用预设的入口服务指标确定所述异常检测数据的耗时记录,并将所述耗时纪录与预设的耗时记录库进行比较,得到数据异常次数,包括:
根据所述入口服务指标确定所述异常检测数据的开始时间,并根据所述开始时间选取预设时间段做为故障时间段;
获取所述故障时间段内的所有耗时记录,将所述耗时纪录与所述耗时记录库中的耗时临界值进行比较;
汇总所述耗时纪录中超过所述耗时临界值的次数,并将所述次数记为所述数据异常次数。
可选地,所述利用预设的入口服务指标确定所述异常检测数据的耗时记录,并将所述耗时纪录与预设的耗时记录库进行比较之前,该方法还包括:
获取所述微服务系统中每一对象的耗时纪录,并删除已确认为故障的时间段,得到标准耗时记录;
获取所述标准耗时纪录的耗时分位数,并根据所述耗时分位数计算耗时临界值;
汇总所述耗时临界值得到所述耗时记录库。
可选地,所述根据预设的排序规则对所述数据异常次数进行排序并输出,得到异常检测结果,包括:
统计所述数据异常次数,得到初始排序;
根据所述预设的排序规则对所述初始排序进行调整,得到最终排序;
根据所述最终排序,得到所述异常检测结果。
为了解决上述问题,本发明还提供一种异常检测装置,所述装置包括:
阈值计算模块,用于获取微服务系统中对象监控指标的历史时序数据,计算所述历史时序数据的阈值参数;
异常检测模块,用于获取所述微服务系统的实时时序数据,利用所述阈值参数对所述实时时序数据进行异常检测,得到异常检测数据;
异常次数确定模块,用于利用预设的入口服务指标确定所述异常检测数据的耗时记录,并将所述耗时纪录与预设的耗时记录库进行比较,得到数据异常次数;
检测结果输出模块,用于根据预设的排序规则对所述数据异常次数进行排序并输出,得到异常检测结果。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现上述所述的异常检测方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的微服务系统的异常检测方法。
本发明通过计算得到的所述阈值参数,对所述实时时序数据进行异常检测,针对周期性的数据及非周期性的数据都可以准确的进行检测,并且所述阈值参数针对实际应用环境可以进行适应性调整,提高了实用性。同时,利用预设的入口服务指标确定所述异常检测数据的耗时记录,并将所述耗时纪录与预设的耗时记录库进行比较,得到数据异常次数,并结合预设的排序规则可以对所述数据异常次数进行重要性排序并输出,提高了异常检测的效率。因此本发明提出的异常检测方法、装置、电子设备及计算机可读存储介质,可以解决异常检测效率较低及针对性不强的问题。
附图说明
图1为本发明一实施例提供的微服务系统的异常检测方法的流程示意图;
图2为图1中其中一个步骤的详细实施流程示意图;
图3为图1中另一个步骤的详细实施流程示意图;
图4为图1中另一个步骤的详细实施流程示意图;
图5为图1中另一个步骤的详细实施流程示意图;
图6为本发明一实施例提供的微服务系统的异常检测装置的功能模块图;
图7为本发明一实施例提供的实现所述微服务系统的异常检测方法的电子设备的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请实施例提供一种微服务系统的异常检测方法。所述微服务系统的异常检测方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述微服务系统的异常检测方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。
参照图1所示,为本发明一实施例提供的微服务系统的异常检测方法的流程示意图。在本实施例中,所述微服务系统的异常检测方法包括:
S1、获取微服务系统中对象监控指标的历史时序数据,计算所述历史时序数据的阈值参数。
本发明实施例中,所述微服务系统中,涉及有网络、应用容器引擎(docker)、数据库(Database)等多种对象,且多种对象间互相存在调用关系,而每个对象又有多个对象监控指标用于监测对象的运行状态,比如,Docker对象的cpu指标等。本发明实施例获取所述微服务系统中各个对象的所有对象监控指标的历史时序数据。
较佳地,参考图2所示,所述计算所述历史时序数据的阈值参数,包括:
S10、利用预设的周期性检测方法对所述历史时序数据进行周期性判断;
若所述历史时序数据为周期性数据,则执行S11、计算所述历史时序数据的滑窗阈值;
若所述历史时序数据为非周期性数据,则执行S12、计算所述历史时序数据的滑窗阈值及全量阈值。
其中,所述预设的周期性检测方法可以为基于快速变换的周期性检测方法。
详细地,所述计算所述历史时序数据的滑窗阈值,包括:
根据预设的滑窗步长将所述历史时序数据划分为多个滑窗;
获取每个滑窗内的预设数量的分位数,并根据所述分位数计算得到分位数阈值及西格玛阈值;
汇总所述分位数阈值、所述西格玛阈值及预设的固定阈值,得到每个滑窗内的滑窗阈值。
其中,本发明实施例中,所述周期性可以是指24h,所述预设的滑窗步长可以为30min,即将24h周期划分为48个滑窗。所述滑窗是指滑动窗口,所述滑动窗口是一种流量控制技术,通过所述滑窗机制可以确定流量数据在何处阻塞、断流等故障。
进一步地,所述分位数是指将时序数据按照从小到大或者从大到小排列,并分为若干等分的数值点,比如二分位数(将所述时序数据二等分的点)、百分位数(将所述时序数据分为一百等分的点),本发明实施例中可以使用百分位数。对于上述48个滑窗,本发明其中一个实施例中,获取每一个滑窗内的第一分位数、第二分位数及第三分位数。其中,所述第一分位数可以为将所述滑窗内的时序数据按照从小到大排序,并取第2%的百分位数,记为n1、第二分位数可以为将所述滑窗内的时序数据按照从小到大排序,并取第98%的百分位数,记为n2、第三分位数可以为将所述滑窗内的时序数据按照从小到大排序,并取第50%的百分位数,则分位数阈值的计算方法为:
[b2lower=s1*n1,b2upper=s2*n2](s1、s2为预先配置的系数)
其中,b2lower为下分位数阈值,n1为所述第一分位数,b2upper为上分位数,n2为所述第二分位数。
所述西格玛阈值可以为N-Sigma阈值,计算步骤如下:
步骤A、获取由第一分位数及第三分位数组成的[n1,n3]区间内的时序数据,计算所述[n1,n3]区间内的时序数据的均值m1与标准差d1;
步骤B、获取由第一分位数及第二分位数组成的[n1,n2]区间内的时序数据,计算所述[n1,n2]区间内的时序数据的均值m2与标准差d2;
步骤C、利用下述方法计算西格玛阈值:
[b1lower=m1-n*d1,b1upper=m2+n*d2]
其中,本发明实施例中,n可以取3,b1lower为下西格玛阈值,m1、d1为[n1,n3]区间内的时序数据的均值与标准差,b1upper为上西格玛阈值,m2、d2为[n1,n2]区间内的时序数据的均值与标准差。
本发明实施例中,所述预先设定的固定阈值可以每一个滑窗内的滑窗阈值[b3lower,b3upper],其中,b3lower为下固定阈值,b3upper为上固定阈值。
本发明实施例中,所述非周期性历史时序数据的滑窗阈值计算过程与所述周期性历史时序数据的滑窗阈值计算过程类似,在此不再赘述。
进一步地,在所述历史时序数据为非周期性时,本发明实施例需要计算24h内所述历史时序数据的全量阈值,其中计算所述全量阈值所需的分位数选取规则与计算滑窗阈值时一致,在此不再赘述。本发明实施例中,所述全量阈值为q1lower、q1upper,q2lower、q2upper,q3lower,q3upper,其中,[q1lower,q1upper]为所述全量阈值中的西格玛阈值,q1lower为所述全量阈值中的下西格玛阈值,q1upper为所述全量阈值中的下西格玛阈值;[q2lower,q2upper]为所述全量阈值中的分位数阈值,q2lower为所述全量阈值中的下分位数阈值,q2upper为所述全量阈值中的上分位数阈值;[q3lower,q3upper]为所述全量阈值中的固定阈值,q3lower为所述全量阈值中的下固定阈值,q3upper为所述全量阈值中的上固定阈值。
本发明实施通过划分多个滑窗来计算滑窗阈值,灵活性较高,并且,对于非周期性的历史时序数据还额外计算全量阈值,使得数据异常检测更加准确。
S2、获取所述微服务系统的实时时序数据,利用所述阈值参数对所述实时时序数据进行异常检测,得到异常检测数据。
较佳地,参考图3所示,所述利用所述阈值参数对所述实时时序数据进行异常检测,包括:
S20、利用预设的周期性检测方法对所述实时时序数据进行周期性判断;
若所述实时时序数据为周期性数据,则执行S21、利用所述滑窗阈值对所述实时时序数据进行检测;
若所述实时时序数据为非周期性数据,则执行S22、利用所述滑窗阈值及所述全量阈值对所述实时时序数据进行检测。
本发明实施例中,在对实时时序数据进行异常检测时,当所述实时时序数据相较于历史时序数据激增或骤降时,则认定所述实时时序数据可能异常。详细地,对于周期性的时序数据,一段时间内所述时序数据会重复上个周期的数据情况,只需利用各个滑窗内的滑窗阈值进行检测即可,因此,所述实时时序数据为周期性数据时,所述实时时序数据中的数据大于max(b1upper,b2upper,b3upper)或小于min(b1lower,b2lower,b3lower)时,记为异常;反之,则不记为异常;对于非周期性的时序数据,所述时序数据不会出现周期性的重复,故还需利用所述全量阈值对所述时序数据进行检测,因此,当所述实时时序数据为非周期性数据时,额外选取全量阈值,即所述实时时序数据中的数据大于max(q1upper,q2upper,q3upper)或小于min(q1lower,q2lower,q3lower)时,记为异常;反之,则不记为异常。
本发明实施利用滑窗阈值及全量阈值对实时时序数据进行检测,针对周期性的数据及非周期性的数据都能较好的检测,整体提高了数据异常检测的准确度。
S3、利用预设的入口服务指标确定所述异常检测数据的耗时记录,并将所述耗时纪录与预设的耗时记录库进行比较,得到数据异常次数。
较佳地,所述入口服务指标是指在微服务系统中,所有监测的对象指标的统一经过的入口的指标。根据所述入口服务指标,可以准确的确定数据异常的发生时间。
详细地,本发明实施例中,根据所述入口服务指标确定数据异常开始时间,并选取特定时间的故障时间段(比如,可以选取异常数据发生后的3min做为所述故障时间段),选取所述故障时间段内的所有耗时记录,并将所述耗时纪录与预设的耗时记录库进行比较,得到每个对象的数据异常次数。
详细地,参阅图4所示,所述S3具体包括:
S30、根据所述入口服务指标确定所述异常检测数据的开始时间,并根据所述开始时间选取预设时间段做为故障时间段;
S31、获取所述故障时间段内的所有耗时记录,将所述耗时纪录与所述耗时记录库中的耗时临界值进行比较;
S32、汇总所述耗时纪录中超过所述耗时临界值的次数,并将所述次数记为所述数据异常次数。
其中,所述耗时纪录可以为对象的访问踪迹(trace)记录,所述访问踪迹记录反映每一次请求在微服务各对象内的执行顺序与耗时。
进一步地,在所述利用预设的入口服务指标确定所述异常检测数据的耗时记录,并将所述耗时纪录与预设的耗时记录库进行比较之前,本发明还包括:
获取所述微服务系统中每一对象的耗时纪录,并删除已确认为故障的时间段,得到标准耗时记录;
获取所述标准耗时纪录的耗时分位数,并根据所述耗时分位数计算耗时临界值;
汇总所述耗时临界值得到所述耗时记录库。
本发明实施例中,对于每一个对象,可以选取过去72h的访问踪迹记录并剔除已确认故障的时间段,得到所述标准耗时记录,所述耗时分位数可以为所述标准耗时记录的第98%百分位数h1,所述耗时临界值为h1*f1(f1一般取3至5)。对于所述耗时记录库,可以设置每天进行一次计算并存储。
进一步地,本发明实施通过所述入口服务指标可以准确的确定数据异常的开始时间,并且通过所述耗时记录库中的耗时临界值来确定异常次数,可以通过调整所述耗时临界值来适用不同的应用场景。
S4、根据预设的排序规则对所述数据异常次数进行排序并输出,得到异常检测结果。
其中,所述预设的排序规则是指人工根据业务属性所设定的排序调整逻辑。
较佳地,参阅图5所示,所述S4包括:
S40、统计所述数据异常次数,得到初始排序;
S41、根据所述预设的排序规则对所述初始排序进行调整,得到最终排序;
S42、根据所述最终排序,得到所述异常检测结果。
本发明实施例中,比如,在微服务故障分析中,通过统计所述数据异常检测,得到所述初始排序:Obj1、Obj2、Obj3;根据所述预设的排序规则对所述初始排序进行调整,得到所述最终排序:Obj1、Obj3、Obj2;根据所述最终排序查找异常指标并得到所述异常检测结果:Obj1(指标1-2)、Obj3(指标3-1)、Obj2(指标2-4)。
优选地,本发明实施例可以根据所述数据异常次数及所述预设的排序规则,对异常检测结果进行重要性排序并输出,使得运维工作人员能够根据排序优先排查具有较高重要性的对象,提高了异常检测的效率。
本发明通过计算得到的所述阈值参数,对所述实时时序数据进行异常检测,针对周期性的数据及非周期性的数据都可以准确的进行检测,并且所述阈值参数针对实际应用环境可以进行适应性调整,提高了实用性。同时,利用预设的入口服务指标确定所述异常检测数据的耗时记录,并将所述耗时纪录与预设的耗时记录库进行比较,得到数据异常次数,并结合预设的排序规则可以对所述数据异常次数进行重要性排序并输出,提高了异常检测的效率。因此本发明实施例可以解决异常检测效率较低及针对性不强的问题。
如图6所示,是本发明一实施例提供的微服务系统的异常检测装置的功能模块图。
本发明所述微服务系统的异常检测装置100可以安装于电子设备中。根据实现的功能,所述微服务系统的异常检测装置100可以包括阈值计算模块101、异常检测模块102、异常次数确定模块103及检测结果输出模块104。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述阈值计算模块101,用于获取微服务系统中对象监控指标的历史时序数据,计算所述历史时序数据的阈值参数。
本发明实施例中,所述微服务系统中,涉及有网络、应用容器引擎(docker)、数据库(Database)等多种对象,且多种对象间互相存在调用关系,而每个对象又有多个对象监控指标用于监测对象的运行状态,比如,Docker对象的cpu指标等。本发明实施例获取所述微服务系统中各个对象的所有对象监控指标的历史时序数据。
较佳地,所述阈值计算模块101通过下述操作计算所述历史时序数据的阈值参数:
利用预设的周期性检测方法对所述历史时序数据进行周期性判断;
若所述历史时序数据为周期性数据,则计算所述历史时序数据的滑窗阈值;
若所述历史时序数据为非周期性数据,则计算所述历史时序数据的滑窗阈值及全量阈值。
其中,所述预设的周期性检测方法可以为基于快速变换的周期性检测方法。
详细地,所述阈值计算模块101通过下述操作计算所述历史时序数据的滑窗阈值:
根据预设的滑窗步长将所述历史时序数据划分为多个滑窗;
获取每个滑窗内的预设数量的分位数,并根据所述分位数计算得到分位数阈值及西格玛阈值;
汇总所述分位数阈值、所述西格玛阈值及预设的固定阈值,得到每个滑窗内的滑窗阈值。
其中,本发明实施例中,所述周期性可以是指24h,所述预设的滑窗步长可以为30min,即将24h周期划分为48个滑窗。所述滑窗是指滑动窗口,所述滑动窗口是一种流量控制技术,通过所述滑窗机制可以确定流量数据在何处阻塞、断流等故障。
进一步地,所述分位数是指将时序数据按照从小到大或者从大到小排列,并分为若干等分的数值点,比如二分位数(将所述时序数据二等分的点)、百分位数(将所述时序数据分为一百等分的点),本发明实施例中可以使用百分位数。对于上述48个滑窗,本发明其中一个实施例中,获取每一个滑窗内的第一分位数、第二分位数及第三分位数。其中,所述第一分位数可以为将所述滑窗内的时序数据按照从小到大排序,并取第2%的百分位数,记为n1、第二分位数可以为将所述滑窗内的时序数据按照从小到大排序,并取第98%的百分位数,记为n2、第三分位数可以为将所述滑窗内的时序数据按照从小到大排序,并取第50%的百分位数,则分位数阈值的计算方法为:
[b2lower=s1*n1,b2upper=s2*n2](s1、s2为预先配置的系数)
其中,b2lower为下分位数阈值,n1为所述第一分位数,b2upper为上分位数,n2为所述第二分位数。
所述西格玛阈值可以为N-Sigma阈值,计算步骤如下:
步骤A、获取由第一分位数及第三分位数组成的[n1,n3]区间内的时序数据,计算所述[n1,n3]区间内的时序数据的均值m1与标准差d1;
步骤B、获取由第一分位数及第二分位数组成的[n1,n2]区间内的时序数据,计算所述[n1,n2]区间内的时序数据的均值m2与标准差d2;
步骤C、利用下述方法计算西格玛阈值:
[b1lower=m1-n*d1,b1upper=m2+n*d2]
其中,本发明实施例中,n可以取3,b1lower为下西格玛阈值,m1、d1为[n1,n3]区间内的时序数据的均值与标准差,b1upper为上西格玛阈值,m2、d2为[n1,n2]区间内的时序数据的均值与标准差。
本发明实施例中,所述预先设定的固定阈值可以每一个滑窗内的滑窗阈值[b3lower,b3upper],其中,b3lower为下固定阈值,b3upper为上固定阈值。
本发明实施例中,所述非周期性历史时序数据的滑窗阈值计算过程与所述周期性历史时序数据的滑窗阈值计算过程类似,在此不再赘述。
进一步地,在所述历史时序数据为非周期性时,本发明实施例需要计算24h内所述历史时序数据的全量阈值,其中计算所述全量阈值所需的分位数选取规则与计算滑窗阈值时一致,在此不再赘述。本发明实施例中,所述全量阈值为q1lower、q1upper,q2lower、q2upper,q3lower,q3upper,其中,[q1lower,q1upper]为所述全量阈值中的西格玛阈值,q1lower为所述全量阈值中的下西格玛阈值,q1upper为所述全量阈值中的下西格玛阈值;[q2lower,q2upper]为所述全量阈值中的分位数阈值,q2lower为所述全量阈值中的下分位数阈值,q2upper为所述全量阈值中的上分位数阈值;[q3lower,q3upper]为所述全量阈值中的固定阈值,q3lower为所述全量阈值中的下固定阈值,q3upper为所述全量阈值中的上固定阈值。
本发明实施通过划分多个滑窗来计算滑窗阈值,灵活性较高,并且,对于非周期性的历史时序数据还额外计算全量阈值,使得数据异常检测更加准确。
所述异常检测模块102,用于获取所述微服务系统的实时时序数据,利用所述阈值参数对所述实时时序数据进行异常检测,得到异常检测数据。
较佳地,所述异常检测模块102通过下述操作进行异常检测:
利用预设的周期性检测方法对所述实时时序数据进行周期性判断;
若所述实时时序数据为周期性数据,则利用所述滑窗阈值对所述实时时序数据进行检测;
若所述实时时序数据为非周期性数据,则利用所述滑窗阈值及所述全量阈值对所述实时时序数据进行检测。
本发明实施例中,在对实时时序数据进行异常检测时,当所述实时时序数据相较于历史时序数据激增或骤降时,则认定所述实时时序数据可能异常。详细地,对于周期性的时序数据,一段时间内所述时序数据会重复上个周期的数据情况,只需利用各个滑窗内的滑窗阈值进行检测即可,因此,所述实时时序数据为周期性数据时,所述实时时序数据中的数据大于max(b1upper,b2upper,b3upper)或小于min(b1lower,b2lower,b3lower)时,记为异常;反之,则不记为异常;对于非周期性的时序数据,所述时序数据不会出现周期性的重复,故还需利用所述全量阈值对所述时序数据进行检测,因此,当所述实时时序数据为非周期性数据时,额外选取全量阈值,即所述实时时序数据中的数据大于max(q1upper,q2upper,q3upper)或小于min(q1lower,q2lower,q3lower)时,记为异常;反之,则不记为异常。
本发明实施利用滑窗阈值及全量阈值对实时时序数据进行检测,针对周期性的数据及非周期性的数据都能较好的检测,整体提高了数据异常检测的准确度。
所述异常次数确定模块103,用于利用预设的入口服务指标确定所述异常检测数据的耗时记录,并将所述耗时纪录与预设的耗时记录库进行比较,得到数据异常次数。
较佳地,所述入口服务指标是指在微服务系统中,所有监测的对象指标的统一经过的入口的指标。根据所述入口服务指标,可以准确的确定数据异常的发生时间。
详细地,本发明实施例中,根据所述入口服务指标确定数据异常开始时间,并选取特定时间的故障时间段(比如,可以选取异常数据发生后的3min做为所述故障时间段),选取所述故障时间段内的所有耗时记录,并将所述耗时纪录与预设的耗时记录库进行比较,得到每个对象的数据异常次数。
详细地,所述异常次数确定模块103通过下述操作得到所述数据异常次数:
根据所述入口服务指标确定所述异常检测数据的开始时间,并根据所述开始时间选取预设时间段做为故障时间段;
获取所述故障时间段内的所有耗时记录,将所述耗时纪录与所述耗时记录库中的耗时临界值进行比较;
汇总所述耗时纪录中超过所述耗时临界值的次数,并将所述次数记为所述数据异常次数。
其中,所述耗时纪录可以为对象的访问踪迹(trace)记录,所述访问踪迹记录反映每一次请求在微服务各对象内的执行顺序与耗时。
进一步地,所述异常次数确定模块103还包括:
获取所述微服务系统中每一对象的耗时纪录,并删除已确认为故障的时间段,得到标准耗时记录;
获取所述标准耗时纪录的耗时分位数,并根据所述耗时分位数计算耗时临界值;
汇总所述耗时临界值得到所述耗时记录库。
本发明实施例中,对于每一个对象,可以选取过去72h的访问踪迹记录并剔除已确认故障的时间段,得到所述标准耗时记录,所述耗时分位数可以为所述标准耗时记录的第98%百分位数h1,所述耗时临界值为h1*f1(f1一般取3至5)。对于所述耗时记录库,可以设置每天进行一次计算并存储。
进一步地,本发明实施通过所述入口服务指标可以准确的确定数据异常的开始时间,并且通过所述耗时记录库中的耗时临界值来确定异常次数,可以通过调整所述耗时临界值来适用不同的应用场景。
所述检测结果输出模块104,用于根据预设的排序规则对所述数据异常次数进行排序并输出,得到异常检测结果。
其中,所述预设的排序规则是指人工根据业务属性所设定的排序调整逻辑。
较佳地,所述检测结果输出模块104通过下述操作得到所述异常检测结果:
统计所述数据异常次数,得到初始排序;
根据所述预设的排序规则对所述初始排序进行调整,得到最终排序;
根据所述最终排序,得到所述异常检测结果。
本发明实施例中,比如,在微服务故障分析中,通过统计所述数据异常检测,得到所述初始排序:Obj1、Obj2、Obj3;根据所述预设的排序规则对所述初始排序进行调整,得到所述最终排序:Obj1、Obj3、Obj2;根据所述最终排序查找异常指标并得到所述异常检测结果:Obj1(指标1-2)、Obj3(指标3-1)、Obj2(指标2-4)。
优选地,本发明实施例可以根据所述数据异常次数及所述预设的排序规则,对异常检测结果进行重要性排序并输出,使得运维工作人员能够根据排序优先排查具有较高重要性的对象,提高了异常检测的效率。
如图7所示,是本发明一实施例提供的实现微服务系统的异常检测方法的电子设备的结构示意图。
所述电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如微服务系统的异常检测程序12。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如微服务系统的异常检测程序12的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如异常检测程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
所述总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
图7仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图7示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的微服务系统的异常检测程序12是多个指令的组合,在所述处理器10中运行时,可以实现:
获取微服务系统中对象监控指标的历史时序数据,计算所述历史时序数据的阈值参数;
获取所述微服务系统的实时时序数据,利用所述阈值参数对所述实时时序数据进行异常检测,得到异常检测数据;
利用预设的入口服务指标确定所述异常检测数据的耗时记录,并将所述耗时纪录与预设的耗时记录库进行比较,得到数据异常次数;
根据预设的排序规则对所述数据异常次数进行排序并输出,得到异常检测结果。
具体地,所述处理器10对上述指令的具体实现方法可参考图1至图5对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种微服务系统的异常检测方法,其特征在于,所述方法包括:
获取微服务系统中对象监控指标的历史时序数据,计算所述历史时序数据的阈值参数;
获取所述微服务系统的实时时序数据,利用所述阈值参数对所述实时时序数据进行异常检测,得到异常检测数据;
利用预设的入口服务指标确定所述异常检测数据的耗时记录,并将所述耗时纪录与预设的耗时记录库进行比较,得到数据异常次数;
根据预设的排序规则对所述数据异常次数进行排序并输出,得到异常检测结果。
2.如权利要求1所述的微服务系统的异常检测方法,其特征在于,所述计算所述历史时序数据的阈值参数,包括:
利用预设的周期性检测方法对所述历史时序数据进行周期性判断;
若所述历史时序数据为周期性数据,则计算所述历史时序数据的滑窗阈值;
若所述历史时序数据为非周期性数据,则计算所述历史时序数据的滑窗阈值及全量阈值。
3.如权利要求2所述的微服务系统的异常检测方法,其特征在于,所述计算所述历史时序数据的滑窗阈值,包括:
根据预设的滑窗步长将所述历史时序数据划分为多个滑窗;
获取每个滑窗内的预设数量的分位数,并根据所述分位数计算得到分位数阈值及西格玛阈值;
汇总所述分位数阈值、所述西格玛阈值及预设的固定阈值,得到每个滑窗内的滑窗阈值。
4.如权利要求2所述的微服务系统的异常检测方法,其特征在于,所述利用所述阈值参数对所述实时时序数据进行异常检测,包括:
利用预设的周期性检测方法对所述实时时序数据进行周期性判断;
若所述实时时序数据为周期性数据,则利用所述滑窗阈值对所述实时时序数据进行检测;
若所述实时时序数据为非周期性数据,则利用所述滑窗阈值及所述全量阈值对所述实时时序数据进行检测。
5.如权利要求1所述的微服务系统的异常检测方法,其特征在于,所述利用预设的入口服务指标确定所述异常检测数据的耗时记录,并将所述耗时纪录与预设的耗时记录库进行比较,得到数据异常次数,包括:
根据所述入口服务指标确定所述异常检测数据的开始时间,并根据所述开始时间选取预设时间段做为故障时间段;
获取所述故障时间段内的所有耗时记录,将所述耗时纪录与所述耗时记录库中的耗时临界值进行比较;
汇总所述耗时纪录中超过所述耗时临界值的次数,并将所述次数记为所述数据异常次数。
6.如权利要求5所述的微服务系统的异常检测方法,其特征在于,在所述利用预设的入口服务指标确定所述异常检测数据的耗时记录,并将所述耗时纪录与预设的耗时记录库进行比较之前,该方法还包括:
获取所述微服务系统中每一对象的耗时纪录,并删除已确认为故障的时间段,得到标准耗时记录;
获取所述标准耗时纪录的耗时分位数,并根据所述耗时分位数计算耗时临界值;
汇总所述耗时临界值得到所述耗时记录库。
7.如权利要求1至6中任意一项所述的微服务系统的异常检测方法,其特征在于,所述根据预设的排序规则对所述数据异常次数进行排序并输出,得到异常检测结果,包括:
统计所述数据异常次数,得到初始排序;
根据所述预设的排序规则对所述初始排序进行调整,得到最终排序;
根据所述最终排序,得到所述异常检测结果。
8.一种微服务系统的异常检测装置,其特征在于,所述装置包括:
阈值计算模块,用于获取微服务系统中对象监控指标的历史时序数据,计算所述历史时序数据的阈值参数;
异常检测模块,用于获取所述微服务系统的实时时序数据,利用所述阈值参数对所述实时时序数据进行异常检测,得到异常检测数据;
异常次数确定模块,用于利用预设的入口服务指标确定所述异常检测数据的耗时记录,并将所述耗时纪录与预设的耗时记录库进行比较,得到数据异常次数;
检测结果输出模块,用于根据预设的排序规则对所述数据异常次数进行排序并输出,得到异常检测结果。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任意一项所述的异常检测方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的微服务系统的异常检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011324658.XA CN112463530A (zh) | 2020-11-23 | 2020-11-23 | 微服务系统的异常检测方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011324658.XA CN112463530A (zh) | 2020-11-23 | 2020-11-23 | 微服务系统的异常检测方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112463530A true CN112463530A (zh) | 2021-03-09 |
Family
ID=74798512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011324658.XA Pending CN112463530A (zh) | 2020-11-23 | 2020-11-23 | 微服务系统的异常检测方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112463530A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113052272A (zh) * | 2021-05-31 | 2021-06-29 | 北京宝兰德软件股份有限公司 | 一种异常检测方法、装置、电子设备及存储介质 |
CN113342502A (zh) * | 2021-06-30 | 2021-09-03 | 招商局金融科技有限公司 | 数据湖的性能诊断方法、装置、计算机设备及存储介质 |
CN114978968A (zh) * | 2022-05-10 | 2022-08-30 | 中国平安财产保险股份有限公司 | 微服务的异常检测方法、装置、计算机设备和存储介质 |
-
2020
- 2020-11-23 CN CN202011324658.XA patent/CN112463530A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113052272A (zh) * | 2021-05-31 | 2021-06-29 | 北京宝兰德软件股份有限公司 | 一种异常检测方法、装置、电子设备及存储介质 |
CN113342502A (zh) * | 2021-06-30 | 2021-09-03 | 招商局金融科技有限公司 | 数据湖的性能诊断方法、装置、计算机设备及存储介质 |
CN114978968A (zh) * | 2022-05-10 | 2022-08-30 | 中国平安财产保险股份有限公司 | 微服务的异常检测方法、装置、计算机设备和存储介质 |
CN114978968B (zh) * | 2022-05-10 | 2023-08-29 | 中国平安财产保险股份有限公司 | 微服务的异常检测方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112148577B (zh) | 数据异常检测方法、装置、电子设备及存储介质 | |
CN112463530A (zh) | 微服务系统的异常检测方法、装置、电子设备及存储介质 | |
CN113592019B (zh) | 基于多模型融合的故障检测方法、装置、设备及介质 | |
CN113780691A (zh) | 数据测试方法、装置、电子设备及存储介质 | |
CN112445875B (zh) | 数据关联及检验方法、装置、电子设备及存储介质 | |
CN114519524A (zh) | 基于知识图谱的企业风险预警方法、装置及存储介质 | |
CN113504935A (zh) | 软件开发质量评估方法、装置、电子设备及可读存储介质 | |
CN111339072B (zh) | 基于用户行为的变化值分析方法、装置、电子设备及介质 | |
CN113327136A (zh) | 归因分析方法、装置、电子设备及存储介质 | |
CN114971016A (zh) | 一种变压器故障的智能监控方法 | |
CN116449762A (zh) | 基于物联网实现智能设备的安全预警方法及装置 | |
CN114968816A (zh) | 基于数据模拟的策略测试方法、装置、设备及存储介质 | |
CN111460293B (zh) | 信息推送方法、装置及计算机可读存储介质 | |
CN113392090A (zh) | 基于数据库迁移的数据验证方法、装置、设备及介质 | |
CN112346838A (zh) | 一种基于物联网的智能调度方法及装置 | |
CN112148566A (zh) | 计算引擎的监控方法、装置、电子设备及存储介质 | |
CN113822379B (zh) | 工艺制程异常分析方法、装置、电子设备及存储介质 | |
CN115913763A (zh) | 流量异常检测方法、装置、设备及介质 | |
CN113434397B (zh) | 任务系统的测试方法、装置、电子设备及存储介质 | |
CN114662095A (zh) | 基于操作数据的安全监测方法、装置、设备及存储介质 | |
CN115221171A (zh) | 异常数据智能监控方法、装置、电子设备及存储介质 | |
CN114239538A (zh) | 断言处理方法、装置、计算机设备及存储介质 | |
CN111651503A (zh) | 一种配电网数据异常识别方法、系统及终端设备 | |
CN111339063A (zh) | 假设数据智能管理方法、装置及计算机可读存储介 | |
CN113312409B (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 |