掌桥专利:专业的专利平台
掌桥专利
首页

一种离群机器检测方法和装置

文献发布时间:2023-06-19 13:45:04


一种离群机器检测方法和装置

技术领域

本申请涉及金融运维监控技术领域,具体涉及一种离群机器检测方法和装置。

背景技术

金融运维监控领域一般通过各种监控采集工具如Tivoli、Zabbix、APM、网络抓包、应用埋点监控等采集各种指标来对机器进行健康监控。这些指标通常被存储为时序数据(包含采集时间和指标值),传统监控方案一般通过固定阈值配合告警规则进行监控,例如“CPU使用率高于90%,持续3分钟“便产生一条告警,表示此时监控对象可能存在异常,需要管理员进行排查。但是由于当前金融互联网业务日渐复杂、不同时间交易量不同、存在不定时跑批任务等等,使得固定阈值监控的效果往往不好,存在较多的误报和漏报。当前学术界和工业界一般运用机器学习、深度学习的方法来进行单指标的时序监控,相比于传统方法,可以进行更精确的监控。

近年来,随着金融业务量的快速增长,银行、券商等也开始进行分布式架构和微服务架构转型。新的架构相比于传统集中式架构有高可用、易扩展、低成本的优势,但是随之而来的是运维监控变得更为复杂。传统的架构中针对单个服务只需监控单台机器即可,而在分布式、微服务架构中往往需要监控数十台甚至上百台机器。此时如果单独对每一台机器的全部指标(业务指标和性能指标等)进行监控,不仅需要大量的资源,而且极易带来告警风暴等问题。并且由于时序异常检测本身的特点(需要参考历史或者人工标注),无法很好的应对诸如变更、接入数据持续异常、基带内异常等等问题。所以针对一个集群(部署同一业务的单元)来进行离群机器分析是重要且必要的。如何克服上述缺陷,已成为了亟需解决的技术问题。

发明内容

为了解决上述技术问题,本申请提供了在平面排列颜色的方法和装置,能将分布不均匀的颜色集有规律地排列在平面上,也能简单便捷地在平面上进行颜色分析和优化。

本申请所采用的技术方案如下:

一种离群机器检测方法,该方法包括如下步骤:

步骤1、算法任务调度模块执行离群机器检测任务;

步骤2、数据接入模块获取的指标数据和集群内主机的相关信息,进行时序数据查询和知识图谱查询,并将查询结果发送至数据预处理模块;

步骤3、数据预处理模块对所述查询结果进行数据预处理,并将预处理后的查询结果发送至特征工程计算模块;

步骤4、特征工程计算模块进行特征计算,并将获得的特征计算结果发送至检测器;

步骤5、检测器对所述特征计算结果进行检测,并将检测结果发送至算法结果库,并同时发送至场景逻辑模块;

步骤6、根据检测结果输出可视化报告。

进一步的,所述特征计算结果包括基本统计特征、窗口统计特征、统计转换特征、序列变换特征、降维转换特征、维度统计特征、分布特征、形状特征以及波动特征。

进一步的,在步骤5中还包括:

所述算法结果库将用户标注反馈至所述检测器;

所述场景逻辑模块对所述检测结果进行离群召回操作,并对操作结果进行离群阈值判断,如果判断结果为是,则离群机器检测结果为异常,并将所述检测结果写入风险库;如果判断结果为否,则离群机器检测结果为正常。

进一步的,在步骤5中,检测器对所述特征计算结果进行检测,具体包括缺失值检测、序列相似性检测、波动检测、分布相似性检测、水位线检测、形状相似性检测、特征相似性检测;

所述检测器执行的检测包括以下四种方式之一:

方式1、依次执行缺失值检测、波动检测;

方式2、依次执行缺失值检测、序列相似性检测、分布相似性检测;

方式3、依次执行缺失值检测、序列相似性检测、水位线检测、形状相似性检测;

方式4、依次执行缺失值检测、序列相似性检测、水位线检测、特征相似性检测。

进一步的,所述缺失值检测,具体包括:判断每条指标的缺失情况,如果存在缺失的指标比例较少,则缺失的指标离群,缺失的程度来决定该机器离群的分数大小。

进一步的,所述序列相似性检测,具体包括:

使用JS散度来衡量KPI之间的距离;

其中,K1和K2表示两条比较的时间序列,x为自然数,K1(x)为时间序列1中的第x个取值,K2(x)为时间序列2中的第x个取值; 在计算了两两KPI之间的相似性后,得到它们之间的距离矩阵DM,将距离矩阵进行SOM聚类,并映射到一维空间中。

进一步的,所述波动检测,具体包括:

对每条指标进行Knee Point检测,得到一个是否波动的二值时间序列;

随后对二值时间序列应用所述序列相似性检测的算法进行检测。

进一步的,所述分布相似性检测,具体包括:

先将KPI时序数据转化为累计分布函数CDF,将CDF取值作为新的时间序列,对其应用序列相似性检测;

所述水位线检测,具体包括:

在序列相似性检测之后,将所有KPI分在不同的簇中,根据簇的情况来判断是否离群,在得到聚类信息后,选择簇中元素最大的一项作为基簇BASE,计算出基簇的上下界,将上下界作为新的两条KPI:U和KPI:L,根据基带的情况来计算其他指标的离群情况:

其中,K表示当前指标取值序列,U表示基带上界,L表示基带下界,U、L与K的形式相同,Len(BASE)表示序列的长度,std

进一步的,所述形状相似性检测,具体包括:

不同的指标具有不同的形状,当机器指标的形状和集群中的其他机器显著不同时,则确定为机器离群的状态;

在计算周期性时,将时域图通过FFT转化为频域图;根据频域图中出现的第一个波峰的横坐标位置来计算该曲线的周期,所采用的计算公式如下;

其中,f(t)表示一个时间序列在时间t的取值;

计算指标是否具有趋势性使用如下方式:

其中,Cov(X,Y)表示X、Y之间的协方差,Var

所述特征相似性检测,具体包括:

离群的KPI往往特征和其他机器不同,所以我们可以通过对集群中所有机器的所有KPI提取相应的特征,使用Isolation Forest离群点检测方法来判断离群的机器。

一种离群机器检测装置,该检测装置包括存储器单元和处理器单元,所述存储器单元上存储有计算机程序,其特征在于,所述处理器单元执行所述程序时实现上述方法。

通过本申请实施例,可以获得如下技术效果:

本发明提出的离群机器检测算法,在默认参数下即可准确找出离群机器,并识别离群场景。同时提出了一种解耦、灵活、可配置的检测框架和流程,将离群检测任务用DAG和广度优先遍历结合,方便拓展。算法还支持用户的标注反馈,可以根据用户反馈结果调整参数。相比于黑盒的深度学习算法,本发明更具可解释性。针对不同的离群场景有对应的描述和可视化佐证。还可以根据用户需求和标注反馈来进一步优化算法效果,可以更适用于不同用户的不同场景。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为离群机器检测方法的流程示意图;

图2为检测器的检测方式组成示意图;

图3为波动检测的结果示意图;

图4为分布相似性检测的结果示意图;

图5-1、图5-2为形状相似性检测的结果示意图;

图6-1、图6-2、图6-3为离群机器检测结果输出可视化报告。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本申请保护的范围。

现有离群机器分析常见有两种思路。一种是针对离群点来进行分析常见的方法有:n-sigma、箱形图、Isolation-Forest、XGBoost等;另一种是基于指标相似性判断,利用聚类的方式进行离群判断。但是由于指标种类的多种多样,不同指标的形态差别非常大。同时离群的情况也多种多样,如数据缺失离群、水位线离群、周期性离群、波动离群、形状离群…单一的算法往往不能取得准确的结果,需要针对不同场景应用不同的方法来检测。

图1为离群机器检测方法的流程示意图。该离群机器检测方法能够在指定任意集群名称和分析时间范围后触发分析。该方法包括如下步骤:

步骤1、算法任务调度模块根据检对象集合、指标项集合以及巡检时间区间执行离群机器检测任务;

步骤2、数据接入模块从指标库中获取指标数据,并读取配置管理数据库CMDB以获取集群内主机的相关信息,根据获取的所述指标数据和所述集群内主机的相关信息进行时序数据查询和知识图谱查询,并将查询结果发送至数据预处理模块;

步骤3、数据预处理模块对所述查询结果依次进行归一化处理、平滑去噪处理以及差值补缺处理,并将差值补缺处理后的查询结果写入所述指标库,同时将差值补缺处理后的查询结果发送至特征工程计算模块进行特征计算;

步骤4、特征工程计算模块进行特征计算,并将获得的特征计算结果发送至检测器进行检测;

其中,所述特征计算结果包括基本统计特征、窗口统计特征、统计转换特征、序列变换特征、降维转换特征、维度统计特征、分布特征、形状特征以及波动特征;

步骤5、检测器对所述特征计算结果进行检测,并将检测结果发送至算法结果库,同时将所述检测结果发送至场景逻辑模块;所述算法结果库将用户标注反馈至所述检测器;

所述场景逻辑模块对所述检测结果进行离群召回操作,并对操作结果进行离群阈值判断,如果判断结果为是,则离群机器检测结果为异常,并将所述检测结果写入风险库;如果判断结果为否,则离群机器检测结果为正常;

步骤6、根据离群机器检测结果输出可视化报告。

所述获取集群内主机的相关信息包括目前支持读取CSV文件、JSON文件、InfluxDB等数据来源。针对数据进行预处理,包括但不限于:归一化、holt-winters指数平滑去噪、缺失值填充等。数据处理完备后便进行特征提取和离群检测。

不同的检测器有不同的特征要求和算法。每个检测器模块会进行离群场景检测,将离群机器以有放回或者无放回的方式召回。最终召回的并集作为最终的检测结果。

每个检测模块间以松耦合的方式构建,可以根据用户配置自由灵活的组织、更改,只需保证拓扑结构为DAG即可,算法会按照广度优先的方式执行每一个节点的检测器。

在步骤5中,检测器对所述特征计算结果进行检测,具体包括缺失值检测、序列相似性检测、波动检测、分布相似性检测、水位线检测、形状相似性检测、特征相似性检测;

图2为检测器的检测方式组成示意图;所述检测器执行的检测包括以下四种方式之一:

方式1、依次执行缺失值检测、波动检测;

方式2、依次执行缺失值检测、序列相似性检测、分布相似性检测;

方式3、依次执行缺失值检测、序列相似性检测、水位线检测、形状相似性检测;

方式4、依次执行缺失值检测、序列相似性检测、水位线检测、特征相似性检测。

所述缺失值检测,具体包括:

判断每条指标的缺失情况,如果存在缺失的指标比例较少,则缺失的指标离群,缺失的程度来决定该机器离群的分数大小。

所述序列相似性检测,具体包括:

由于KL散度是不对称的,无法很好的聚类算法结合,所以本发明使用JS散度来衡量KPI之间的距离。

其中,K1和K2表示两条比较的时间序列,x为自然数,K1(x)为时间序列1中的第x个取值,K2(x)为时间序列2中的第x个取值;

在计算了两两KPI之间的相似性后,得到它们之间的距离矩阵DM,将距离矩阵进行SOM聚类,并映射到一维空间中。

图3为波动检测的结果示意图。所述波动检测,具体包括:

对每条指标进行Knee Point检测,得到一个是否波动的二值时间序列,例如[0,0,0,0,0,1,0,0,0,1]等;

随后对二值时间序列应用所述序列相似性检测的算法进行检测;

图4为分布相似性检测的结果示意图。有一些KPI的离群是与时序无关的,此时需要进行分布的相似性检测。

所述分布相似性检测,具体包括:

先将KPI时序数据转化为累计分布函数CDF,将CDF取值作为新的时间序列,对其应用序列相似性检测;

所述水位线检测,具体包括:

在序列相似性检测之后,将所有KPI分在不同的簇中,根据簇的情况来判断是否离群,但是没办法对离群现象进行准确的解释以及适配不同的场景。

在得到聚类信息后,选择簇中元素最大的一项作为基簇BASE,计算出基簇的上下界,将上下界作为新的两条KPI:U和KPI:L,根据基带的情况来计算其他指标的离群情况:

其中,K表示当前指标取值序列,U表示基带上界,L表示基带下界,U、L与K的形式相同,Len(BASE)表示序列的长度,std

图5-1、图5-2为形状相似性检测的结果示意图。所述形状相似性检测,具体包括:

不同的指标具有不同的形状,例如周期性、趋势性等等,当机器指标的形状和集群中的其他机器显著不同时,则确定为机器离群的状态;

在计算周期性时,将时域图通过FFT转化为频域图;根据频域图中出现的第一个波峰的横坐标位置来计算该曲线的周期,所采用的计算公式如下;

其中,f(t)表示一个时间序列在时间t的取值;

例如图5中所示频域图的第一个波峰横坐标为9,最终计算出来的周期性为1天。

计算指标是否具有趋势性使用如下方式:

其中,Cov(X,Y)表示X、Y之间的协方差,Var

所述特征相似性检测,具体包括:

离群的KPI往往特征和其他机器不同,所以我们可以通过对集群中所有机器的所有KPI提取相应的特征,使用Isolation Forest离群点检测方法来判断离群的机器。针对指标提取的特征列表如下:

图6-1、图6-2、图6-3为离群机器检测结果输出可视化报告。每个检测器都会根据配置情况做出对应的行为。例如召回异常机器的方式(又放回或者无放回),下层检测器节点接受到上层节点输出的数据的过滤方式(保留全部、仅保留异常数据、仅保留正常数据),最终所有检测器找回异常指标的合集作为最终的结果。多指标情况下根据加权平均得到最终综合的离群概率。

在一些实施例中,计算机程序的部分或者全部可以经由ROM而被载入和/或安装到设备上。当计算机程序加载并被执行时,可以执行上文描述的方法的一个或多个步骤。

本申请中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

相关技术
  • 一种离群机器检测方法和装置
  • 一种基于局部离群因子的锂电池组一致性检测方法及装置
技术分类

06120113792660