CN114721912B - 一种数据分析方法、装置、设备及介质 - Google Patents
一种数据分析方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114721912B CN114721912B CN202110005013.8A CN202110005013A CN114721912B CN 114721912 B CN114721912 B CN 114721912B CN 202110005013 A CN202110005013 A CN 202110005013A CN 114721912 B CN114721912 B CN 114721912B
- Authority
- CN
- China
- Prior art keywords
- alarm
- event
- alarm event
- index
- events
- 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
- 238000007405 data analysis Methods 0.000 title claims abstract description 75
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000004458 analytical method Methods 0.000 claims abstract description 211
- 238000012544 monitoring process Methods 0.000 claims abstract description 55
- 230000002159 abnormal effect Effects 0.000 claims description 75
- 238000012545 processing Methods 0.000 claims description 56
- 230000000875 corresponding effect Effects 0.000 claims description 55
- 238000013507 mapping Methods 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 19
- 230000002596 correlated effect Effects 0.000 claims description 5
- 238000005070 sampling Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 35
- 238000005065 mining Methods 0.000 description 11
- 230000005856 abnormality Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000007781 pre-processing Methods 0.000 description 8
- 230000003068 static effect Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000000692 Student's t-test Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 230000001174 ascending effect Effects 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 238000012353 t test Methods 0.000 description 4
- 238000013024 troubleshooting Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000012098 association analyses Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000011524 similarity measure Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Abstract
本申请实施例公开了一种数据分析方法、装置、设备及介质,其中的方法包括:接收目标设备发送的关于监控对象的告警分析请求;获取监控对象在目标时间段内产生的M个告警事件的告警数据;根据M个告警事件的告警数据对各个告警事件进行联动分析,并向目标设备发送分析结果。采用本申请实施例可以有效地发现告警事件之间的内在联系。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据分析方法、一种数据分析装置、一种数据分析设备及一种计算机可读存储介质。
背景技术
随着科学技术的快速发展,大量的设备(如智能手机、服务器、个人电脑等)被广泛应用,那么对设备的性能进行监控并将监控结果返回给用户,以辅助用户掌握设备的运行状态,确保设备维持正常运行显得尤为重要。常见的,当设备产生故障时可基于故障生成告警事件,并将该告警事件通知用户,以便于用户根据告警事件对故障进行排查。而如何对告警事件进行处理,以帮助用户更好地排查故障成为研究的热点话题。
发明内容
本申请实施例提供一种数据分析方法、装置、设备及介质,通过对告警事件进行联动分析处理,可以有效地发现告警事件之间的内在联系。
一方面,本申请实施例提供一种数据分析方法,该方法包括:
接收目标设备发送的关于监控对象的告警分析请求,告警分析请求携带目标时间段的时间信息;
获取监控对象在目标时间段内产生的M个告警事件的告警数据,任一告警事件的告警类型属于指标告警类型或者事件告警类型;其中,M为大于1的正整数;
根据M个告警事件的告警数据对各个告警事件进行联动分析,并向目标设备发送分析结果;分析结果包括以下至少一项:指标告警类型下的不同指标对应的告警事件之间的关联信息,事件告警类型下的各个告警事件之间的关联信息,及不同告警类型下的告警事件之间的关联信息。
另一方面,本申请实施例提供一种数据分析装置,包括:
接收单元,用于接收目标设备发送的关于监控对象的告警分析请求,告警分析请求携带目标时间段的时间信息;
接收单元,还用于获取监控对象在目标时间段内产生的M个告警事件的告警数据,任一告警事件的告警类型属于指标告警类型或者事件告警类型;其中,M为大于1的正整数;
处理单元,用于根据M个告警事件的告警数据对各个告警事件进行联动分析,并向目标设备发送分析结果;分析结果包括以下至少一项:指标告警类型下的不同指标对应的告警事件之间的关联信息,事件告警类型下的各个告警事件之间的关联信息,及不同告警类型下的告警事件之间的关联信息。
在一种实现方式中,M个告警事件中包括指标告警类型下的第一告警事件和第二告警事件,且第一告警事件对应第一指标,第二告警事件对应第二指标;则分析结果包括第一告警事件和第二告警事件之间的关联信息;处理单元具体用于:
获取监控对象在目标时间段产生的第一指标下的第一时间序列,并根据第一告警事件的告警数据所指示的异常时间,从第一时间序列中获取第一异常子序列;
获取监控对象在目标时间段产生的第二指标下的第二时间序列,并根据第二告警事件的告警数据所指示的异常时间,从第二时间序列中获取第二异常子序列;
计算第一异常子序列和第二异常子序列之间的相似度,若计算得到的相似度大于相似度阈值,则生成用于指示第一告警事件和第二告警事件之间存在关联性的关联信息;否则,则生成用于指示第一告警事件和第二告警事件之间不存在关联性的关联信息。
在一种实现方式中,M个告警事件中包括指标告警类型下的第一告警事件和事件告警类型下的第三告警事件;则分析结果包括第一告警事件和第三告警事件之间的关联信息;处理单元具体用于:
获取监控对象在目标时间段产生的第一指标下的第一时间序列,并根据第三告警事件的告警数据所指示的事件发生时间,确定第三告警事件在第一时间序列中的映射位置;
从第一时间序列中基于映射位置往后截取第一参考子序列,并基于映射位置往前截取第二参考子序列,以及从第一时间序列中抽样截取第三参考子序列;
计算第一参考子序列和第三参考子序列之间的第一置信度,以及第二参考子序列和第三参考子序列之间的第二置信度;
若第一置信度和第二置信度均小于置信度阈值,则生成用于指示第一告警事件和第三告警事件之间不存在关联性的关联信息;否则,则生成用于指示第一告警事件和第三告警事件之间存在关联性的关联信息。
在一种实现方式中,若第一告警事件和第三告警事件之间存在关联性,则分析结果还包括:第一告警事件和第三告警事件之间的时序信息;处理单元还用于:
若第一置信度大于置信度阈值,则生成用于指示因产生第一告警事件而导致产生第三告警事件的时序信息;
若第二置信度大于置信度阈值,则生成用于指示因产生第三告警事件而导致产生第一告警事件的时序信息。
在一种实现方式中,若第一告警事件和第三告警事件之间存在关联性,则分析结果还包括:第一告警事件和第三告警事件之间的关联方向;处理单元还用于:
计算第一参考子序列和第二参考子序列之间的序列相似度;
若序列相似度大于目标阈值,则生成用于指示第一告警事件和第三告警事件成负相关的关联方向;
若序列相似度小于目标阈值,则生成用于指示第一告警事件和第三告警事件成正相关的关联方向。
在一种实现方式中,M个告警事件中包括事件告警类型下的N个告警事件,N∈[3,M];N个告警事件至少包括第三告警事件和第四告警事件,则分析结果包括第三告警事件和第四告警事件之间的关联信息;处理单元具体用于:
按照N个告警事件的事件发生顺序对N个告警事件进行排列,得到事件序列;
采用挖掘窗口在事件序列上进行滑动处理,得到多个事务序列;一个事务序列中包括一个或多个告警事件;
从多个事务序列中确定出第一事务序列和第二事务序列,第一事务序列是指包括第三告警事件的事务序列,第二事务序列是指包括第三告警事件和第四告警事件的事务序列;
计算第二事务序列的数量和第一事务序列的数量之间的比值,若计算得到的比值大于比值阈值,则生成用于指示第三告警事件和第四告警事件之间存在关联性的关联信息;否则,则生成用于指示第三告警事件和第四告警事件之间不存在关联性的关联信息。
在一种实现方式中,处理单元还用于:
若分析结果中包括指标告警类型下的不同指标对应的告警事件之间的关联信息,则对不同指标对应的告警事件进行告警收敛处理或告警分级处理,并向目标设备发送基于处理结果生成的告警通知消息;
若分析结果中包括事件告警类型下的各个告警事件之间的关联信息,则根据事件告警类型下的各个告警事件的事件信息生成告警提示,并向目标设备发送告警提示,告警提示包括以下至少一项:告警通知消息或者告警摘要。
另一方面,本申请实施例提供一种数据分析设备,包括:
处理器,适于执行计算机程序;
计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时,实现如上述的数据分析方法。
另一方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,该计算机程序适于由处理器加载并执行如上述的数据分析方法。
另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。数据分析设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该数据分析设备执行上述的数据分析方法。
本申请实施例能够对目标时间段的M个告警事件进行联动分析,得到分析结果。其中,M个告警事件的告警类型(即指标告警类型和事件告警类型)可以不同或相同;这样分析结果可以包括不同告警类型下的不同告警事件之间的关联信息(如指标告警类型下指标对应的告警事件和事件告警类型下事件对应的告警事件之间的关联信息),分析结果还可以包括同一告警类型下不同的告警事件之间的关联信息(如指标告警类型下不同指标对应的告警事件之间的关联性)。通过上述对不同告警事件的联动分析,可挖掘告警事件之间的内在联系,辅助发现告警的本质原因,有助于快速地对故障进行排查。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a示出了本申请一个示例性实施例提供的一种设定指标阈值的界面示意图;
图1b示出了本申请一个示例性实施例提供的一种时间序列的示意图;
图1c示出了本申请一个示例性实施例提供的一种指标的时间序列的示意图;
图2a示出了本申请一个示例性实施例提供的一种事件告警类型下的多个告警事件的示意图;
图2b示出了本申请一个示例性实施例提供的ping不可达的告警数据的示意图;
图3a示出了本申请一个示例性实施例提供的一种数据分析系统的架构示意图;
图3b示出了本申请一个示例性实施例提供的一种数据分析方法的流程示意图;
图3c示出了本申请一个示例性实施例提供的另一种数据分析系统的架构示意图;
图4示出了本申请一个示例性实施例提供的一种数据分析方法的流程示意图;
图5示出了本申请一个示例性实施例提供的一种指标的时间序列的示意图;
图6示出了本申请一个示例性实施例提供的一种获取异常子序列的示意图;
图7示出了本申请一个示例性实施例提供的一种计算两个时间序列的相似度的示意图;
图8示出了本申请一个示例性实施例提供的一种多个指标告警类型下告警事件之间的分析结果的示意图;
图9a示出了本申请一个示例性实施例提供的一种事件发生时间在时间序列中的映射位置的示意图;
图9b示出了本申请一个示例性实施例提供的一种指标告警类型下的告警事件和事件告警类型下的告警事件之间的联动分析的示意图;
图10a示出了本申请一个示例性实施例提供的一种事件序列的示意图;
图10b示出了本申请一个示例性实施例提供的一种三种联动分析的分析结果的示意图;
图11示出了本申请一个示例性实施例提供的另一种数据分析方法的流程示意图;
图12示出了本申请一个示例性实施例提供的一种预处理的示意图;
图13示出了本申请一个示例性实施例提供的一种数据分析装置的结构示意图;
图14示出了本申请一个示例性实施例提供的一种数据分析设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面先对本申请涉及的术语及概念进行说明:
一、本申请实施例涉及告警,告警是指监控对象(如服务器、终端设备等)在发生异常情况时发出的一种事件报告,该事件报告用于传递告警信息。当监控对象发生故障时,可以产生告警事件,并通知用户对故障进行处理,来确保监控对象的正常运行。常见的,告警事件的告警类型可包括:
(1)指标告警类型,指标告警类型是由于指标对应的指标值出现异常导致的告警事件的告警类型。例如:某一指标(如CPU性能指标等)的指标值低于设定的指标阈值时,确定该指标出现异常情况,则生成指标告警类型的告警事件。此处的指标阈值可包括静态指标阈值和动态指标阈值;静态指标阈值是用户对某一指标设定的恒定阈值,一般为数值型,当指标的指标值超过设定的恒定阈值时,确定发生指标异常;动态指标阈值是采用算法,并根据指标的指标值在历史时间内的波动范围计算出的指标范围,该指标范围包括最小指标阈值和最大指标阈值,当指标的指标值超过指标范围时,确定该指标出现异常情况,其中,指标值超出指标范围可以是指指标值大于最大指标阈值,或小于最小指标阈值。上述两种设定指标阈值的方式可参见图1a,图1a示出了本申请一个示例性实施例提供的一种设定指标阈值的界面示意图;如图1a所示,显示的配置告警页面101中显示由静态阈值按钮1011和动态阈值按钮1012,当某一阈值按钮(静态阈值按钮1011或动态阈值按钮1012)被触发时,在配置告警页面101中的配置信息显示区域1013中显示被出发的阈值按钮对应的配置信息;例如,当静态阈值按钮1011被触发时,在配置告警页面101的配置信息显示区域1013中显示静态阈值的配置信息,如配置信息可包括但不限于:触发告警的触发条件、通知频率、统计周期等等;当然,配置告警页面101中还包括提交选项,当提交选项被触发时,表示配置结束,那么后续该指标的告警周期、指标阈值等按照相应的配置信息进行执行。又如,当动态阈值按钮1012被触发时,在配置信息显示区域1013中可能显示该指标的历史指标值、指标值波动范围等等,本申请实施例在此不做详细阐述。
需要说明的是,通常是通过接收监控对象上报的数据值(如指标值等)来对监控对象的某项指标的运行状态进行监控。监控对象上报数据值是按照时间发生先后顺序进行上报的,这些上报的数据值按照时间顺序连接可得到时间序列;时间序列是一组按照时间发生先后顺序进行排列的数据点序列;通常一组时间序列的时间间隔为一恒定值(如1秒钟、1分钟、5分钟等等)。示例性的时间序列可参见图1b,图1b示出了本申请一个示例性实施例提供的一种时间序列的示意图;如图1b所示,该时间序列的各个数据值(或称数据点)是以一分钟的时间间隔进行上报的,那么将每分钟接收到的数据点按照时间先后顺序进行排序,即可画出一幅时间序列的序列图。
基于此,将接收到的指标值按照指标值的产生时间先后顺序进行排列,即得到指标的时间序列。进而,从指标的时间序列中可得到该指标在历史时间内的指标值;通过分析该指标的时间序列,可判定该指标是否在历史时间内产生异常,这种直观、简便的分析方式,有助于对指标的异常情况进行排查,帮助用户更快的找到故障原因。例如,指标-消息队列指标在一段时间内的时间序列的示意图可参见图1c,图1c示出了本申请一个示例性实施例提供的一种指标的时间序列的示意图;如图1c所示,该时间序列展现了消息队列指标在某一天(如11与25日)的时间段(如11:34-12:37)内的各个指标值;假设该指标的静态指标阈值为99,基于图1b可知,在大约为12:07-12:28时间段内,该指标的指标值均小于静态指标阈值,则确定该指标在这段时间内处于异常状态。
(2)事件告警类型,事件告警类型是在监控对象运行过程中,产生异常情况(或故障)导致的告警事件的告警类型。需要说明的是,可将监控对象运行过程中突然发生的某一故障称为一个事件,当发生事件时,通常意味着监控对象发生相应的故障;例如:如磁盘的运行状态从磁盘可读写突然变化为磁盘只读,可将这一故障称为一个事件。进一步的,将因一个故障产生的通知称为一个事件告警类型下的告警事件,常见的事件告警类型的告警事件可参见图2a所示,图2a示出了本申请一个示例性实施例提供的一种事件告警类型下的多个告警事件的示意图;如图2a所示,在告警事件通知页面中显示多个事件告警类型的告警事件,告警事件可包括但不限于:磁盘只读事件、内核故障事件、ping不可达事件等等。当在告警事件通知页面中选中某一告警事件时,可显示被选中的告警事件的更为详细的告警数据(或称为告警信息,如事件名称、事件发生时间等等);例如,可参见图2b,图2b示出了本申请一个示例性实施例提供的ping不可达的告警数据的示意图;如图2b所示,告警事件-ping不可达的告警数据可包括但不限于:告警名称为:ping不可达,告警事件为:XXX,等等。
二、本申请实施例还涉及告警关联,此处的告警关联是指将发生的多个告警事件进行联动分析,以挖掘告警事件之间的相似性和关联性,这有助于帮助用户发现告警的真实状态,进而更好的排查故障。以指标告警类型的告警事件和事件告警类型的告警事件为例,告警事件之间的联动分析可包括:指标告警类型下的告警事件和事件告警类型下的告警事件之间的联动分析、指标告警类型下的不同指标对应的告警事件之间的联动分析、及事件告警类型下的不同事件的告警事件之间的联动分析。例如:同时发生指标告警类型的告警事件和事件告警类型的告警事件,那么分析这两个告警事件的关联性,可以判断这两起告警事件是否由同一故障引起,如果由同一故障引起,则对该故障进行排查即可实现修复告警事件,这能够快速高效地维护监控对象的正常运行状态。
基于上述描述,为发现告警事件之间的内在联系,更好地帮助用户排查故障,本申请实施例提供一种数据分析方案,该数据分析方案的主要原理可包括:获取监控对象在目标时间段内产生的M个告警时间的告警数据,其中,M为大于1的正整数,且任一告警时间的告警类型属于指标告警类型或事件告警类型;并根据告警数据对各个告警事件进行联动分析,以得到分析结果;其中,分析结果可包括指标告警类型下的不同指标对应的告警事件之间的关联信息,事件告警类型下的各个告警事件之间的关联信息,以及不同告警类型下的告警事件之间的关联信息。上述过程中,通过对不同告警事件的联动分析,可发现告警事件之间的内在联系,辅助用户发现告警的本质原因,有助于快速地对故障进行排查,以维护监控对象的正常运行状态。
基于上述术语和概念,本申请实施例提供一种数据分析方案和对应的分析处理系统。下面结合附图3a来简单介绍本申请实施例涉及的数据分析系统。
请参见图3a,图3a示出了本申请一个示例性实施例提供的一种数据分析系统的架构示意图。如图3a所示,该数据分析系统包括目标设备301、计算机设备302和计算机设备303;其中,目标设备301可以是指用户打开并使用监控应用(如客户端-云监控助手)的设备,如:PC(Personal Computer,个人计算机)、PDA(平板电脑)、手机、可穿戴智能设备等等。目标设备往往配置有显示装置,显示装置也可为显示器、显示屏、触摸屏等等,触摸屏也可为触控屏、触控面板等等,显示装置可用来显示告警关联的分析结果等等。计算机设备302可以是目标设备301中的客户端(如云监控助手)的后台服务器,用于与目标设备301进行交互,以为目标设备301中的客户端提供计算和应用服务支持。在这种情况下,计算机设备302作为本申请实施例提及的监控对象,计算机设备302的各项指标以及突发事件的事件信息可发送给目标设备301,由目标设备301对这些信息进行显示,以实现通知用户查看故障。计算机设备303可以是指用于执行本申请实施例提供的数据分析方案的设备,该设备可以是服务器。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。目标设备与计算机设备,以及计算机设备与计算机设备之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
下面结合图3a所示的数据分析系统以及图3b所示的数据分析方案的大致流程来对数据分析方案进行较为简要的阐述,主要流程包括:
首先,监控对象(如计算机设备302)将指标的各个指标值,以及突发的事件的事件信息(如事件名称、事件发生时间等)上报至目标设备301。其中,指标的指标值按照一定时间序列的格式进行上报,例如,按照时间戳和指标值的格式进行上报时,某一指标的上报格式可参见表1:
表1
时间戳(timestamp) | 指标值(value) |
2020/11/24-10:00:00 | 98 |
2020/11/24-10:01:00 | 99 |
2020/11/24-10:02:00 | 95 |
... | ... |
2020/11/24-10:10:00 | 96 |
如表1所示,上报时间段为从2020年11月24日的10点0分至10点10分,上报的时间间隔为1分钟。
同理,事件的事件信息按照一定格式上报,主要是key-value的形式,例如,事件为ping不可达时,该事件的事件信息的上报形式可参见表2:
表2
关键字(key) | 数据(value) |
时间戳(timestamp) | 2020//11/24-10:00:00 |
标识(appid) | 123XXX56 |
(事件)content | Ping不可达 |
... | ... |
区域(region) | XX |
如表2所示,事件的事件信息可包括但不限于:事件的发生时间、事件名称、事件发生地点等等。
其次,目标设备301在展现页面3011中显示接收到的信息(如事件信息、指标的指标值组成的时间序列),如图3a所示,在展现页面3011中展现了XX指标的时间序列的示意图,在该时间序列中,存在某一时间段该指标的指标值小于指标阈值,表示在这一时间段内该指标为异常状态;展现页面3011中还包括目标时间段的选择输入框,在选择输入框内可输入用户想要分析的目标时间段;展现页面3011中还包括提交选项,当提交选项被触发时,目标设备301基于目标时间段生成告警分析请求,并将告警分析请求发送至计算机设备303,其中,告警分析请求携带目标时间段的时间信息。
其次,计算机设备303接收到目标设备301发送的监控对象的告警分析请求后,获取监控对象在目标时间段内的M个告警事件的告警数据(如指标的异常时间段、指标值,事件的事件名称等等),对告警数据进行预处理,以完善告警数据,为后续的联动分析做好数据准备;并对预处理之后的各个告警事件进行联动分析,得到分析结果;分析结果还可以经过汇总处理,以简笔化告警内容,有助于用户快速定位故障。
最后,计算机设备303将分析结果(或汇总处理后的告警通知消息、告警提示等)返回给目标设备301,以便于目标设备301通知用户告警事件的分析结果。通过上述描述的方式来发现告警事件之间的内在联系,有助于帮助用户更快的、更好地排查故障,维护监控对象的正常运行。
需要说明的是,(1)图3a所示数据分析系统中目标设备301和计算机设备302可以是同一设备,在这种实现方式中是将目标对象作为监控对象进行监控。(2)图3a所示数据分析系统中计算机设备302和计算机设备303可以是同一计算机设备,这种数据分析系统的示意图可参见图3c,图3c示出了本申请一个示例性实施例提供的另一种数据分析系统的架构示意图;在图3c中,将图3c所示的计算机设备302(即监控对象)和计算机设备303作为同一计算机设备。在这种实现方式中,监控对象可接收目标设备发送的告警分析请求,并根据告警分析请求从数据库304中获取在目标时间段内产生的M个告警事件的告警数据,并执行后续的联动分析等步骤。综上所述,本申请实施例对数据分析系统所包含的计算机设备的种类和数量,以及计算机设备的具体交互形式不作限定,在此进行说明。
下面结合附图4详细介绍本申请提出的数据分析方案。图4示出了本申请一个示例性实施例提供的一种数据分析方法的流程示意图。该数据分析方法可以由图3a所示系统的计算机设备303来执行,或由图3c所示系统的计算机设备302来执行。如图4所示,该数据分析方法可包括步骤S401-步骤S403,其中:
S401,接收目标设备发送的关于监控对象的告警分析请求。
正如前述图3a所描述的,目标设备可以接收监控对象上报的数据值以及事件的事件信息,并将指标对应的时间序列的序列图或事件的事件信息进行显示,以方便用户查看异常指标或异常事件;相应的,目标设备还可响应用户的输入操作生告警分析请求,告警分析请求中携带目标时间段的时间信息。
请参见图5,图5示出了本申请一个示例性实施例提供的一种指标的时间序列的示意图;在页面中展现了XX指标在时间段11:30-16:30之间的指标值,按照指标值产生时间的先后顺序将各个指标值连接起来,即形成了该指标的时间序列501;细看该指标的时间序列可知,在13:45-14:40之间的时间段502内,该指标的指标值明显小于指标阈值(如80),表示指标在时间段502内该指标处于异常状态。在上述情况下,用户可选择目标时间段503,目标设备响应用户操作基于目标时间段生成告警分析请求,并将告警分析请求发送至计算机设备,告警分析请求中携带目标时间段的时间信息,如目标时间段的首位时刻值、末位时刻值等;相应的,计算机设备接收目标设备发送的告警分析请求以执行后续步骤。
当然,目标设备也可以显示事件的事件信息,此时用户可输入目标时间段,该目标时间段包括事件的发生时间即可,表示对包含该事件的发生时间的目标时间段的所有告警事件进行检测,以排查故障。
S402,获取监控对象在目标时间段内产生的M个告警事件的告警数据。
不同告警类型的告警事件对应不同的告警数据。例如,告警事件的告警类型为指标告警类型,则该告警事件对应的告警数据可包括但不限于:告警事件对应的指标的指标值发生异常的时刻或时间段、该指标的指标值等;又如,告警事件的告警类型为事件告警类型,则该告警事件对应的告警数据可包括但不限于:该告警事件对应的事件的事件名称、事件发生时间、事件发生位置(位置ID)等等。在接收到目标设备发送的告警分析请求时,响应告警分析请求获取目标时间段内产生的M个告警事件的告警数据。其中,M个告警事件中可包括告警类型相同或不同的告警事件,如M个告警事件中包含i个属于指标告警类型的告警事件,以及包含M-i个属于事件告警类型的告警事件;i为大于或等于1且小于或等于M的正整数。
值得一提的是,计算机设备可从监控对象处获取M个告警事件的告警数据,或者计算机设备可从目标设备处获取M个告警事件的告警数据,等等,本申请实施例对具体如何获取告警数据不作限定。
S403,根据M个告警事件的告警数据对各个告警事件进行联动分析,并向目标设备发送分析结果。
正如步骤S402所描述的,M个告警事件可包含属于不同告警类型的告警事件,那么针对不同告警类型下告警数据之间的联动分析的方案也有所不同。下面分别对两种告警类型下的三种联动分析方式进行详细介绍,其中:
(1)对指标告警类型下不同指标的告警事件进行联动分析。例如,M个告警事件中包括指标告警类型下的第一告警事件和第二告警事件,且第一告警事件对应第一指标,第二告警事件对应第二指标;在这种实现方式中,分析结果可包括第一告警事件和第二告警事件之间的关联信息,关联信息可以是指第一告警事件与第二告警事件之间的关联性。其中,对指标告警类型下的第一告警事件和第二告警事件进行联动分析的过程可包括步骤s11-s12:
s11,获取监控对象在目标时间段产生的第一指标下的第一时间序列,并根据第一告警事件的告警数据所指示的异常时间,从第一时间序列中获取第一异常子序列。同时,获取监控对象在目标时间段产生的第二指标下的第二时间序列,并根据第二告警事件的告警数据所指示的异常时间,从第二时间序列中获取第二异常子序列。其中,第一时间序列包含了第一指标在目标时间段内产生的各个指标值,且各个指标值按照产生时间的先后顺序进行连接,第二时间序列包含了第二指标在目标时间段内产生的各个指标值,且各个指标值按照产生时间的先后顺序进行连接。告警数据所指示的异常时间可以是指从异常出现到异常结束的时间段。
下面结合附图6来对获取异常子序列进行说明,请参见图6,图6示出了本申请一个示例性实施例提供的一种获取异常子序列的示意图;如图6所示,假设指标的告警数据指示的异常时间为14:00-14:30;指标在目标时间段(从11:30到16:30)内的时间序列中存在异常的异常时间段为13:45-14:40;那么根据异常时间14:00-14:30可以从时间序列的异常时间段中获取到异常子序列,该异常子序列中只包含指标在异常时间14:00-14:30内产生的指标值。
s12,计算第一异常子序列和第二异常子序列之间的相似度,若计算得到的相似度大于相似度阈值,则生成用于指示第一告警事件和第二告警事件之间存在关联性的关联信息;否则,则生成用于指示第一告警事件和第二告警事件之间不存在关联性的关联信息。例如,假设相似度阈值为60%,现计算得到的第一异常子序列和第二异常子序列之间的相似度为65%,那么第一异常子序列和第二异常子序列之间的相似度65%大于相似度阈值60%,确定第一告警事件和第二告警事件之间存在关联性,那么生成用于指示第一告警事件和第二告警事件存在关联性的关联信息。
值得一提的是,计算第一异常子序列和第二异常子序列之间的相似度的方式可以包括多种。下面以第一异常子序列对应的时间长度和第二异常子序列对应的时间长度是否相等,来对计算第一异常子序列和第二异常子序列的相似度的方式进行说明。
在一种实现方式中,若第一异常子序列对应的时间长度和第二异常子序列对应的时间长度相等,其中,异常子序列的时间长度是指从该异常子序列的开始时刻到结束时刻之间的时间段长度,那么可采用如下计算公式来计算第一异常子序列和第二异常子序列之间的相似度:
其中,r为X、Y这两个待计算相似度的异常子序列(或称为变量)之间的相关系数,r的值介于-1到1之间;将待计算相似度的异常子序列作为样本,将异常子序列所包含的各个指标值看作样本值,则是Xi样本的标准分数,是Xi样本的标准分数及σX是Xi样本的样本标准差。
在另一种实现方式中,若第一异常子序列对应的时间长度和第二异常子序列对应的时间长度不相等,则可采用动态时间归整算法(Dynamic Time Warping,DTW)来对第一异常子序列和第二异常子序列的相似度进行计算。其中,动态时间归整算法是一种衡量两个时间序列(如两个异常子序列)之间的相似度的一种重要方法。下面结合图7来对采用动态时间归整算法来计算两个时间序列之间的相似度的主要原理进行介绍:先将两个待计算相似度的时间序列分布于同一坐标系中,再将两个时间序列之间相似的点采用虚线进行连接,最后计算相似点之间的距离的和,得到归整路径,基于归整路径计算得到两个时间序列之间的相似度。其中,计算归整路径距离的方式如下:
D(i,j)=Dist(i,j)+min[D(i-1,j),D(i,j-1),D(i-1,j-1)] 公式2
其中,i表示一条时间序列中的点的坐标,j表示另一条时间序列中的点的坐标。
如图7所示,上下两条实线代表两个时间序列,时间序列之间的虚线代表两个时间序列之间的相似的点;由于一个时间序列中的某一点可能与另一时间序列的多个点相似,所以根据相似点之间的距离可求得多个归整路径;再从多个归整路径中确定距离最短的归整路径来计算两个时间序列之间的相似度。例如,时间序列2中与时间序列1中的A点相似的点包括B点、C点和D点,可得到三条归整路径,每一归整路径包括一对相似点,如一条归整路径包括A点和B点,一条规则路径包括A点和C点。
综上,本申请实施例支持对时间长度相同或不相同的两个告警事件的异常子序列进行相似度分析,这扩大相似度计算的延展性,解决不同时间长度下的告警事件的联动分析问题,更深入的挖掘指标告警类型下告警事件之间的关联性。
需要说明的是,上述以分析指标告警类型下的两个指标的告警事件之间的关联信息的过程为例进行介绍,并不对本申请实施例产生限定;可以理解的是,在实际情况中可能存在两个及以上的指标告警类型的告警事件之间存在关联信息,本申请实施例同样适用于这种情况。基于此,采用上述方式对多个指标的告警事件进行分析得到的的分析结果可展现为图8所示,图8示出了本申请一个示例性实施例提供的一种多个指标告警类型下告警事件之间的分析结果的示意图;其中,指标告警类型下的不同指标的告警事件之间的分析结果可包括:各个指标的指标标识(如指标名称(TYPE)、指标编号等)、指标的告警事件的来源(SOURCE,如指标的指标值的存储地址等)、指标对应的时间序列以及时间序列中标注的异常时间段的示意图(PREVIEW)、指标的告警事件与指标的告警事件之间的相似度(CORRELATIONS,或称为相似性度量,表示两个告警事件之间的相似程度的一种度量)等信息;如图8以指标名称(TYPE)、指标的告警事件的来源(SOURCE)、指标对应的时间序列以及时间序列中标注的异常时间段的示意图(PREVIEW)、指标的告警事件与指标的告警事件之间的相似度(CORRELATIONS)为例进行展示。
另外,各个指标信息可按照指标的告警事件之间的相似度从高至低对多个指标的信息进行排列显示。承接图8,当前指标为第一指标,分别计算第一指标的告警事件与指标1的告警事件、指标2的告警事件、指标3的告警事件、指标4的告警事件、指标5的告警事件之间的相似度,得到第一指标的告警事件与指标1的告警事件之间的相似度为2度量,第一指标的告警事件与指标2的告警事件之间的相似度为2度量,第一指标的告警事件与指标3的告警事件之间的相似度为2度量,第一指标的告警事件与指标4的告警事件之间的相似度为5度量,第一指标的告警事件与指标5的告警事件之间的相似度为5度量;则分析结果中指标1、指标2、指标3、指标4及指标5排序显示方式为:指标1→指标2→指标3→指标4→指标5。这种按照相似度进行排序显示的方式,方便用户一眼就能看出各个指标之间的相似度情况,便于对指标的相关信息的查阅。
(2)对指标告警类型下的告警事件和事件告警类型下的告警事件进行联动分析。例如,M个告警事件中包括指标告警类型下的第一告警事件和事件告警类型下的第三告警事件,此时分析结果包括第一告警事件和第三告警事件之间的关联信息;则对不同告警类型下的告警事件进行联动分析的过程可包括步骤s21-s23:
s21,获取监控对象在目标时间段产生的第一指标下的第一时间序列,并根据第三告警事件的告警数据所指示的事件发生时间,确定第三告警事件在第一时间序列中的映射位置。上述这种映射关系可参见图9a,图9a示出了本申请一个示例性实施例提供的一种事件发生时间在时间序列中的映射位置的示意图;如图9a所示,假设第三告警事件的告警数据指示事件发生时间为12:30,第一指标的第一时间序列包含指标在目标时间段11:30-16:30内产生的指标值;那么将第三告警事件的事件发生时间映射在第一时间序列中的映射位置为位置A,位置A对应的时刻为12:30。
s22,获取窗口长度k,k为正整数,并从第一时间序列中基于映射位置截取第一参考子序列Γrear,k(S,ei)和第二参考子序列Γfront,k(S,ei),以及从第一时间序列中抽样截取第三参考子序列theta。其中,窗口长度k是用来从第一时间序列中截取子序列的,并将采用窗口长度k截取的子序列用来进行告警事件之间的相似度分析;窗口长度k可以由用户设定的,这能够满足用户分析需求,分析得到用户需求的分析结果。其中,采用窗口长度k截取第一参考子序列和第二参考子序列的方式可包括:从第一时间序列中的映射位置往后截取窗口长度k的一段子序列作为第一参考子序列;从第一时间序列中的映射位置往前截取窗口长度k的一段子序列作为第二参考子序列。此处的“往前”、“往后”可以是指以时间轴801的映射位置901为中心点,沿着时间轴901往前或往后。再请参加图9a,假设窗口长度k=30分钟,则以第三告警事件的事件发生时间为起始点,沿着时间轴901往后的方向截取窗口长度30分钟得到的序列为第一参考子序列;同理,以第三告警事件的事件发生时间为起始点,沿着时间轴901往前的方向截取窗口长度30分钟得到的序列为第二参考子序列。
s23,计算第一参考子序列和第三参考子序列之间的第一置信度,以及第二参考子序列和第三参考子序列之间的第二置信度;若第一置信度和第二置信度均小于置信度阈值,则生成用于指示第一告警事件和第三告警事件之间不存在关联性的关联信息;否则,则生成用于指示第一告警事件和第三告警事件之间存在关联性的关联信息。其中,第一参考子序列和第三参考子序列之间的第一置信度用于反映第一参考子序列与第三参考序列之间的相似程度;若第一参考子序列与第三参考子序列之间的置信度大于置信度阈值,则第一参考子序列与第三参考子序列之间的相似程度较高,换句话说,第一参考子序列所包含的指标值与第三参考子序列所包含的指标值可能相同或相近。由于第一参考子序列是第三告警事件在第一告警事件的时间序列中的映射位置之后的一段子序列,第二参考子序列是第三告警事件在第一告警事件的时间序列中的映射位置之前的一段子序列,那么若第一置信度和第二置信度均小于置信度阈值,表明在第三告警事件发生前后,第一指标均未出现异常,即第一告警事件和第三告警事件之间不存在关联性。
其中,可采用t-检验((Student's t test),即一种假设检验方法)来对第一参考子序列和第三参考子序列,以及第二参考子序列和第三参考子序列进行相似性检验;下面以第一参考子序列和第三参考子序列的相似性检验为例进行说明。采用t-检验可用于判定在事件发生前后,指标的指标值是否发生显著性差异,若发生显著性差异,则说明该事件的发生与该指标的异常存在关联性,反之,说明该事件的发生与该指标的异常不存在关联性。t-检验的计算公式如下:
其中,tscore为检验分数,当将第一参考子序列和第三参考子序列带入至上述公式中时,可将计算得到检验分数作为第一参考子序列和第三参考子序列之间的第一置信度;同理,将第二参考子序列和第三参考子序列带入至上述公式中时,可将计算得到检验分数作为第二参考子序列和第三参考子序列之间的第二置信度。
综上所述,对第一告警事件和第三告警事件执行上述描述的联动分析,可得到的分析结果包括:若第一参考子序列与第三参考子序列不具有显著性差异(即第一置信度和第二置信度均小于置信度阈值),且第二参考子序列与第三参考子序列不具有显著性差异,则第一告警事件与第三告警事件之间不具有关联性;若第一参考子序列与第三参考子序列具有显示性差异(即第一置信度大于置信度阈值,或第二置信度大于置信度阈值),或者,第二参考子序列与第三参考子序列具有显示性差异(即第二置信度大于置信度阈值),则第一告警事件与第三告警事件之间具有关联性。
需要说明的是,通过计算第一参考子序列和第二参考子序列分别与第三参考子序列之间的置信度,可将计算得到的置信度用来判断第一告警事件和第二告警事件之间是否具有关联性。而计算置信度的方式除上述t-检验以外,还可以采用最邻近算法(如KNN(K-Nearest Neighbor,邻近算法)等)来计算置信度,本申请实施例对此不作限定。
另外,在确定第一告警事件与第三告警事件之间存在关联性的基础之上,还可以分析第一告警事件和第三告警事件之间的时序性和单调性(即关联方向)。
在一种实现方式中,若第一告警事件和第三告警事件之间存在关联性,则分析结果还包括第一告警事件和第三告警事件之间的时序性。时序性是指告警事件发生的先后顺序;如第一告警事件和第三告警事件的时序性为:第一告警事件发生后伴随第三告警事件发生,或者,第三告警事件发生后伴随第一告警事件发生。第一告警事件和第三告警事件之间的时序性的判定方法为:若第一置信度大于置信度阈值,则生成用于指示因产生第一告警事件而导致产生第三告警事件的时序信息(即第一告警事件和第三告警事件之间的时序性为:第一告警事件发生后伴随发生第三告警事件);若第二置信度大于置信度阈值,则生成用于指示因产生第三告警事件而导致产生第一告警事件的时序信息(即第一告警事件和第三告警事件之间的时序性为:第三告警事件发生后伴随发生第一告警事件)。
在另一种实现方式中,若第一告警事件和第三告警事件之间存在关联性,则分析结果还包括第一告警事件和第三告警事件之间的关联方向。关联方向也可称为单调性,是指事件告警类型的告警事件发生导致指标告警类型的告警事件的时间序列的走向为上升还是下降;例如,某一事件的发生,导致某一指标的指标值增加,多个指标值连接起来的曲线呈现上升趋势。第一告警事件和第三告警事件之间的关联方向的判定方法为:计算第一参考子序列和第二参考子序列之间的序列相似度;若序列相似度大于目标阈值,则生成用于指示第一告警事件和第三告警事件成负相关(即时间序列呈现下降走向)的关联方向;若序列相似度小于目标阈值,则生成用于指示第一告警事件和第三告警事件成正相关(即时间序列呈现上升走向)的关联方向。其中,这里的序列相似度是将第一参考子序列和第二参考子序列代入至公式3得到的,即为第一参考子序列和第二参考子序列之间的t分数tscore,目标阈值为设定的显著性水平α;换句话说,当tscore>α,则第一告警事件与第三告警事件之间为负相关的关联方向,即第三告警事件的发生会引起第一告警事件的时间序列呈现下降的走向;当tscore<α,则第一告警事件与第三告警事件之间为正相关的关联方向,即第三告警事件的发生会引起第一告警事件的时间序列呈现上升的走向。
基于上述分析的指标告警类型下的告警事件与事件告警类型下的告警事件之间的关联性、时序性和单调性,下面以对第一指标的告警事件分别与事件1对应的告警事件、事件2对应的告警事件以及事件3对应的告警事件进行联动分析为例,给出指标告警类型下的告警事件与事件告警类型下的告警事件之间的关联性、时序性和单调性的关系,请参见表3:
表3
序号 | 指标 | 事件 | 关联性 | 时序性 | 单调性 |
1 | 第一指标 | 事件1 | 有 | S→E | + |
2 | 第一指标 | 事件2 | 有 | E→S | - |
3 | 第一指标 | 事件3 | 无 | 无 | 无 |
表3中的S代表指标告警类型下的告警事件,E代表事件告警类型下的告警事件,“+”代表正相关、“-”代表负相关。如表3所示,第一指标的告警事件与事件1的告警事件之间存在关联性,且第一指标的告警事件与事件1的告警事件的时序性为:第一指标的告警事件发生后伴随发生事件1的告警事件,且第一指标的告警事件与事件1的告警事件的关联方向为:事件1的告警事件的发生,造成第一指标的指标值组成的时间序列呈现上升的趋势。再参见表3,第一指标的告警事件与事件1的告警事件之间不存在关联性,那么第一指标的告警事件与事件1的告警事件之间也不存在时序性和单调性。
下面结合图9b,以第一告警事件为CPU性能指标,第三告警事件分别为磁盘密集型程序(disk intensive program)、CPU密集型程序(CPU intensive program)为例,给出第一告警事件和第三告警事件之间的关联信息,包括关联性、时序性和关联方向。图9b示出了本申请一个示例性实施例提供的一种指标告警类型下的告警事件和事件告警类型下的告警事件之间的联动分析的示意图;如图9b所示,CPU性能指标与CPU密集型程序之间的关联信息体现为:①在关联性上,每次CPU密集型程序启动,CPU性能指标的指标值明显增加,则CPU密集型程序与CPU性能指标之间具有关联性;②在时序性上,每次CPU密集型程序启动后伴随CPU性能指标的变化;③在关联方向上,CPU密集型程序启动造成CPU性能指标的指标值增加。同理,而每次磁盘密集型程序启动,CPU性能指标的指标值无明显变化;基于此,磁盘密集型程序与CPU性能指标之间的关联信息体现为:每次磁盘密集型程序启动,CPU性能指标的指标值无明显变化,则CPU密集型程序与CPU性能指标之间不具有关联性,也不具有时序性和关联方向。
综上,通过对指标告警类型的告警事件与事件告警类型下的告警事件之间的关联性、时序性、及关联方向的挖掘,可更深入的发现指标告警类型的告警事件与事件告警类型下的告警事件之间的内在联系,帮助用户更好地排查故障产生的根本原因。
(3)对事件告警类型下不同事件的告警事件进行联动分析。例如,M个告警事件中包括事件告警类型下的N个告警事件,N∈[3,M];N个告警事件至少包括第三告警事件和第四告警事件,则分析结果包括第三告警事件和第四告警事件之间的关联信息;则对事件告警类型下不同的告警事件进行联动分析的过程可包括步骤s31-s33:
s31,按照N个告警事件的事件发生顺序对N个告警事件进行排列,得到事件序列。请参加图10a,图10a示出了本申请一个示例性实施例提供的一种事件序列的示意图;如图10a所示,假设N个告警事件分别为:告警事件1、告警事件2、告警事件3及告警事件4,按照发生时间先后顺序进行排序的序列为:告警事件1→告警事件2→告警事件3→告警事件4→告警事件1→告警事件3→告警事件2→告警事件4……。
s32,采用挖掘窗口在事件序列上进行滑动处理,得到多个事务序列;一个事务序列中包含一个或多个告警事件。其中,挖掘窗口可以是指一个固定长度的、用于分割事件序列的窗口;例如,挖掘窗口的长度为j,当使用挖掘窗口在事件序列中滑动时,可将位于挖掘窗口内的多个告警事件按序排列得到一个事务序列。承接图10a,在事件序列的时间轴上存在一个挖掘窗口1001,当在事件序列中滑动挖掘窗口1001时,可得到多个事务序列,每一事务序列包含一个或多个告警事件;如事务序列1包含告警事件1→告警事件2→告警事件3,事务序列2包含告警事件2→告警事件3→告警事件4,事务序列3包含告警事件3→告警事件4→告警事件1,事务序列4包含告警事件4→告警事件1→告警事件3,等等。需要说明的是,常常采用关联分析算法(Association Analysis)实现在事件序列中挖掘多个事务序列,本申请实施例对挖掘事务序列的具体实现方式不作限定。
s33,从多个事务序列中确定出第一事务序列和第二事务序列,第一事务序列是指包括第三告警事件的事务序列,第三告警事件为用户指定的、需要分析的告警事件,第二事务序列是指包括第三告警事件和第四告警事件的事务序列,第四告警事件为需要与第三告警事件进行联动分析的告警事件;以及,计算第二事务序列的数量和第一事务序列的数量之间的比值,若计算得到的比值大于比值阈值,则生成用于指示第三告警事件和第四告警事件之间存在关联性的关联信息;否则,则生成用于指示第三告警事件和第四告警事件之间不存在关联性的关联信息。其中,比值阈值可以是由用户来设置的,这方便用户更加灵活的查看告警事件和告警事件之间的相似度。上述分析第三告警事件和第四告警事件之间的关联信息的方式,其实质是采用关联规则来计算第三告警事件和第四告警事件之间的置信度,并根据置信度来判断第三告警事件和第四告警事件之间的关联信息。此处的置信度是针对一条关联规则(或称事务序列)X:rulem→Y:rulen而言的,换句话说,此处的置信度代表了因为X:rulem而导致Y:rulen发生的可能概率;若置信度大于置信度阈值,则因为X:rulem而导致Y:rulen发生的概率较大,反之,若置信度大于置信度阈值,则因为X:rulem而导致Y:rulen发生的概率较小。其中,X:rulem或Y:rulen表示一个告警事件,X:rulem→Y:rulen代表了一条事务序列,该事务序列指示了告警事件X:rulem的发生时间早于告警Y:rulen的发生时间。其中,计算第三告警事件和第四告警事件之间的置信度的计算公式为:
将该计算公式与上述描述内容相对应可知,S_count(X:rulem→Y:rulen)代表第二事务序列的数量,σ(X:rulem)代表第一事务序列的数量,X:rulem代表第三告警事件,Y:rulen代表第四告警事件。
值得一提的,在统计第二事务序列时,根据是否考虑第三告警事件与第四告警事件之间的时序性,可得到两类第二事务序列,一类第二事务序列中第三告警事件的发生时间早于第四告警事件,一类第二事务序列中不区分第三告警事件的发生时间与第四告警事件的发生时间的早晚顺序。承接图10a来对上述过程进行描述,如图10a所示,假设第三告警事件为告警事件1,第四告警事件为告警事件3,假设比值阈值为60%,其中:
在一种实现方式中,考虑告警事件1与告警事件2的发生时间的时序性,且假设告警事件1与告警事件2的时序性为:告警事件1的发生时间早于告警事件2的发生时间;那么第一事务序列包括事务序列1、事务序列3及事务序列4,则第一事务序列的数量为3,第二事务序列为事务序列1及事务序列4,在事务序列1和事务序列4中,告警事件1的发生时间均早于告警事件2的发生时间;基于此,第三告警事件和第四告警事件之间的置信度为2/3≈0.33(66.6%),该置信度大于比值阈值,则确定第三告警事件与第四告警事件之间存在关联性,且由于告警事件1的发生时间均早于告警事件2的发生时间,那么可以确定告警事件1与告警事件2的时序性为:告警事件1早于告警事件2发生。
在另一种实现方式中,不考虑告警事件1与告警事件2的发生时间的时序性,那么第一事务序列包括事务序列1、事务序列3及事务序列4,则第一事务序列的数量为3,第二事务序列为事务序列1、事务序列3及事务序列4,在事务序列1、事务序列3及事务序列4中均包含第三告警事件和第四告警事件;基于此,第三告警事件和第四告警事件之间的置信度为100%,该置信度大于比值阈值,则确定第三告警事件与第四告警事件之间存在关联性,且在三个第二事务序列中,事务序列1和事务序列4中的第三告警事件的发生时间均早于第四告警事件的发生时间,只有事务序列3中第三告警事件的发生时间晚于第四告警事件的发生时间,那么可以确定告警事件1与告警事件2的时序性为:告警事件1早于告警事件2发生。
举例来说,对告警事件1、告警事件2、告警事件3以及告警事件4执行上述的联动分析处理,可得到一种示例性的分析结果如表4所示:
表4
序号 | 第三告警事件 | 第四告警事件 | 置信度 | 关联性 |
1 | 告警事件1 | 告警事件2 | 0.9 | 有 |
2 | 告警事件2 | 告警事件3 | 0.8 | 有 |
3 | 告警事件3 | 告警事件4 | 0.5 | 无 |
如表4所示,假设比值阈值为0.6(或60%),当第三告警事件为告警事件1,第四告警事件为告警事件2时,告警事件1和告警事件2之间的置信度为0.9,大于比值阈值0.6,则确定告警事件1和告警事件2之间具有关联性。同理,当第三告警事件为告警事件3,第四告警事件为告警事件4时,告警事件3和告警事件4之间的置信度为0.5,小于比值阈值,则确定告警事件3和告警事件4之间不具有关联性。
在实际应用场景中,用户可选择目标时间段以及需要联动分析的指标(如第一指标),在这种情况下,可将用户选择的第一指标的告警事件与目标时间段内的多个告警事件进行联动分析,得到第一指标的告警事件与目标时间段内的多个告警事件之间的分析结果。或者,用户可选择目标时间段以及需要联动分析的事件,在这种情况下,可将用户选择的事件的告警事件与目标时间段内的多个告警事件进行联动分析,得到事件的告警事件与目标时间段内的多个告警事件之间的分析结果。又或者,用户可以只选择目标时间段,在这种情况下,可对用户选择的目标时间段内的多个告警事件进行联动分析,得到多个分析结果。
下面以用户只选择目标时间段为例,对分析结果的可能情况进行说明:(1)如果目标时间段内的多个告警事件的告警类型均为指标告警类型,则分析结果包括指标的告警事件与指标的告警事件之间的分析结果。(2)如果目标时间段内的多个告警事件的告警类型均为事件告警类型,则分析结果只包括事件告警类型下不同事件的告警事件之间的分析结果。(3)如果目标时间段内的多个告警事件的告警类型为指标告警类型和事件告警类型,则分析结果可包括:指标告警类型下的告警事件之间的分析结果、指标的告警事件与事件的告警事件之间的分析结果、事件告警类型下的告警事件之间的分析结果。举例来说,假设用户指定需要联动分析的指标为第一指标,且目标时间段内包含属于指标告警类型和事件告警类型的多个告警事件,则分析结果可参见图10b。如图10b所示,在分析结果的展示页面101中显示有用户指定的第一指标的时间序列,以及,展示页面101中还显示有基于第一指标的告警事件对目标时间段内的多个告警事件的联动分析的分析结果,分析结果包括:①第一指标的告警事件与指标告警类型下多个指标的告警事件之间的分析结果103(具体可参见图8所示实施例的相关描述,在此不作赘述);②事件告警类型下不同事件的告警事件之间的分析结果104(具体可参见表4所示实施例的相关描述,在此不作赘述);③第一指标的告警事件与事件告警类型下多个告警事件之间的分析结果105(具体可参见表3所示实施例的相关描述,在此不作赘述)。
综上所述,本申请实施例能够对目标时间段的M个告警事件进行联动分析,得到分析结果。其中,M个告警事件的告警类型(即指标告警类型和事件告警类型)可以不同或相同;这样分析结果可以包括不同告警类型下的不同告警事件之间的关联信息(如指标告警类型下指标对应的告警事件和事件告警类型下事件对应的告警事件之间的关联信息),分析结果还可以包括同一告警类型下不同的告警事件之间的关联信息(如指标告警类型下不同指标对应的告警事件之间的关联性)。通过上述对不同告警事件的联动分析,可挖掘告警事件之间的内在联系,辅助发现告警的本质原因,有助于快速地对故障进行排查。
图11示出了本申请一个示例性实施例提供的另一种数据分析方法的流程示意图。该数据分析方案可以由图3a所示系统的计算机设备303来执行,或由图3b所示系统的计算机设备302来执行。如图11所示,该数据分析方法可包括步骤S1101-步骤S1106,其中:
S1101,接收目标设备发送的关于监控对象的告警分析请求。
S1102,获取监控对象在目标时间段内产生的M个告警事件的告警数据。
S1103,检测告警数据是否存在数据缺失。
若告警数据存在数据缺失,则执行步骤S1104;否则,执行步骤S1105。
S1104,若告警数据存在数据缺失,则对告警数据进行数据补齐处理。
步骤S1103-S1104中,由于数据上报、数据存储等原因,往往导致告警数据出现缺失数据的情况,基于此发现,本申请实施例支持对获取到的告警数据进行预处理(或称为缺失值填充处理、数据补齐处理),以更新告警数据;并基于更新后的告警数据进行后续操作;这种对告警数据进行预处理的方式,可提高告警数据的质量,进而提升联动分析的分析结果的准确性。
需要说明的是,告警事件的告警类型不同,则对告警事件的告警数据进行预处理的方式也不相同。下面分别给出对指标告警类型下的告警事件的告警数据进行预处理,以及对事件告警类型下的告警事件的告警数据进行预处理的方式,其中:
(1)对指标告警类型下的告警事件的告警数据进行预处理。正如前述所描述的,指标告警类型下的告警数据展现形式为时间序列;基于此,结合附图12来对指标告警类型下的告警事件的告警数据进行预处理的原理进行说明,图12示出了本申请一个示例性实施例提供的一种预处理的示意图,如图12所示,假设用户选定的目标时间段为11:30-18:00,表示用户希望对目标时间段内的告警事件进行联动分析;根据时间序列中数据缺失位置的不同,对缺失数据进行填充的操作可包括以下几种情况:
1)参见图12中的时间序列1,时间序列1的起始位置的数据存在缺失的情况,则可以采用在目标时间段内第一次采集到的指标值来填充起始位置的数据。其中,时间序列的起始位置可形象地称为头部位置,头部位置可以是指起点为目标时间段的起点,终点为目标时间段内的任意时刻所组成的时间段。再请参见图12,假设在目标时间段内第一次采集到的指标值为98,则可将时间序列1的头部位置的数据填充为98,以实现对头部位置数据的补齐处理。
2)参见图12中的时间序列2,时间序列2的中间位置的数据存在缺失的情况,则可采用如下任一种方式对其进行数据填充:默认值填充、众数填充、平均值填充、线性插值等等。其中,默认值填充可以是指采用预先设定的数值作为中间位置的数据进行填充;众数填充可以是指采用时间序列2中出现次数最多的指标值作为中间位置的数据进行填充;平均值填充可以是指对时间序列2中所有指标值进行平均值计算,得到平均值,并将平均值作为中间位置的数据进行填充;线性插值是指采用插值函数对中间位置的数据进行填充;本申请实施例对具体采用哪种方式来进行缺失值填充不作限定。需要说明的是,上述描述的时间序列的中间位置可以是指起点为目标时间段的起点之后的任一时刻点,终点为中间位置的起点之后、且目标时间段的终点之前的任一时刻点所组成的时间段。
3)参加图12中的时间序列3,时间序列3的结束位置的数据存在缺失的情况,则可以采用如下几种方式来对结束位置的数据进行填充:在目标时间段内最后一次采集到的指标值来填充结束位置的数据,例如,在目标时间段内最后一次采集到的数据的数值为96,则将96作为结束位置的数据进行填充;默认值填充,是指采用预先设定的数值作为结束位置的数据进行填充;保留空位,即不对结束位置的数据进行补齐,以提醒用户当前部分数据值存在缺失情况;等等。其中,时间序列的结束位置可形象称为尾部位置,尾部位置可以是指起点为目标时间段的起点之后的任意时刻点,终点为目标时间段的终点所组成的时间段。
通过上述过程,可对指标告警类型下的告警事件的告警数据进行缺失值填充的处理,能够提高后续处理联动分析的分析结果的准确性。
(2)对事件告警类型下的告警事件的告警数据进行预处理。本申请实施例提供的对事件告警类型下的告警事件的告警数据的缺失值填充的方式包括:检测告警数据中缺失数据的等级;若缺失数据的等级大于等级阈值,则将配置数据作为缺失数据,或者,删除该告警事件以便于后续重新接收该告警事件的告警数据,或者,将该告警事件归为默认类事件进行后续处理;若缺失数据的等级小于或等于等级阈值,则对缺失数据不做处理。其中,缺失数据的等级表明了数据的重要程度;缺失数据的等级越高,表示这部分数据越重要。例如,告警事件的告警数据中的时间戳用于生成告警数据的数字签名,是较为重要的告警数据,如果时间戳缺失,则可将该告警事件归为默认类事件进行处理,或者,直接删除该告警事件以便于后续重新接收该告警事件的完整的告警数据。基于此,对事件告警类型下的告警事件的告警数据进行缺失值填充处理,可完善告警数据,提高后续处理联动分析的分析结果的准确性。
S1105,根据M个告警事件的告警数据对各个告警事件进行联动分析,得到分析结果。
需要说明的是,步骤S1101-S1102的具体实施过程可参见图4所示实施例中步骤S401-S402所示的具体实施过程的相关描述,步骤S1105的具体实施过程可参见图4所示实施例中的步骤S403所示的具体实施过程的相关描述,在此不作赘述。
S1106,对分析结果进行汇总处理,并向目标设备发送基于处理结果生成的告警通知消息。
基于步骤S1101-S1105,可得到告警事件之间的联动分析的分析结果,本申请实施例支持对分析结果进行汇总处理,其中,不同告警类型的告警事件的分析结果所采用的汇总处理方式有所不同。例如,若分析结果中包括指标告警类型下的不同指标对应的告警事件之间的关联信息,则对不同指标对应的告警事件进行告警收敛处理或告警分级处理,并向目标设备发送基于处理结果生成的告警通知消息。所谓告警收敛处理可以是指将多个关联信息合并处理;所谓告警分级处理可以是指按照紧急程度或重要程度将各个关联信息分为不同层级,并输出按照层级排列的多个告警通知消息,或按照层级的高低顺序依次输出告警通知消息。又如,若分析结果中包括事件告警类型下的各个告警事件之间的关联信息,则根据事件告警类型下的各个告警事件的事件信息生成告警提示,并向目标设备发送告警提示,告警提示包括以下至少一项:告警通知消息或者告警摘要;其中,告警通知消息是将多个告警事件的事件信息进行合并生成的,告警摘要是提取各个告警事件的关键字(或词)组成的告警提示。通过对分析结果的汇总处理,能够将冗长的、复杂的分析结果汇总为简短的、间接的告警通知消息,有助于辅助用户发现告警事件之间联系,挖掘告警事件的内在联系,并有助于对未来可能发生的异常风险的及时规避。
综上,本申请实施例能够对获取到的告警数据进行预处理,以完善告警数据,这有助于提高后续联动分析的分析结果的准确性;另外,还支持对联动分析的分析结果进行汇总处理,能够将冗长的、复杂的分析结果汇总为简短的、间接的告警通知消息,有助于辅助用户发现告警事件之间联系,挖掘告警事件的内在联系,并有助于对未来可能发生的异常风险的及时规避。
上述详细阐述了本申请实施例的数据分析方法,为了便于更好地实施本申请实施例的上述方案,相应地,下面提供了本申请实施例的装置。
图13示出了本申请一个示例性实施例提供的一种数据分析装置的结构示意图;该数据分析装置可以用于是运行于终端中的一个计算机程序(包括程序代码),例如该数据分析装置可以是终端中的监控类客户端(如云监控助手等);该数据分析装置可以用于执行图4、图11所示的方法实施例中的部分或全部步骤。请参见图13,该数据分析装置包括如下单元:
接收单元1301,用于接收目标设备发送的关于监控对象的告警分析请求,告警分析请求携带目标时间段的时间信息;
接收单元1301,用于获取监控对象在目标时间段内产生的M个告警事件的告警数据,任一告警事件的告警类型属于指标告警类型或者事件告警类型;其中,M为大于1的正整数;
处理单元1302,用于根据M个告警事件的告警数据对各个告警事件进行联动分析,并向目标设备发送分析结果;分析结果包括以下至少一项:指标告警类型下的不同指标对应的告警事件之间的关联信息,事件告警类型下的各个告警事件之间的关联信息,及不同告警类型下的告警事件之间的关联信息。
在一种实现方式中,M个告警事件中包括指标告警类型下的第一告警事件和第二告警事件,且第一告警事件对应第一指标,第二告警事件对应第二指标;则分析结果包括第一告警事件和第二告警事件之间的关联信息;处理单元1302,具体用于:
获取监控对象在目标时间段产生的第一指标下的第一时间序列,并根据第一告警事件的告警数据所指示的异常时间,从第一时间序列中获取第一异常子序列;
获取监控对象在目标时间段产生的第二指标下的第二时间序列,并根据第二告警事件的告警数据所指示的异常时间,从第二时间序列中获取第二异常子序列;
计算第一异常子序列和第二异常子序列之间的相似度,若计算得到的相似度大于相似度阈值,则生成用于指示第一告警事件和第二告警事件之间存在关联性的关联信息;否则,则生成用于指示第一告警事件和第二告警事件之间不存在关联性的关联信息。
在一种实现方式中,M个告警事件中包括指标告警类型下的第一告警事件和事件告警类型下的第三告警事件;则分析结果包括第一告警事件和第三告警事件之间的关联信息;处理单元1302,具体用于:
获取监控对象在目标时间段产生的第一指标下的第一时间序列,并根据第三告警事件的告警数据所指示的事件发生时间,确定第三告警事件在第一时间序列中的映射位置;
从第一时间序列中基于映射位置往后截取第一参考子序列,并基于映射位置往前截取第二参考子序列,以及从第一时间序列中抽样截取第三参考子序列;
计算第一参考子序列和第三参考子序列之间的第一置信度,以及第二参考子序列和第三参考子序列之间的第二置信度;
若第一置信度和第二置信度均小于置信度阈值,则生成用于指示第一告警事件和第三告警事件之间不存在关联性的关联信息;否则,则生成用于指示第一告警事件和第三告警事件之间存在关联性的关联信息。
在一种实现方式中,若第一告警事件和第三告警事件之间存在关联性,则分析结果还包括:第一告警事件和第三告警事件之间的时序信息;处理单元1302,还用于:
若第一置信度大于置信度阈值,则生成用于指示因产生第一告警事件而导致产生第三告警事件的时序信息;
若第二置信度大于置信度阈值,则生成用于指示因产生第三告警事件而导致产生第一告警事件的时序信息。
在一种实现方式中,若第一告警事件和第三告警事件之间存在关联性,则分析结果还包括:第一告警事件和第三告警事件之间的关联方向;处理单元1302,还用于:
计算第一参考子序列和第二参考子序列之间的序列相似度;
若序列相似度大于目标阈值,则生成用于指示第一告警事件和第三告警事件成负相关的关联方向;
若序列相似度小于目标阈值,则生成用于指示第一告警事件和第三告警事件成正相关的关联方向。
在一种实现方式中,M个告警事件中包括事件告警类型下的N个告警事件,N∈[3,M];N个告警事件至少包括第三告警事件和第四告警事件,则分析结果包括第三告警事件和第四告警事件之间的关联信息;处理单元1302,具体用于:
按照N个告警事件的事件发生顺序对N个告警事件进行排列,得到事件序列;
采用挖掘窗口在事件序列上进行滑动处理,得到多个事务序列;一个事务序列中包括一个或多个告警事件;
从多个事务序列中确定出第一事务序列和第二事务序列,第一事务序列是指包括第三告警事件的事务序列,第二事务序列是指包括第三告警事件和第四告警事件的事务序列;
计算第二事务序列的数量和第一事务序列的数量之间的比值,若计算得到的比值大于比值阈值,则生成用于指示第三告警事件和第四告警事件之间存在关联性的关联信息;否则,则生成用于指示第三告警事件和第四告警事件之间不存在关联性的关联信息。
在一种实现方式中,处理单元1302,还用于:
若分析结果中包括指标告警类型下的不同指标对应的告警事件之间的关联信息,则对不同指标对应的告警事件进行告警收敛处理或告警分级处理,并向目标设备发送基于处理结果生成的告警通知消息;
若分析结果中包括事件告警类型下的各个告警事件之间的关联信息,则根据事件告警类型下的各个告警事件的事件信息生成告警提示,并向目标设备发送告警提示,告警提示包括以下至少一项:告警通知消息或者告警摘要。
根据本申请的一个实施例,图13所示的数据分析装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,该数据分析装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图4、图11所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图13中所示的数据分析装置,以及来实现本申请实施例的数据分析方法。计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本申请实施例中,接收单元1301可以接收告警分析请求,告警分析请求中携带目标时间段;接收单元1301还接收目标时间段内的M个告警事件的告警数据;处理单元1302能够对目标时间段的M个告警事件进行联动分析,得到分析结果。其中,M个告警事件的告警类型(即指标告警类型和事件告警类型)可以不同或相同;这样分析结果可以包括不同告警类型下的不同告警事件之间的关联信息(如指标告警类型下指标对应的告警事件和事件告警类型下事件对应的告警事件之间的关联信息),分析结果还可以包括同一告警类型下不同的告警事件之间的关联信息(如指标告警类型下不同指标对应的告警事件之间的关联性)。通过上述对不同告警事件的联动分析,可挖掘告警事件之间的内在联系,辅助发现告警的本质原因,有助于快速地对故障进行排查。
图14示出了本申请一个示例性实施例提供的一种数据分析设备的结构示意图。请参见图14,该数据分析设备,包括处理器1401、通信接口1402以及计算机可读存储介质1403。其中,处理器1401、通信接口1402以及计算机可读存储介质1403可通过总线或者其它方式连接。其中,通信接口1402用于接收和发送数据。计算机可读存储介质1403可以存储在数据分析设备的存储器中,计算机可读存储介质1403用于存储计算机程序,计算机程序包括程序指令,处理器1401用于执行计算机可读存储介质1403存储的程序指令。处理器1401(或称CPU(Central Processing Unit,中央处理器))是数据分析设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能。
本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是数据分析设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括数据分析设备中的内置存储介质,当然也可以包括数据分析设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了数据分析设备的处理系统。并且,在该存储空间中还存放了适于被处理器1401加载并执行的一条或多条的指令,这些指令可以是一个或多个的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器的计算机可读存储介质。
在一个实施例中,该数据分析设备可以是前述实施例提到的计算机设备;该计算机可读存储介质中存储有一条或多条指令;由处理器1401加载并执行计算机可读存储介质中存放的一条或多条指令,以实现上述数据分析方法实施例中的相应步骤;具体实现中,计算机可读存储介质中的一条或多条指令由处理器1401加载并执行如下步骤:
接收目标设备发送的关于监控对象的告警分析请求,告警分析请求携带目标时间段的时间信息;
获取监控对象在目标时间段内产生的M个告警事件的告警数据,任一告警事件的告警类型属于指标告警类型或者事件告警类型;其中,M为大于1的正整数;
根据M个告警事件的告警数据对各个告警事件进行联动分析,并向目标设备发送分析结果;分析结果包括以下至少一项:指标告警类型下的不同指标对应的告警事件之间的关联信息,事件告警类型下的各个告警事件之间的关联信息,及不同告警类型下的告警事件之间的关联信息。
在一种实现方式中,M个告警事件中包括指标告警类型下的第一告警事件和第二告警事件,且第一告警事件对应第一指标,第二告警事件对应第二指标;则分析结果包括第一告警事件和第二告警事件之间的关联信息;计算机可读存储介质中的一条或多条指令由处理器1401加载并在根据M个告警事件的告警数据对各个告警事件进行联动分析时,具体执行如下步骤:
获取监控对象在目标时间段产生的第一指标下的第一时间序列,并根据第一告警事件的告警数据所指示的异常时间,从第一时间序列中获取第一异常子序列;
获取监控对象在目标时间段产生的第二指标下的第二时间序列,并根据第二告警事件的告警数据所指示的异常时间,从第二时间序列中获取第二异常子序列;
计算第一异常子序列和第二异常子序列之间的相似度,若计算得到的相似度大于相似度阈值,则生成用于指示第一告警事件和第二告警事件之间存在关联性的关联信息;否则,则生成用于指示第一告警事件和第二告警事件之间不存在关联性的关联信息。
在一种实现方式中,M个告警事件中包括指标告警类型下的第一告警事件和事件告警类型下的第三告警事件;则分析结果包括第一告警事件和第三告警事件之间的关联信息;计算机可读存储介质中的一条或多条指令由处理器1401加载并在根据M个告警事件的告警数据对各个告警事件进行联动分析时,具体执行如下步骤:
获取监控对象在目标时间段产生的第一指标下的第一时间序列,并根据第三告警事件的告警数据所指示的事件发生时间,确定第三告警事件在第一时间序列中的映射位置;
从第一时间序列中基于映射位置往后截取第一参考子序列,并基于映射位置往前截取第二参考子序列,以及从第一时间序列中抽样截取第三参考子序列;
计算第一参考子序列和第三参考子序列之间的第一置信度,以及第二参考子序列和第三参考子序列之间的第二置信度;
若第一置信度和第二置信度均小于置信度阈值,则生成用于指示第一告警事件和第三告警事件之间不存在关联性的关联信息;否则,则生成用于指示第一告警事件和第三告警事件之间存在关联性的关联信息。
在一种实现方式中,若第一告警事件和第三告警事件之间存在关联性,则分析结果还包括:第一告警事件和第三告警事件之间的时序信息;计算机可读存储介质中的一条或多条指令由处理器1401加载并还执行如下步骤:
若第一置信度大于置信度阈值,则生成用于指示因产生第一告警事件而导致产生第三告警事件的时序信息;
若第二置信度大于置信度阈值,则生成用于指示因产生第三告警事件而导致产生第一告警事件的时序信息。
在一种实现方式中,若第一告警事件和第三告警事件之间存在关联性,则分析结果还包括:第一告警事件和第三告警事件之间的关联方向;计算机可读存储介质中的一条或多条指令由处理器1401加载并还执行如下步骤:
计算第一参考子序列和第二参考子序列之间的序列相似度;
若序列相似度大于目标阈值,则生成用于指示第一告警事件和第三告警事件成负相关的关联方向;
若序列相似度小于目标阈值,则生成用于指示第一告警事件和第三告警事件成正相关的关联方向。
在一种实现方式中,M个告警事件中包括事件告警类型下的N个告警事件,N∈[3,M];N个告警事件至少包括第三告警事件和第四告警事件,则分析结果包括第三告警事件和第四告警事件之间的关联信息;
计算机可读存储介质中的一条或多条指令由处理器1401加载并在根据M个告警事件的告警数据对各个告警事件进行联动分析时,具体执行如下步骤:
按照N个告警事件的事件发生顺序对N个告警事件进行排列,得到事件序列;
采用挖掘窗口在事件序列上进行滑动处理,得到多个事务序列;一个事务序列中包括一个或多个告警事件;
从多个事务序列中确定出第一事务序列和第二事务序列,第一事务序列是指包括第三告警事件的事务序列,第二事务序列是指包括第三告警事件和第四告警事件的事务序列;
计算第二事务序列的数量和第一事务序列的数量之间的比值,若计算得到的比值大于比值阈值,则生成用于指示第三告警事件和第四告警事件之间存在关联性的关联信息;否则,则生成用于指示第三告警事件和第四告警事件之间不存在关联性的关联信息。
在一种实现方式中,计算机可读存储介质中的一条或多条指令由处理器1401加载并还执行如下步骤:
若分析结果中包括指标告警类型下的不同指标对应的告警事件之间的关联信息,则对不同指标对应的告警事件进行告警收敛处理或告警分级处理,并向目标设备发送基于处理结果生成的告警通知消息;
若分析结果中包括事件告警类型下的各个告警事件之间的关联信息,则根据事件告警类型下的各个告警事件的事件信息生成告警提示,并向目标设备发送告警提示,告警提示包括以下至少一项:告警通知消息或者告警摘要。
本申请实施例中,可以接收告警分析请求,告警分析请求中携带目标时间段;还接收目标时间段内的M个告警事件的告警数据;并对目标时间段的M个告警事件进行联动分析,得到分析结果。其中,M个告警事件的告警类型(即指标告警类型和事件告警类型)可以不同或相同;这样分析结果可以包括不同告警类型下的不同告警事件之间的关联信息(如指标告警类型下指标对应的告警事件和事件告警类型下事件对应的告警事件之间的关联信息),分析结果还可以包括同一告警类型下不同的告警事件之间的关联信息(如指标告警类型下不同指标对应的告警事件之间的关联性)。通过上述对不同告警事件的联动分析,可挖掘告警事件之间的内在联系,辅助发现告警的本质原因,有助于快速地对故障进行排查。
本申请实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。数据分析设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该数据分析设备执行上述数据分析方法。
本领域普通技术人员可以意识到,结合本申请中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用,使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程设备。计算机指令可以存储在计算机可读存储介质中,或者通过计算机可读存储介质进行传输。计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如,同轴电缆、光纤、数字用户线(DSL))或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种数据分析方法,其特征在于,包括:
接收目标设备发送的关于监控对象的告警分析请求,所述告警分析请求携带目标时间段的时间信息;
获取所述监控对象在所述目标时间段内产生的M个告警事件的告警数据,任一告警事件的告警类型属于指标告警类型或者事件告警类型;其中,M为大于1的正整数;
根据所述M个告警事件的告警数据对各个告警事件进行联动分析,并向所述目标设备发送分析结果;所述分析结果包括以下至少一项:所述指标告警类型下的不同指标对应的告警事件之间的关联信息,所述事件告警类型下的各个告警事件之间的关联信息,及不同告警类型下的告警事件之间的关联信息;
其中,若所述M个告警事件中包括所述事件告警类型下的N个告警事件,所述N个告警事件至少包括第三告警事件和第四告警事件,N∈[3,M],则根据所述M个告警事件的告警数据对各个告警事件进行联动分析的过程包括:按照所述N个告警事件的事件发生顺序对所述N个告警事件进行排列,得到事件序列;采用挖掘窗口在所述事件序列上进行滑动处理,得到多个事务序列,一个事务序列中包括一个或多个告警事件;从所述多个事务序列中确定出第一事务序列和第二事务序列,所述第一事务序列是指包括所述第三告警事件的事务序列,所述第二事务序列是指包括所述第三告警事件和所述第四告警事件的事务序列;计算所述第二事务序列的数量和所述第一事务序列的数量之间的比值,若计算得到的比值大于比值阈值,则生成用于指示所述第三告警事件和所述第四告警事件之间存在关联性的关联信息;否则,则生成用于指示所述第三告警事件和所述第四告警事件之间不存在关联性的关联信息。
2.如权利要求1所述的方法,其特征在于,所述M个告警事件中包括所述指标告警类型下的第一告警事件和第二告警事件,且所述第一告警事件对应第一指标,所述第二告警事件对应第二指标;则所述分析结果包括所述第一告警事件和所述第二告警事件之间的关联信息;
所述根据所述M个告警事件的告警数据对各个告警事件进行联动分析,包括:
获取所述监控对象在所述目标时间段产生的所述第一指标下的第一时间序列,并根据所述第一告警事件的告警数据所指示的异常时间,从所述第一时间序列中获取第一异常子序列;
获取所述监控对象在所述目标时间段产生的所述第二指标下的第二时间序列,并根据所述第二告警事件的告警数据所指示的异常时间,从所述第二时间序列中获取第二异常子序列;
计算所述第一异常子序列和所述第二异常子序列之间的相似度,若计算得到的相似度大于相似度阈值,则生成用于指示所述第一告警事件和所述第二告警事件之间存在关联性的关联信息;否则,则生成用于指示所述第一告警事件和所述第二告警事件之间不存在关联性的关联信息。
3.如权利要求1所述的方法,其特征在于,所述M个告警事件中包括所述指标告警类型下的第一告警事件和所述事件告警类型下的第三告警事件;则所述分析结果包括所述第一告警事件和所述第三告警事件之间的关联信息;
所述根据所述M个告警事件的告警数据对各个告警事件进行联动分析,包括:
获取所述监控对象在所述目标时间段产生的第一指标下的第一时间序列,并根据所述第三告警事件的告警数据所指示的事件发生时间,确定所述第三告警事件在所述第一时间序列中的映射位置;
从所述第一时间序列中基于所述映射位置往后截取第一参考子序列,并基于所述映射位置往前截取第二参考子序列,以及从所述第一时间序列中抽样截取第三参考子序列;
计算所述第一参考子序列和所述第三参考子序列之间的第一置信度,以及所述第二参考子序列和所述第三参考子序列之间的第二置信度;
若所述第一置信度和所述第二置信度均小于置信度阈值,则生成用于指示所述第一告警事件和所述第三告警事件之间不存在关联性的关联信息;否则,则生成用于指示所述第一告警事件和所述第三告警事件之间存在关联性的关联信息。
4.如权利要求3所述的方法,其特征在于,若所述第一告警事件和所述第三告警事件之间存在关联性,则所述分析结果还包括:所述第一告警事件和所述第三告警事件之间的时序信息;所述方法还包括:
若所述第一置信度大于所述置信度阈值,则生成用于指示因产生所述第一告警事件而导致产生所述第三告警事件的时序信息;
若所述第二置信度大于所述置信度阈值,则生成用于指示因产生所述第三告警事件而导致产生所述第一告警事件的时序信息。
5.如权利要求3所述的方法,其特征在于,若所述第一告警事件和所述第三告警事件之间存在关联性,则所述分析结果还包括:所述第一告警事件和所述第三告警事件之间的关联方向;所述方法还包括:
计算所述第一参考子序列和所述第二参考子序列之间的序列相似度;
若所述序列相似度大于目标阈值,则生成用于指示所述第一告警事件和所述第三告警事件成负相关的关联方向;
若所述序列相似度小于所述目标阈值,则生成用于指示所述第一告警事件和所述第三告警事件成正相关的关联方向。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述分析结果中包括所述指标告警类型下的不同指标对应的告警事件之间的关联信息,则对不同指标对应的告警事件进行告警收敛处理或告警分级处理,并向所述目标设备发送基于处理结果生成的告警通知消息;
若所述分析结果中包括所述事件告警类型下的各个告警事件之间的关联信息,则根据所述事件告警类型下的各个告警事件的事件信息生成告警提示,并向所述目标设备发送所述告警提示,所述告警提示包括以下至少一项:告警通知消息或者告警摘要。
7.一种数据分析装置,其特征在于,包括:
接收单元,用于接收目标设备发送的关于监控对象的告警分析请求,所述告警分析请求携带目标时间段的时间信息;
所述接收单元,还用于获取所述监控对象在所述目标时间段内产生的M个告警事件的告警数据,任一告警事件的告警类型属于指标告警类型或者事件告警类型;其中,M为大于1的正整数;
处理单元,用于根据所述M个告警事件的告警数据对各个告警事件进行联动分析,并向所述目标设备发送分析结果;所述分析结果包括以下至少一项:所述指标告警类型下的不同指标对应的告警事件之间的关联信息,所述事件告警类型下的各个告警事件之间的关联信息,及不同告警类型下的告警事件之间的关联信息;
其中,若所述M个告警事件中包括所述事件告警类型下的N个告警事件,所述N个告警事件至少包括第三告警事件和第四告警事件,N∈[3,M],则根据所述M个告警事件的告警数据对各个告警事件进行联动分析的过程包括:按照所述N个告警事件的事件发生顺序对所述N个告警事件进行排列,得到事件序列;采用挖掘窗口在所述事件序列上进行滑动处理,得到多个事务序列,一个事务序列中包括一个或多个告警事件;从所述多个事务序列中确定出第一事务序列和第二事务序列,所述第一事务序列是指包括所述第三告警事件的事务序列,所述第二事务序列是指包括所述第三告警事件和所述第四告警事件的事务序列;计算所述第二事务序列的数量和所述第一事务序列的数量之间的比值,若计算得到的比值大于比值阈值,则生成用于指示所述第三告警事件和所述第四告警事件之间存在关联性的关联信息;否则,则生成用于指示所述第三告警事件和所述第四告警事件之间不存在关联性的关联信息。
8.一种数据分析设备,其特征在于,包括:
处理器,适于执行计算机程序;
计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1-6任一项所述的数据分析方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由处理器加载并执行如权利要求1-6任一项所述的数据分析方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中;数据分析设备的处理器从所述计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令使得所述数据分析设备执行如权利要求1-6任一项所述的数据分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110005013.8A CN114721912B (zh) | 2021-01-04 | 一种数据分析方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110005013.8A CN114721912B (zh) | 2021-01-04 | 一种数据分析方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114721912A CN114721912A (zh) | 2022-07-08 |
CN114721912B true CN114721912B (zh) | 2024-07-09 |
Family
ID=
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108170702A (zh) * | 2017-11-15 | 2018-06-15 | 国网河北省电力有限公司信息通信分公司 | 一种基于统计分析的电力通信告警关联模型 |
CN109309577A (zh) * | 2017-07-27 | 2019-02-05 | 杭州达乎科技有限公司 | 用于sdn网络的告警处理方法、装置及系统 |
CN110493065A (zh) * | 2019-09-03 | 2019-11-22 | 浪潮云信息技术有限公司 | 一种云中心运维的告警关联度分析方法及系统 |
CN111563524A (zh) * | 2020-03-18 | 2020-08-21 | 宁波送变电建设有限公司永耀科技分公司 | 一种多站融合系统运行态势异常监测和告警合并方法 |
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109309577A (zh) * | 2017-07-27 | 2019-02-05 | 杭州达乎科技有限公司 | 用于sdn网络的告警处理方法、装置及系统 |
CN108170702A (zh) * | 2017-11-15 | 2018-06-15 | 国网河北省电力有限公司信息通信分公司 | 一种基于统计分析的电力通信告警关联模型 |
CN110493065A (zh) * | 2019-09-03 | 2019-11-22 | 浪潮云信息技术有限公司 | 一种云中心运维的告警关联度分析方法及系统 |
CN111563524A (zh) * | 2020-03-18 | 2020-08-21 | 宁波送变电建设有限公司永耀科技分公司 | 一种多站融合系统运行态势异常监测和告警合并方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11789943B1 (en) | Configuring alerts for tags associated with high-latency and error spans for instrumented software | |
CN112436968B (zh) | 一种网络流量的监测方法、装置、设备及存储介质 | |
US9436535B2 (en) | Integration based anomaly detection service | |
EP4099170B1 (en) | Method and apparatus of auditing log, electronic device, and medium | |
US20180234328A1 (en) | Service analyzer interface | |
US20200167681A1 (en) | Graphical user interface indicating anomalous events | |
US12001275B2 (en) | Data processing method, apparatus, database system, electronic device, and storage medium | |
CN111475370A (zh) | 基于数据中心的运维监控方法、装置、设备及存储介质 | |
JP2011034208A (ja) | 異常検出方法、装置、及びプログラム | |
CN110674009B (zh) | 应用服务器性能监测方法、装置、存储介质及电子设备 | |
US11799748B2 (en) | Mitigating failure in request handling | |
CN107704387B (zh) | 用于系统预警的方法、装置、电子设备及计算机可读介质 | |
CN112631887A (zh) | 异常检测方法、装置、电子设备和计算机可读存储介质 | |
US8140919B2 (en) | Display of data used for system performance analysis | |
CN111614483A (zh) | 链路监控方法、装置、存储介质及计算机设备 | |
US20210264023A1 (en) | Command inspection method and apparatus, computer device, and storage medium | |
CN112052134A (zh) | 一种业务数据的监控方法及装置 | |
CN115328733A (zh) | 应用于业务系统的告警方法、装置、电子设备及存储介质 | |
CN110674168A (zh) | 一种缓存键异常检测方法、装置、存储介质以及终端 | |
CN110717130B (zh) | 打点方法、装置、终端及存储介质 | |
CN112308455B (zh) | 根因定位方法、装置、设备及计算机存储介质 | |
CN114721912B (zh) | 一种数据分析方法、装置、设备及介质 | |
CN114721912A (zh) | 一种数据分析方法、装置、设备及介质 | |
CN113342619A (zh) | 日志监控方法、系统、电子设备及可读介质 | |
CN113254313A (zh) | 一种监控指标异常检测方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |