自动异常检测和解决系统技术方案

技术编号:21891395 阅读:23 留言:0更新日期:2019-08-17 14:19
公开了一种自动异常检测和解决系统。公开了用于自动检测和解决计算环境中的异常的异常检测和解决系统(ADRS)。ADRS可以使用定义不同类型的异常(例如,已定义的异常和未定义的异常)的异常分类系统来实现。已定义的异常可以基于要被监视的任何度量的界限(固定的或季节性的)。异常检测和解决部件(ADRC)可以在定义计算系统中的服务的每个部件中实现。ADRC可能被配置成检测异常并尝试在本地解决异常。如果不能在部件中解决针对异常的异常事件,那么ADRC可以将异常事件传送到父部件的ADRC(如果存在的话)。部件中的每个ADRC可以被配置成在本地处置具体类型的异常,以减少用于解决异常的通信时间和资源使用。

Automatic anomaly detection and resolution system

【技术实现步骤摘要】
自动异常检测和解决系统本申请是申请日为2016年5月27日、题为“自动异常检测和解决系统”的专利技术专利申请201680030877.2的分案申请。对相关申请的交叉引用本申请要求于2016年5月26日提交的标题为“AUTOMATICANOMALYDETECTIONANDRESOLUTIONSYSTEM”的美国非临时专利申请No.15/165,298的权益和优先权,该申请要求以下申请的权益和优先权:1)于2015年5月28日提交的标题为“AutomaticAnomalyDetectionandResolution”的美国临时申请No.62/167,851;2)于2015年7月31日提交的标题为“AutomaticAnomalyDetectionandResolution”的美国临时申请No.62/199,895;以及3)于2015年10月23日提交的标题为“AutomaticAnomalyDetectionandResolution”的美国临时申请No.62/245,706。上述专利申请中的每一个的全部内容通过引用并入本文,用于所有目的。
技术介绍
云计算是用于启用对可配置的计算资源(例如,网络、服务器、存储空间、应用和服务)的共享池的便利的按需网络访问的模型。通过云计算诸如经由网络提供或访问的服务可以被称为云服务。有很多需要由云服务提供商执行的处理,以使云服务对订阅客户可用。由于其复杂性,这种处理的大部分仍然是手动完成的。例如,供应用于提供这种云服务的资源会是非常劳动密集的过程。支持云计算系统的数据中心的尺寸往往非常大,包括数千个计算和存储服务器以及数百个网络设备和其它设备。例如,最近的统计数据表明,用于Oracle公司在全球提供的云计算系统的有80000个或更多个的虚拟机,其具有540PB(拍字节)或更多的存储空间。至少有19个层、4个数据中心、6200万或更多的活跃用户,每天产生300亿或更多的事务。即使使用诸如MCollective或Chef之类的命令工具和诸如Graphite之类的监视工具,对云数据中心的手动管理也会增加云服务的成本并会降低服务的质量。这些工具不能以及时的方式对系统行为中的潜在异常(诸如影响服务水平协议(SLA)和安全漏洞的潜在异常)作出反应并校正这些潜在异常。一些云计算系统提供商已经实现了用于诊断和校正其云计算系统中检测到的问题的系统;然而,关于如何配置这些系统以检测问题的细节还没有针对整个云计算系统定义。一些云计算系统提供商已经实现了机器学习算法来评估日志文件,和/或开发了训练数据来确立什么是正常的系统行为。可以将日志文件和/或数据与正常模式进行比较,并将任何显著的偏差报告为异常。多变量分析技术(例如,MSET)可以同时比较多个日志文件。经由无监督机器学习技术仅仅从日志文件中推断正常行为会容易出错。计算仅在日志文件上识别出的问题而不考虑系统拓扑、处理流程或日志关系会引入大量噪声,因为日志文件的不相关组合可能会被分析,这会不利地影响对问题的诊断。由这种系统检测和报告的可能的错误是如此地广泛,以至于它不适合程序化的校正动作。人类可能需要参与解决问题。云计算系统或企业计算系统中的异常可以由许多因素造成,这些因素包括系统的负载尖峰、部件故障和/或恶意使用,并且这些异常表现为一个或多个容器中的错误的尖峰、资源使用增加、以及关键性能指标(KPI)恶化。作为上述挑战的结果,用于服务水平协议(SLA)的服务质量(QoS)保证常常不能被满足。在任何给定的时间,在云计算系统和企业计算系统中,数百万的硬件和软件部件可能在任何给定的时间发生故障。用户和运营商一样可能导致造成异常的人为错误和意外负载。恶意用户会导致影响数百万用户的停运(outage)。这些情况会导致令人不满的QoS,从而导致云计算环境违反SLA。为了应对异常,一些人试图近实时地监视异常。这些方法涉及将环境的状态(度量、日志等)收集在集中式存储空间中并且以编程方式针对异常来分析该状态。由于对这种数据的传送和聚合,环境状态的收集会引起延迟。分析涉及附加的时间,并且结果必须被传送给操作人员,以便遵循指导方针和脚本来手动校正异常。这种校正动作会导致异常发生的时间和采取校正动作的时间之间的长延迟。对所有日志条目和度量的收集和分析可以是对资源的低效使用,因为日志文件中的大部分数据都与正常状况对应。数据可能提供低信噪比,这是因为异常是要被识别的信号。另外,因为异常涉及不常发生的情况(诸如崩溃、死锁、长响应时间等),所以对正常状况的数据的分析可能提供最小价值。寻求对异常的细粒度检测以识别先兆事件,从而一开始就避免导致违反SLA的状况。
技术实现思路
在某些实施例中,公开了用于异常检测和解决系统(ADRS)的技术,以自动检测并解决计算环境(例如,云计算系统和企业计算系统)中的异常。这些技术启用对异常的自动检测和解决,以最小化(如果不能避免的话)对计算系统中所提供的服务的服务水平协议(SLA)违反。异常检测和解决涉及以最低可能的成本来最大化SLA合规期。本文公开的技术可以减少(如果不能消除的话)人类对解决大型计算系统(例如,云系统)的尺寸和复杂性的参与,并因此产生自主计算系统。ADRS可以自动检测和校正异常(诸如响应时间异常、负载异常、资源使用异常、部件故障和停运),所有这些异常都会影响计算系统中的操作的服务质量(QoS)。ADRS可以使用异常分类系统来实现,其中该异常分类系统是按照异常的不同类别(子类型)(诸如已定义的异常和未定义的异常)来定义的。已定义的异常可以由两个子类别来定义,诸如用户定义的异常和系统推断的异常。已定义的异常可以基于需要被监视的任何度量的界限,其中该界限是固定的或者是季节性的。固定界限是用于监视和强制实施与SLA相关联的QoS保证的不变量。通常,应用管理员或系统管理员将定义用于用户定义的异常的固定界限。系统管理员还可以定义附加的度量以监视资源使用、负载尖峰、恶意使用和部件故障从而防止违反SLA,但是它们的界限是季节性的,要从与和用户定义的异常相关联的度量的趋势相组合的历史数据中计算得到。这种类型的异常被称为系统推断的异常,其界限通常是季节性的。未定义的异常是经由机器学习和其它统计方法发现的异常(通常是离群值(outlier))。ADRS可以基于在用于异常的策略中定义的一个或多个规则来采取校正动作。可以用一个或多个异常检测和解决部件(ADRC)来实现ADRS。每个ADRC可以是模块或子系统。ADRC可以在定义由计算系统执行的服务或操作的部件中的每个部件中实现。每个ADRC可以被配置成在本地检测并尝试解决部件中异常。例如,当检测到部件(诸如服务运行于其中的容器)中的异常(例如,已定义的异常)时,ADRC可以确定它是否可以解决该异常。可以用特定于部件的解决策略来实现每个ADRC,其中特定于部件的解决策略用于管理该部件中检测到的异常。如果用于异常的异常事件可以被部件中定义的异常解决策略解决,那么ADRC可以尝试基于该策略来解决异常事件。在确定ADRC不能解决异常事件时(或者因为没有定义策略或者因为异常事件不能基于策略来解决),部件可以将异常事件传送到该部件的父部件(如果存在父部件的话)。可以将异常事件向上传送到当前部件的每个相继的父部件本文档来自技高网
...

【技术保护点】
1.一种方法,包括:由计算机系统使用多个部件来提供服务,所述多个部件包括第一部件和第二部件,其中第一部件使用对第二部件可用的资源来运行线程或进程;由所述计算机系统为第一部件提供用于检测一个或多个异常事件的第一异常检测和解决部件ADRC;由所述计算机系统为第二部件提供用于检测一个或多个异常事件的第二ADRC;由第一ADRC基于确定与所提供的服务相关的度量满足已经针对所提供的所述服务定义的一个或多个量度的集合,检测异常事件;以及响应于检测到所述异常事件:由第一ADRC确定第一ADRC不具有用于解决所述异常事件的策略;通知第二部件所述异常事件不能由第一部件解决;由第二ADRC识别用于处置所述异常事件的第一策略,所述第一策略包括一个或多个规则的集合;由第二ADRC基于来自所述一个或多个规则的集合中的规则被所述异常事件满足,来确定校正动作;以及由第二ADRC发起所述校正动作。

【技术特征摘要】
2015.05.28 US 62/167,851;2015.07.31 US 62/199,895;1.一种方法,包括:由计算机系统使用多个部件来提供服务,所述多个部件包括第一部件和第二部件,其中第一部件使用对第二部件可用的资源来运行线程或进程;由所述计算机系统为第一部件提供用于检测一个或多个异常事件的第一异常检测和解决部件ADRC;由所述计算机系统为第二部件提供用于检测一个或多个异常事件的第二ADRC;由第一ADRC基于确定与所提供的服务相关的度量满足已经针对所提供的所述服务定义的一个或多个量度的集合,检测异常事件;以及响应于检测到所述异常事件:由第一ADRC确定第一ADRC不具有用于解决所述异常事件的策略;通知第二部件所述异常事件不能由第一部件解决;由第二ADRC识别用于处置所述异常事件的第一策略,所述第一策略包括一个或多个规则的集合;由第二ADRC基于来自所述一个或多个规则的集合中的规则被所述异常事件满足,来确定校正动作;以及由第二ADRC发起所述校正动作。2.如权利要求1所述的方法,还包括:由第二ADRC识别来自所述一个或多个规则的集合中的所述规则被所述异常事件满足,其中所述第一策略被提供以供第二ADRC使用。3.如权利要求1所述的方法,其中第二部件是容器,所述容器提供命名空间或资源池中的至少一者以供第一部件使用。4.如权利要求1所述的方法,其中所述一个或多个量度的集合包括第一界限和第二界限,并且其中确定所述度量是否满足所述一个或多个量度的集合包括确定所述度量的值位于由第一界限和第二界限限定的范围之外。5.如权利要求4所述的方法,其中检测所述异常事件包括确定所述度量的值位于所述范围之外的发生次数,并且其中检测所述异常事件还包括确定所述发生次数大于最小阈值。6.如权利要求5所述的方法,其中检测所述异常事件包括确定在一定时间段内所述度量的值位于所述范围之外的发生次数。7.如权利要求1所述的方法,其中第二部件是虚拟机VM,并且其中第一部件是JavaVM。8.如权利要求1所述的方法,其中所提供的所述服务是由所述计算机系统向一个或多个用户提供的多个服务中的一个,并且其中所提供的所述服务基于订阅而对所述一个或多个用户可用。9.如权利要求1所述的方法,其中检测所述异常事件包括确定与所述异常事件相关联的时间位于由季节性开始时间和季节性结束时间限定的范围内,并且其中所述季节性开始时间和所述季节性结束时间限定所述一个或多个量度的集合有效的季节性时间段。10.如权利要求1所述的方法,其中所述一个或多个量度的集合是基于分析与提供所述服务相关联的日志文件的时间序列数据而确定的。11.一种计算机系统,包括:一个或多个处理器;以及存储器,所述存储器能够被所述一个或多个处...

【专利技术属性】
技术研发人员:R·阿哈德
申请(专利权)人:甲骨文国际公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1