CN107690623A - 自动异常检测和解决系统 - Google Patents

自动异常检测和解决系统 Download PDF

Info

Publication number
CN107690623A
CN107690623A CN201680030877.2A CN201680030877A CN107690623A CN 107690623 A CN107690623 A CN 107690623A CN 201680030877 A CN201680030877 A CN 201680030877A CN 107690623 A CN107690623 A CN 107690623A
Authority
CN
China
Prior art keywords
abnormal
container
service
adrc
measurement
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.)
Granted
Application number
CN201680030877.2A
Other languages
English (en)
Other versions
CN107690623B (zh
Inventor
R·阿哈德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Oracle International Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oracle International Corp filed Critical Oracle International Corp
Priority to CN201910436800.0A priority Critical patent/CN110134542B/zh
Publication of CN107690623A publication Critical patent/CN107690623A/zh
Application granted granted Critical
Publication of CN107690623B publication Critical patent/CN107690623B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3048Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the topology of the computing system or computing system component explicitly influences the monitoring activity, e.g. serial, hierarchical systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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 for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • H04L43/55Testing of service level quality, e.g. simulating service usage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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 for performance assessment
    • G06F11/3419Recording 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 for performance assessment by assessing time

Abstract

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

Description

自动异常检测和解决系统
对相关申请的交叉引用
本申请要求于2016年5月26日提交的标题为“AUTOMATIC ANOMALY DETECTION ANDRESOLUTION SYSTEM”的美国非临时专利申请No.15/165,298的权益和优先权,该申请要求以下申请的权益和优先权:
1)于2015年5月28日提交的标题为“Automatic Anomaly Detection andResolution”的美国临时申请No.62/167,851;
2)于2015年7月31日提交的标题为“Automatic Anomaly Detection andResolution”的美国临时申请No.62/199,895;以及
3)于2015年10月23日提交的标题为“Automatic Anomaly Detection andResolution”的美国临时申请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不能解决异常事件时(或者因为没有定义策略或者因为异常事件不能基于策略来解决),部件可以将异常事件传送到该部件的父部件(如果存在父部件的话)。可以将异常事件向上传送到当前部件的每个相继的父部件(如果存在父部件的话),直到父部件可以解决该异常事件为止。当确定部件没有父部件(例如,物理机器没有父代)时,就将异常事件发布到消息系统,让在计算系统的环境级别处的ADRC来处置该异常事件。在一些实施例中,异常事件可以作为警报被传送给用户。与集中式异常管理相比,这种分层的异常解决方法在资源使用方面更高效并且更灵活。具体而言,部件中的每个ADRC可以被配置成在本地处置具体类型的异常,使得可以通过利用在其中可以解决异常的部件中的资源来减少通信时间和资源使用。
在一些实施例中,可以实现用于异常检测和解决的计算机系统。该计算机系统可以是异常检测和解决系统的一部分。该计算机系统可以在云计算机系统(例如,云基础设施系统)或企业计算机系统中实现。该计算机系统可以被配置成实现本文描述的方法和操作。该计算机系统可以包括一个或多个处理器以及一个或多个处理器可访问的存储器,存储器存储指令,这些指令在由一个或多个处理器执行时,使这一个或多个处理器执行本文描述的一个或多个方法或操作。还有其它实施例涉及系统和机器可读的有形存储介质,这些介质采用或存储用于本文描述的方法和操作的指令。
在至少一个实施例中,一种方法包括确定定义异常界限的值集合,其中该异常界限针对与由云计算机系统提供的服务有关的度量。服务可以由云计算机系统中的部件建立。这些部件可以包括在云计算机环境中执行的第一容器和第二容器。第一容器可以是第二容器中的孩子容器。该方法可以包括将第一容器配置包括异常检测和解决部件(ADRC)。该方法可以包括在第一容器中由ADRC检测与云计算机系统中的服务的操作相关的异常的异常事件。异常事件可以基于度量的值不满足针对该度量的异常界限而被检测到。该方法可以包括识别用于在第一容器中解决异常的策略。该方法可以包括确定策略中的规则被异常满足。该方法可以包括发起校正动作以解决异常。可以基于规则被满足而在策略中识别校正动作。
在一些实施例中,异常界限是为用户定义的异常定义的固定界限。值集合可以包括轮询间隔值、度量的最小量度、度量的软限制、度量的最大值,以及定义异常的最小发生次数的最小连续读数值。检测异常事件可以包括确定度量的值是否满足异常界限。当值小于最小量度以及等于或大于软限制时,度量的值可能不满足异常界限。可以基于最小连续读数被满足来检测异常事件。
在一些实施例中,异常界限是为用户定义的异常定义的季节性界限。该值集合可以包括轮询间隔值、度量的最小量度、对度量的软限制、度量的最大值、异常连续发生的持续时间、当季节性界限有效时的开始时间,以及当季节性界限有效时的结束时间。检测异常事件可以包括确定度量的值是否满足异常界限。当值小于最小量度以及等于或大于软限制时、当检测到异常事件达到持续时间、以及在开始时间之后和结束时间之前检测到异常事件时,度量的值可能不满足异常界限。
在至少一个实施例中,确定值集合包括分析日志文件的时间序列数据,以计算用于异常界限的值集合。
在一些实施例中,该方法可以包括在确定用于在第一容器中解决异常的策略不能被识别时,通知第二容器异常不能在第一容器中被解决。该方法可以包括识别用于在第二容器中解决该异常的策略。该方法可以包括确定在用于在第二容器中解决异常的策略中的规则被该异常满足。该方法可以包括基于规则被满足,发起用于在第二容器中解决异常的策略中所识别出的校正动作。
在至少一个实施例中,与服务相关的度量是针对提供服务的服务质量(QoS)而监视的多个度量中的一个。
在至少一个实施例中,一种方法可以包括确定定义异常界限的值集合,其中该异常界限针对与由云计算机系统提供的服务相关的度量。服务可以由云计算机系统中的部件建立。这些部件可以包括在云计算机环境中执行的第一容器和第二容器。第一容器可以是第二容器中的孩子容器。该方法可以包括将第一容器配置成包括第一异常检测和解决部件(ADRC)。该方法可以包括将第二容器配置成包括第二ADRC。该方法可以包括由第一容器中的ADRC检测与云计算机系统中的服务的操作相关的异常的异常事件。异常事件是基于度量的值不满足针对该度量的异常界限而检测到的。该方法可以包括确定第一ADRC是否具有用于在第一容器中解决异常的策略。该方法可以包括:基于确定第一ADRC不具有用于在第一容器中解决异常的策略,通知第二容器异常不能在第一容器中被解决。该方法可以包括由第二ADRC识别用于让该ADRC在第二容器中解决异常的策略。该方法可以包括确定用于在第二容器中解决异常的策略中的规则被异常满足。该方法可以包括基于规则被满足,发起用于在第二容器中解决异常的策略中所识别出的校正动作。
在一些实施例中,该方法可以包括:基于由第二ADRC确定第二ADRC不具有在第二容器中解决异常的策略,使用通信系统发送异常无法被解决的警报。
在一些实施例中,该方法可以包括:基于由第二ADRC确定第二ADRC不具有在第二容器中解决异常的策略,通知第三容器异常不能被解决,其中第三容器是部件之一。第三容器可以包括第二容器。该方法可以包括由在第三容器中配置的第三ADRC识别用于在第三容器中解决异常的策略。该方法可以包括发起用于在第三容器中解决异常的策略中所识别出的校正动作。
上面和下面描述的技术可以以若干种方式并在若干个场景中实现。如下面更详细地描述的,参考以下附图提供若干示例实现方式和场景。一个特定的示例实现方式是自主系统,该自主系统被非常详细地描述。然而,以下实现方式和场景仅是许多个中的几个。
附图说明
图1是根据实施例的云基础设施系统的逻辑视图。
图2是根据实施例的云基础设施系统的简化框图。
图3示出了根据一些实施例的用于管理计算系统中的异常的自主系统的高级别概述。
图4示出了根据一些实施例的计算系统的部件模型。
图5示出了根据一些实施例的部件模型的元素之间的关系。
图6和图7示出了根据一些实施例的异常检测和解决系统(ADRS)的异常检测和解决部件(ADRC)的框图。
图8示出了根据一些实施例的用分层ADRS实现的自主云计算系统的示例。
图9示出了根据一些实施例的分层异常分类结构。
图10是示出根据一些实施例的用于已定义的异常的界限的框图。
图11示出了根据一些实施例的在自主云基础设施系统中执行的操作的框图。
图12示出了根据一些实施例的日志文件流的高级别图。
图13和图14示出了根据一些实施例的用于异常检测和解决的过程的流程图。
图15绘出了用于实现实施例的分布式系统的简化图。
图16示出了根据本公开的实施例的在其中服务可以作为云服务被提供的系统环境的一个或多个部件的简化框图。
图17示出了可以被用来实现本发明实施例的示例性计算机系统。
图18示出了可以被用来实现本发明的实施例的ADRS。
具体实施方式
在以下描述中,为了说明的目的,阐述了具体的细节,以便提供对本发明的实施例的透彻理解。然而,将明显的是,各种实施例可以在没有这些具体细节的情况下实践。附图和描述不旨在是限制性的。
在某些实施例中,提供了用于自动检测和解决计算系统(诸如云基础设施系统)中的异常的技术(例如,方法、系统、存储可由一个或多个处理器执行的代码或指令的非暂态计算机可读介质)。
I.云基础设施系统
图1是根据一个实施例的云基础设施系统的逻辑视图。云基础设施系统可以提供对一套应用、中间件和数据库服务产品(offerings)的访问,这些产品以自助服务、基于订阅的、弹性可缩放、可靠、高度可用和安全的方式交付给客户。云基础设施系统可以被实现以用于公共云(诸如公司提供的Oracle公共云)。
云基础设施系统可以提供许多能力,这些能力包括但不限于供应、管理和跟踪客户对云基础设施系统中的服务和资源的订阅、向利用云基础设施系统中的服务的客户提供可预测的运营支出、在云基础设施系统中提供健壮的客户数据保护和身份域分离、为客户提供透明的体系架构和对云基础设施系统的设计的控制、为客户提供有保证的数据保护以及对数据隐私标准和法规的遵守、为客户提供用于在云基础设施系统中构建和部署服务的集成开发体验,以及为客户提供云基础设施系统中的业务软件、中间件、数据库和基础设施服务之间的无缝集成。
在某些实施例中,由云基础设施系统提供的服务可以包括被置为对云基础设施系统的用户按需可用的大量服务,诸如在线数据存储和备份方案、基于Web的电子邮件服务、托管的办公套件和文件协作服务、数据库处理、受管理的技术支持服务等。由云基础设施系统提供的服务可以动态缩放以满足用户的需求。由云基础设施系统提供的服务的具体实例化在本文被称为服务实例。一般而言,来自云服务提供商的系统的、经由通信网络(诸如互联网)对用户可用的任何服务被称为云服务。通常,在公共云环境中,组成云服务提供商的系统的服务器和系统与客户自己本地的服务器和系统不同。例如,云服务提供商的系统可以托管应用,并且用户可以经由通信网络(诸如互联网)来按需订购和使用该应用。
计算机网络云基础设施中的服务包括对由云供应商向用户提供或者以本领域中已知的其他方式提供的存储空间、托管的数据库、托管的web服务器、软件应用或其它服务的受保护的计算机网络访问。例如,服务可以包括通过互联网对云上的远程存储空间的受密码保护的访问。作为另一个示例,服务可以包括基于web服务的托管的关系数据库和脚本语言中间件引擎,以供联网的开发者专门使用。作为另一个示例,服务可以包括对托管在云供应商的web站点上的电子邮件软件应用的访问。
在图1中,云基础设施系统100可以经由云或联网的环境提供各种服务。这些服务可以包括在一个或多个类别下提供的一个或多个服务,这些类别诸如是软件即服务(SaaS)类别、平台即服务(PaaS)类别、基础设施即服务(IaaS)类别或包括混合服务的其它类别的服务。客户经由订阅订单可以订购由云基础设施系统100提供的一个或多个服务。然后云基础设施系统100执行处理,以提供客户的订阅订单中的服务。
云基础设施系统100可以经由不同的部署模型来提供云服务。例如,服务可以在公共云模型下提供,其中云基础设施系统100由出售云服务的组织拥有(例如,由公司拥有),并且服务被置为对普通公众或不同的行业企业可用。作为另一个示例,服务可以在私有云模型下提供,其中云基础设施系统100仅针对单个组织操作,并且可以为该组织内的一个或多个实体提供服务。云服务也可以在社区云模型下提供,其中云基础设施系统100和由系统100提供的服务由相关社区中的若干个组织共享。云服务也可以在混合云模型下提供,混合云模型是两种或更多种不同模型的组合。
如图1中所示,云基础设施系统100可以包括多个部件,这多个部件结合地工作,使得能够供应由云基础设施系统100提供的服务。在图1中所示的实施例中,云基础设施系统100包括SaaS平台102、PaaS平台104、IaaS平台110、基础设施资源106和云管理功能108。这些部件可以用硬件、软件或其组合来实现。
SaaS平台102被配置成提供落在SaaS类别下的云服务。例如,SaaS平台102可以提供在集成的开发和部署平台上构建和交付一套按需应用的能力。SaaS平台102可以管理和控制用于提供SaaS服务的底层软件和基础设施。通过利用由SaaS平台102提供的服务,客户可以利用在云基础设施系统100上执行的应用。客户可以获取应用服务,而无需客户购买单独的许可证和支持。
可以提供各种不同的SaaS服务。示例包括但不限于为大型组织的销售绩效管理、企业集成和业务灵活性提供方案的服务等。在一个实施例中,SaaS服务可以包括客户关系管理(CRM)服务110(例如,由Oracle云提供的融合CRM服务)、人力资本管理(HCM)/人才管理服务112等。CRM服务110可以包括涉及向客户报告和管理销售活动周期的服务等等。HCM/人才服务112可以包括涉及向客户提供全球劳动力生命周期管理和人才管理服务的服务。
各种不同的PaaS服务可以由PaaS平台104在标准化的、共享的和弹性可缩放的应用开发和部署平台中提供。PaaS服务的示例可能包括但不限于使组织(诸如Oracle)能够在共享的公共体系架构上整合现有应用的服务,以及充分利用由平台提供的共享服务来构建新应用的能力。PaaS平台104可以管理和控制用于提供PaaS服务的底层软件和基础设施。客户可以获取由云基础设施系统100提供的PaaS服务,而无需客户单独购买许可证和支持。PaaS服务的示例包括但不限于Oracle Java云服务(JCS)、Oracle数据库云服务(DBCS)等等。
通过利用由PaaS平台104提供的服务,客户可以采用受云基础设施系统100支持的编程语言和工具,并且还控制所部署的服务。在一些实施例中,由云基础设施系统100提供的PaaS服务可以包括数据库云服务114、中间件云服务(例如,Oracle融合中间件服务)116和Java云服务117。在一个实施例中,在云基础设施系统100中,数据库云服务114可以支持共享服务部署模型,该模型使组织能够汇聚(pool)数据库资源并向客户提供数据库云形式的数据库即服务,中间件云服务116为客户提供开发和部署各种业务应用的平台,并且Java云服务117为客户提供部署Java应用的平台。图1中示出的SaaS平台102和PaaS平台104中的部件仅用于说明的目的,并不旨在限制本发明的实施例的范围。在替代实施例中,SaaS平台102和PaaS平台104可以包括用于向云基础设施系统100的客户提供附加服务的附加部件。
可以由IaaS平台110提供各种不同的IaaS服务。IaaS服务便于利用由SaaS平台和PaaS平台提供的服务的客户对底层计算资源(诸如存储空间、网络和其它基础计算资源)的管理和控制。
在某些实施例中,云基础设施系统100包括用于提供用来向云基础设施系统100的客户提供各种服务的资源的基础设施资源106。在一个实施例中,基础设施资源106包括硬件(诸如服务器、存储装置和联网资源)的经预先集成和优化的组合,以执行由PaaS平台和SaaS平台提供的服务。
在某些实施例中,云管理功能108提供对云基础设施系统100中的云服务(例如,SaaS、PaaS、IaaS服务)的综合管理。在一个实施例中,云管理功能108包括用于供应、管理和跟踪由云基础设施系统100接收到的客户的订阅的能力等等。
图2是根据实施例的云基础设施系统100的简化框图。应当认识到的是,图2中绘出的实现方式可以具有除图2中绘出的那些部件之外的其它部件。另外,图2中所示的实施例仅仅是可以结合本发明实施例的云基础设施系统的一个示例。在一些其它实施例中,云基础设施系统100可以具有比图2中所示的更多或更少的部件,可以组合两个或更多个部件,或者可以具有部件的不同配置或布置。在某些实施例中,硬件部件和软件部件被堆叠,以供给提供最佳性能的垂直集成。
各种类型的用户可以与云基础设施系统100交互。这些用户可以包括例如可以使用各种客户端设备(诸如台式机、移动设备、平板电脑等)与云基础设施系统100交互的终端用户150。用户还可以包括可以使用命令行接口(CLI)、应用程序编程接口(API)、通过各种集成开发环境(IDE)和经由其它应用与云基础设施系统100交互的开发者/程序员152。用户还可以包括操作人员154。这些人员可以包括云服务提供商的人员或其他用户的人员。
应用服务层156识别可以由云基础设施系统100提供的各种云服务。这些服务可以经由服务集成和链接层158被映射到相应的软件部件160(例如,用于提供Java服务的Oracle WebLogic服务器、用于提供数据库服务的Oracle数据库等)或与其相关联。
在某些实施例中,可以提供多个内部服务162,这多个内部服务162由云基础设施系统100的不同部件或模块共享以及由云基础设施系统100所提供的服务共享。这些内部共享服务可以包括但不限于安全和身份服务、集成服务、企业储存库服务、企业管理器服务、病毒扫描和白名单服务、高可用性、备份和恢复服务、用于在IDE中启用云支持的服务、电子邮件服务、通知服务、文件传送服务等。
运行时基础设施层164表示在其上构建各种其它层和部件的硬件层。在某些实施例中,运行时基础设施层164可以包括用于提供存储、处理和联网资源的一个OracleExadata机器。Exadata机器可以由各种数据库服务器、存储服务器、联网资源以及其它部件组成,以用于托管与云服务相关的软件层。在某些实施例中,Exadata机器可以被设计成与Oracle Exalogic一起工作,其中Exalogic是提供存储、计算、网络和软件资源的集合体(assemblage)的工程化系统。Exadata和Exalogic的结合提供了完整的硬件和软件工程化方案,该方案提供了用于提供云服务的高性能、高可用、可缩放、安全且受管理的平台。
II.异常检测和解决系统的高级别概述
图3示出了用于管理计算系统(诸如云基础设施系统300)中的异常的自主系统300的高级别概述。下面描述的技术中的一个或多个可以在一个或多个计算机系统中实现或涉及一个或多个计算机系统。
系统300可以包括客户端系统302、客户端系统304、...、客户端系统308(统称为“客户端系统”或“客户端”310)、自主系统部件(ASC)318、图1和图2的云基础设施系统100,以及异常检测和解决系统(ADRS)320。ASC 318可以被包括在云基础设施系统100的云管理功能108中。客户端系统310可以由一个或多个用户操作,以访问由云基础设施系统100提供的服务。客户端系统310和云基础设施系统100可以经由一个或多个通信网络330在通信上连接。通信网络的示例包括但不限于互联网、广域网(WAN)、局域网(LAN)、以太网网络、公共或专用网络、有线网络、无线网络之类及其组合。可以使用不同的通信协议来便于通信,这些通信协议包括有线协议和无线协议二者,诸如IEEE 802.XX协议套件、TCP/IP、IPX、SAN、AppleTalk、以及其它协议。
在一些实施例中,计算系统(诸如云基础设施系统100)可以用一个或多个部件(通常是许多部件)来实现,以用于对系统进行操作。这些部件中的全部或一些可以是相关的。部件可以基于部件模型(诸如参考图4和图5描述的部件模型)来定义。如下面进一步描述的,部件可以包括物理部件(例如,物理机器、网络交换机和存储设备)、虚拟部件(例如,计算虚拟机、Java虚拟机(JVM)和虚拟网络接口控制器(NIC))、以及软件部件(例如,操作系统和应用)。
在图3的示例中,云基础设施系统100包括一个或多个部件。例如,云基础设施系统100包括一个或多个容器。容器(例如,服务容器)是特殊类型的部件。容器可以为其中运行的部件提供资源,或者容器可以被包括在部件中。容器可以提供命名空间和资源池(RP)以让部件运行。容器可以是具有资源池并为其它部件在容器中运行提供环境的部件。云基础设施系统100包括诸如提供容器命名空间的容器350之类的部件。容器350可以包括嵌入在容器350中的多个部件诸如容器360(“容器命名空间”)、容器370(“容器命名空间”)以及一个或多个异常检测和解决部件(ADRC)(例如,ADRC 354)。ADRC 354可以是环境级别的ADRC。ADRC在下面进一步描述。例如,JVM可以是在作为容器的VM内运行的嵌入式容器。部件可以以分层方式实现,使得部件可以具有嵌入的部件,该嵌入的部件可以进一步具有部件。部件可以以多个级别的层次结构来定义,每个级别与具有在层次结构的另一个级别中的部件的部件对应。
容器350可以包括资源池(RP)352,用于为嵌入在容器350中的容器提供资源。一般而言,在本公开中,资源可以包括硬件资源、软件资源、固件资源,或其组合。例如,RP可以包括资源(诸如CPU、存储器、存储空间、IO带宽、网络带宽)的集合。RP可以允许RU从其获得资源和向其返回资源。在一些实施例中,RP可以是动态资源池(DRP),使得资源可以在运行时增加或减少。DRP可以是动态的,以在运行时单独或共享地向容器提供资源。RP可以包括一个或多个资源提供者或由一个或多个资源提供者支持。在一些实施例中,容器可以包括提供资源的资源提供者。
诸如容器350之类的部件可以包括至少一个资源用户(RU)。RU可以包括运行该容器的线程或进程。另一个部件(例如,容器)内的部件可以被认为是RU。在系统300中的示例中,容器350可以包括一个或多个部件(诸如容器360和370),其中的每一个部件都是RU。例如,容器360和容器370可以是用于作为物理机器的容器350的虚拟机。RP 352可以向容器350中的容器360、370提供资源。一个部件可以是另一个部件内的资源提供者。例如,Java虚拟机(JVM)是操作系统资源的用户,并且是在Java虚拟机中运行的Java应用的资源提供者。因此,JVM可以是嵌入在另一个容器中的容器。对容器可用的资源可以被限制(约束),使得容器被保证有一定数量的资源但最终不会使用过多的资源。每个嵌入式容器360和容器370可以分别包括资源池362和资源池372。
ADRS 320可以监视并采取行动,以解决在云基础设施系统100中执行的处理中的异常。具体而言,ADRS可以检测并解决提供给客户端系统310的服务中的异常。ADRS 320可以是ASC 318的部件。虽然ASC 318被示为与云基础设施系统100分离,但是ADRS 320可以被包括在云基础设施系统100中或者与云基础设施系统100集成,诸如被包括在图1的云管理功能108中。ASC 318可以在云基础设施系统100外部,并且可以经由网络330在通信上耦合到云基础设施系统100。ASC 318可以执行在本文公开的为了异常管理、检测和解决而执行的操作。
ADRS 320可以使用计算机系统来实现,该计算机系统可以包括一个或多个计算机和/或服务器,其可以是通用计算机、专用服务器计算机(作为示例,包括PC服务器、UNIX服务器、中程服务器、大型计算机、机架式服务器,等等)、服务器场、服务器集群、分布式服务器,或任何其它适当的布置和/或其组合。例如,根据本公开的实施例,ADRS 320可以与用于执行如本文所述的处理的计算机系统对应。构成ADRS 320的计算系统可以运行任何数量的操作系统或各种附加服务器应用和/或中间层应用,包括HTTP服务器、FTP服务器、CGI服务器、Java服务器、数据库服务器等。示例性的数据库服务器包括但不限于可从Microsoft商购的那些服务器等等。在一个示例中,ADRS 320可以被包括云基础设施系统100中或实现为由云基础设施系统100提供的服务(诸如由公司提供的Oracle公共云)。在各种实施例中,ADRS 320可以被配置成运行前述公开中描述的一个或多个服务或软件应用。
在一些实施例中,ASC 318可以被实现为包括一个或多个计算机和/或服务器的企业计算系统或云计算系统,所述一个或多个计算机和/或服务器可以包括上述那些计算机和/或服务器。ASC 318可以包括若干子系统和/或模块,包括一些可能未示出的子系统和/或模块。例如,ASC 318可以包括ADRS 320、服务创建和部署管理系统(SCDMS)322、组成和配置管理系统(CCMS)324以及日志仓库和分析系统(LRAS)328。ADRS 320可以与SCDMS 320、CCMS 324和LRAS 326一起使用。ASC 318可以用一个或多个ADRC来实现或者使用一个或多个ADRC来操作。如将在下面进一步描述的,ASC 318可以包括(例如,被嵌入到)云基础设施系统100中的一个或多个子系统和/或模块,或者用这些子系统和/或模块实现。ADRC可以是云基础设施系统100中的子系统和/或模块。ADRC可以是具有一个或多个子系统和/或模块的计算系统。ASC 318可以具有比图中所示更多或更少的子系统和/或模块,可以组合两个或更多个子系统和/或模块,或者可以具有子系统和/或模块的不同配置或布置。ASC 318的子系统和模块可以以软件(例如,可由处理器执行的程序代码、指令)、固件、硬件或其组合来实现。在一些实施例中,软件可以被存储在存储器(例如,非暂态计算机可读介质)中、被存储在存储器设备或某种其它物理存储器上,并且可以由一个或多个处理单元(例如,一个或多个处理器、一个或多个处理器核心、一个或多个GPU,等等)执行。
在某些实施例中,ASC 318还可以提供其它服务,或者软件应用可以包括非虚拟环境和虚拟环境。在一些实施例中,可以将这些服务作为基于web的服务或云服务或者在软件即服务(SaaS)模型下提供给客户端系统310的用户。例如,ASC 318的ADRS 320可以检测并解决云基础设施系统100中的异常。由ASC 318提供的服务可以包括应用服务。应用服务可以由ASC 318经由SaaS平台提供。SaaS平台可以被配置成提供落在SaaS类别下的服务。SaaS平台可以管理和控制用于提供SaaS服务的底层软件和基础设施。通过利用由SaaS平台提供的服务,客户可以利用在ASC 318中执行的应用,其可以被实现为云基础设施系统。用户可以获取应用服务,而无需客户购买单独的许可证和支持。可以提供各种不同的SaaS服务。操作客户端系统310的用户继而可以利用一个或多个应用来与ASC 318交互,以利用由ASC318的子系统和/或模块提供的服务。
ASC 318可以包括至少一个存储器、一个或多个处理单元(或(一个或多个)处理器)和存储装置。(一个或多个)处理单元可以适当地以硬件、计算机可执行指令、固件或其组合来实现。(一个或多个)处理单元的计算机可执行指令或固件实现方式可以包括以任何合适的编程语言编写的计算机可执行指令或机器可执行指令,用于执行本文描述的各种操作、功能、方法和/或过程。ASC 318中的存储器可以存储可以在(一个或多个)处理单元上加载和执行的程序指令以及在这些程序的执行期间生成的数据。存储器可以是易失性的(诸如随机存取存储器(RAM))和/或非易失性的(诸如只读存储器(ROM)、闪存等)。存储器可以使用任何类型的持久性存储设备(诸如计算机可读存储介质)来实现。在一些实施例中,计算机可读存储介质可以被配置成保护计算机免受包含恶意代码的电子通信的影响。计算机可读存储介质可以包括存储在其上的指令,这些指令当在处理器上执行时,执行本文描述的操作。
ASC 318还可以包括或耦合到存储装置,存储装置可以使用任何类型的永久性存储设备(诸如存储器存储设备或其它非暂态计算机可读存储介质)来实现。在一些实施例中,本地存储装置可以包括或实现一个或多个数据库(例如,文档数据库、关系数据库或其它类型的数据库)、一个或多个文件存储库、一个或多个文件系统,或其组合。例如,ASC 318可以耦合到或可以包括一个或多个数据存储库。存储器和附加的存储装置都是计算机可读存储介质的示例。例如,计算机可读存储介质可以包括以用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的以任何方法或技术实现的易失性介质或非易失性介质、可移除介质或不可移除介质。数据存储库可以经由网络330来访问。根据本文所公开的技术,可以实现更多或更少的数据存储库以存储数据。
ASC 318可以被实现以用于计算系统(诸如企业计算系统或云系统(例如,云基础设施系统100)),以使计算系统能够自主地操作。出于说明的目的,ASC 318在具有云基础设施系统100的实现方式的示例中示出。这种实现方式被示为显示对于计算系统的操作的益处和改进。然而,附图中关于云系统示出的实施例不旨在被限制到云系统,并且可以在许多不同类型的计算系统中实现。ASC 318可以自动检测并采取动作来解决(如果不是减轻的话)计算系统的性能的异常。异常的示例可以包括响应时间异常、负载异常、资源使用异常、部件故障异常和停运异常。参考图9和图10来进一步描述不同类型的异常。
在云基础设施系统100中发生的许多异常可以由包括负载尖峰、部件故障和/或系统的恶意使用的因素造成,并且这些异常表现为一个或多个容器中错误的尖峰、资源使用增加、以及关键性能指标(KPI)恶化。在云基础设施系统100中部署服务的开发团队、产品经理、业务开发经理和系统管理员可以提出一套事件-条件-动作(ECA)规则并且随着时间的推移而将它们精细化,以为每个服务应对这些临时异常,使得异常可以以编程方式被解决。如果异常长时间持续存在,那么它可能不得不被视为一种新常态,并且针对服务的资源分配政策可能需要被重新评估。用于异常的校正动作包括起用(spin up)更多的服务器、节制服务请求到达速率、杀死一些线程或进程,以及动态地将资源从不使用该资源的服务暂时重新分配到需要该资源的服务,这仅仅是几个示例。
ADRS 320可以基于异常的分类系统(“异常分类系统”)和基于规则的分层异常检测和解决技术来检测和解决异常。参考图9和图10进一步描述ADRS异常分类。异常可以被分类为一个或多个类别,诸如已定义的异常和未定义的异常。异常可以由ADRS 320监视和解决,以维持云基础设施系统100的性能标准。性能标准可以基于一个或多个系统度量来定义。例如,性能标准可以基于由云基础设施系统100提供的服务的一个或多个服务质量(QoS)属性来定义。QoS属性可以由用于服务的协议(诸如服务水平协议(SLA))定义或为该协议定义。异常可以由被监视的系统(诸如云基础设施系统100)的管理员定义。异常可以基于一个或多个用户定义的系统度量(其可以由管理员定义)定义。用户定义的系统度量可以包括资源使用、负载尖峰、恶意使用和部件故障。
一个或多个ADRC可以在云基础设施系统100外部、在云基础设施系统100内部或其组合中实现。可以为ADRS 320实现ADRC。为了检测异常并立即采取动作以减轻问题,可以将一个或多个ADRC插入到云基础设施系统100中的一个或多个部件中。例如,ADRC可以在云基础设施系统100的每个部件中(诸如在容器350、360、370中的每一个中,包括每个嵌入式容器)实现。容器360、370中的每个部件可以包括专用的ADRC。可以在云基础设施系统100中的云环境级别实现ADRC。例如,除了为云基础设施系统100中的每个部件实现ADRC之外,还可以为作为整体的云基础设施系统100(例如,云环境级别)实现ADRC。ASC 318可以包括ADRC或者可以操作作为云基础设施系统100的云环境级别的ADRC。云基础设施系统100中的ADRC中的任何ADRC可以被实现为自行执行、根据来自ADRS 320的控制来执行,或者是其组合。如将在图5-图7中进一步描述的,ADRC可以包括多个部件,以协助在部件级别检测和解决异常。
部件中的ADRC可以检测在正被执行的过程期间发生的事件的异常。该过程可能是正被提供给客户端系统的服务的一部分。ADRC可以利用异常检测器来检测为ADRS 320定义的异常。ADRC(例如,ADRC 354)可以确定是否为包括该ADRC的部件定义了异常解决策略。如果定义了策略,那么ADRC将利用策略引擎来尝试基于这(一个或多个)策略解决异常。如果异常不能被解决或者如果没有为该异常定义的策略,那么ADRC可以将关于事件的异常的信息传送到父部件(例如,容器350)以进行解决。父部件可以包括ADRC(例如,ADRC 354),其可以确定如何解决该异常以及在父部件中是否定义了任何这样的策略。
如果父部件不能解决异常,那么可以将关于事件的异常的信息传送到云基础设施系统中的部件层次结构中所定义的该父部件的更高级别父部件。关于事件的异常的信息可以被传送到为云基础设施系统100定义的部件的层次结构中相关的每个后续的父部件。在确定部件没有父部件时,将关于事件的异常的信息被发布到消息传送系统,以让ADRS在云环境级别处置异常或发出警报。
用于异常解决的这种分层方法比集中式异常管理更灵活并且在资源使用方面是高效的。通过将异常检测和解决隔离到部件级别,可以消耗更少的计算资源来解决异常,这是由于异常在发生异常本地的部件或父部件中被处置。通过减少异常到集中式系统的传送,云基础设施系统100可以减少用于解决异常的响应时间,并且在一些情况下防止进一步的问题或异常发生,这是因为异常是在本地部件中被解决的。用于异常检测和管理的本地化方法可以减少人们参与处理大型计算系统(诸如云系统)中的数以千计的异常。通过将异常检测和解决在部件级别本地化,云基础设施系统可以在很少人为干预的情况下更加自主地操作。
ADRS 320可以协调和管理由ADRC在部件级别处置的异常的检测和解决。ADRC由两个子系统组成:异常检测和通知系统(ADNS)及异常解决子系统(ARS)。ADNS子系统允许系统管理员指定它需要针对异常而监视的度量、在发布事件之前检测到异常情况时要测试的条件、以及事件数据中要包括的内容。ADNS监视针对异常的相关度量,并且在检测到异常时评估条件,并且当条件为真时将与异常对应的事件连同事件数据一起存储到该ADRC实现于其中的部件的本地的数据存储中。检测异常的条件的示例是在提出事件之前度量的连续异常读数的数量。当创建服务时,从ASC 318的SCDMS 322获得用于异常检测的度量和界限。度量(诸如负载和资源消耗)可以由系统管理员定义并由ASC 318的LRAS 326提供。
在一些实施例中,ADNS可以实现用于发布事件的通信系统。该通信系统可以实现通知服务。通知服务可以便于与云基础设施系统300和/或ASC 318中的部件的通信。可以通过网络330来便于通信。关于事件和异常的信息可以经由通信系统使用拉起(pull)和/或推送(push)机制(例如,推送或拉起通知服务)来传送,从而进行通信。可以在订阅的基础上为ADRS和ADRC配置推送和/或拉起机制。
CCMS 324利用图4的部件模型来描述系统(例如,云基础设施系统100)的硬件部件和服务(软件)部件以及它们之间的关系以及与它们产生的日志和度量流的关系。CCMS 324可以管理数据存储库(诸如配置储存库),该配置储存库是表示由于服务的自助服务部署、虚拟机(VM)的实时迁移、容量缩放以及故障转移等等而引起的配置的动态性质的临时数据库。配置储存库可以基于图4的部件模型来定义。CCMS 324可以充分利用其它配置储存库(诸如公司的Oracle企业管理器储存库和由底层云操作系统(IaaS)维护的配置储存库(诸如Nimbula或OpenStack配置数据库))中的信息。
在一些实施例中,SCDMS 322可以使用或实现被称为编排器的子系统,该子系统在不同的基础设施即服务(IaaS)的顶上提供抽象层以创建和配置容器。所有创建的子系统生成用于新部署的部件的身份、强制实施配额,并用关于正被部署的部件的数据及其对其它服务的依赖性来更新配置储存库。各个部件用主目录以及与这些部件相关联的日志和度量流来更新配置储存库。所创建的这些子系统可以经由表示状态转移(REST)应用编程接口(API)和命令行接口(CLI)被访问,以用于组件的程序化部署。
SCDMS 322可以使得用户(例如,应用开发者和管理员)能够定义部件来实现服务。如图4和图5中所示,定义服务的部件可以被定义在一个或多个组件中。组件可以被用来提供高度自动化的过程,该过程供应云中的用于部署服务的虚拟环境。
在至少一个实施例中,SCDMS 322可以生成并向客户端系统提供一个或多个接口,以使得用户能够定义异常的属性。(一个或多个)接口可以包括物理接口、图形接口(例如,图形用户接口)或其组合。图形接口可以由SCDMS 322生成并提供给客户端系统310。作为SCDMS 322的一部分,接口可以经由网络330提供,作为服务(例如,云服务)或应用的一部分。异常的属性可以用声明性方式来定义。例如,用户可以通过指定定义正常系统行为的关键度量的界限来定义异常,这些关键度量包括服务的响应时间、服务的可用性、要为服务分配的资源、系统负载、可容忍的错误率以及针对其它度量的预期值。用户可以指定度量的界限,以强制实施与用于客户的服务的SLA相关联的QoS。度量的界限可以根据参考图9和图10所描述的异常数据结构来定义。SCDMS 322还生成新部署的部件的身份,并使用部件信息及这些部件与日志和度量流的关系以及与其它部件的关系来更新配置储存库。
编排器可以是用于创建组件并将其部署到云基础设施系统100中的服务应用,其中组件是对由一个或多个VM、存储装置、软件和网络连接性组成的系统的描述,从而允许系统按照组件定义来操作。编排器经由接口提供自助服务层,从中部件和组件的编目(catalog)容易让用户用于整个软件系统的快速部署,此外还提供诸如DNS设置、软件引导和部署后调整大小功能(设置VM大小(垂直缩放)和组件缩放(水平缩放))之类的特征。编排器编目也提供简单的版本控制、发布和声明性配置特征。开发者可以使用编排器的部件框架来实现定义各种系统的任意数量的组件(例如,Org或功能标准化OS映像、用于测试的软件应用的新旧版本、已发布的标签,等等)。由编排器提供的接口可以如下地启用供应:(1)经由SSO对由编排器提供的用户接口进行认证,(2)从编排器的编目中挑选组件,(3)提供该组件实例的名称以及大小信息,(4)提供项目名称,配额和计量将针对该项目名称而操作,(5)设置被部署到云环境中的组件实例,以及(6)可选地,停止/启动/取消部署该组件实例、重新设置该组件实例的VM的大小或者缩放该组件实例。编排器包含管理员接口,以允许编排器管理员监视部署、日志以及对编排器的该实例的所有用户、部署和编目执行“超级用户”动作。
LRAS 328可以收集来自云基础设施系统100中的所有部件的日志和度量流、计算统计数据、并且应用时间序列分析,以确定度量的季节性界限。对于其中用户定义的界限被满足超过某个百分比的时间的正常系统操作,LRAS 328在每个时段(例如,每周)的每个间隔(例如,每小时)针对每个度量计算每个部件的资源使用以及度量的趋势和季节性变化。这些季节性界限被推送到适当的部件,使得该部件可以针对异常来监视这些度量(包括资源使用)。该系统还使用无监督机器学习技术来预测未来的故障。
III.部件模型
图4和图5示出了用于实现云基础设施系统100的部件模型。图4和图5中的元素可以用一个或多个数据结构来实现。可以在利用该部件模型的ASC 318或ADRC可以访问的存储装置(例如,数据存储库)中管理(一个或多个)数据结构。所示出的元素中的每一个可以使用以各种方式组织的一个或多个数据结构来实现,这取决于数据如何被存储、存储什么数据和/或数据存储在哪里。虽然每个数据结构被示为包括特定数据,但是可以实现更多或更少的数据结构来存储数据。数据结构可以包括对其它数据结构的引用。可以创建这些数据结构中每一个数据结构的实例,以用于管理不同安全工件(artifact)的存储。数据结构可以使用一个或多个类型的数据结构来实现,包括但不限于链表、数组、队列、散列表、映射图(map)、记录、图或其它类型的数据结构。每个数据结构可以基于对ASC 318的输入以声明性方式来定义。
图4示出了计算系统(诸如云基础设施系统100)的部件模型400。图3中的部件(例如,容器350、360、370)基于部件模型400。部件模型400可以被用来关联不同的度量和日志流。任何服务部署系统可以包括一个或多个部件402,这一个或多个部件402中的一些或全部可以是相关的。由部署410创建的每个部件作为一个或多个不同部件类型406之一的实例。部件可以经由不同类型的关系来相关联,这些关系包括父-子关系(例如,物理NIC是它被安装于其中的裸机服务器的孩子)以及对等关系(诸如使用身份提供者对其用户进行认证的补偿应用)。一些部件是容器,其为其它部件提供资源。部件可以生成一个或多个日志流和一个或多个度量流。
部件402可以被创建为部件类型406的实例,并且为基于组件408的部署410创建。组件408可以是除其它信息(诸如部件-容器关系、创建服务类型的实例所需的互连、以及用于配置服务的代码)之外还描述一个或多个部件类型的模板。在组件中指定的部件类型用于识别要在部件中部署的部件。部署410可以基于由组件408指示的部件类型。在一些实施例中,组件定义用于提供服务的部件、每个部件所需的资源、网络和存储配置、要在每个部件中配置的软件,以及用于监视服务的响应时间和度量的界限。例如,组件可以由一个或多个VM(其具有一定数量的CPU和一定存储器量)与部署在它们中的软件部件、它们使用的存储装置和其它服务、以及网络连接性一起组成,从而允许系统按照组件开发者的设计进行操作。组件可以被用来构建任何复杂度的基于单个或多个VM的系统,诸如IaaS服务、PaaS服务或SaaS服务。组件可以包括VM大小信息(vCPU计数、存储器的量)、要分配的盘存储装置、要安装的部件的列表、网络通信信息(源、目的地、端口)以及部件所需的变量(变量的值可以在组件部署期间提供)。
每个部件可以具有作为通用唯一标识符(UUID)的标识符,诸如内在标识符(IID)。IID可能是不变的、全局和时间上唯一的,并且总是指代同一个部件。即,即使考虑到过去存在或将来会出现的部件,也没有两个部件可以具有相同的IID值。部件可以有多个外在标识符(EID)。这些就像主键或赋予部件的其它标识符。例如,赋予物理机器的IP地址是EID。EID可以不是永久性的,并且可能在部件的寿命期间变化。如果两个部件经由父-子关系相关联(即,一个部件嵌入在另一个部件中),那么孩子部件不必具有它自己的IID。要注意的是,孩子(或嵌入的)部件可以只有一个父代。
部件402可以被定义为许多不同部件类型之一,包括但不限于网络设备414、服务实例416、容器418,存储装置实例420或数据库实例422。例如,部件可以包括操作系统、数据库、中间件系统、应用、程序或脚本。在图4的示例中,容器可以包括但不限于物理机器424、虚拟机426、操作系统(OS)容器428、Java虚拟机430和集群432。例如,OS容器可以包括但不限于linux(LXC)容器434、docker容器436或solaris区438。在另一个示例中,部件可以包括用于让编排器执行的插件模块。编排器可以包括数据和引导逻辑作为在引导虚拟机期间要被调用的程序方法(recipes)。部件可以包括一个由组件的部件使用的变量集合的声明。
部件类型406可以除其它特性之外还定义一个或多个日志流412和一个或多个度量流404。作为部件类型406的实例创建的部件402可以生成由部件类型406定义的度量流404和日志流412。度量流404和日志流412都可以是时间序列数据的流。度量流404和日志流412都可以被写入一个或多个文件、数据库,或者直接发布到消息传送系统的一个或多个主题或队列。这些流按父-子关系与产生它们的部件相关联。条目可以包含一些上下文标识符(诸如ODL日志中的ECID和RID),以关联形成服务的相同控制流的不同部件中的条目。
图5示出服务模型500,其示出了图4中的部件模型400的元素之间的关系。具体而言,服务模型500由云基础设施系统100用来向客户端系统310提供服务(例如,服务实例)(诸如服务510)。服务510或服务实例可以被创建为服务模板502的实例。服务可以经由到云基础设施系统100的请求/响应通信来创建。这种通信可以使用HTTP(S)或直接TCP/IP(例如,IMAP)协议来促进。服务模板可以基于与其相关联的一个或多个组件模板(例如,组件模板504)来定义。
组件件模板定义组件(例如,组件512)。组件可以被创建为组件模板的实例。组件模板可以定义环境级别资源,诸如在组件中定义的(一个或多个)容器可用的共享文件系统、网络、存储装置,以及为了在云环境中部署组件而要执行的工作流。例如,如果云环境提供HTTP监听服务(诸如Oracle HTTP服务(OHS)),并且每个服务都在OHS中创建虚拟主机,那么工作流可以包括在用于该服务的组件模板中,以在运行OHS服务的现有系统容器中创建虚拟主机。每个组件模板可以定义QoS特点和定价。例如,服务模板可以由两个组件模板定义:一个用于测试功能,另一个用于可缩放生产部署。
服务可以具有与其相关联的若干入口URI。服务的监听者部署在专用或共享容器中,该容器可以是集群。服务由到这些URI的一系列请求-响应交互来提供。组件的作者可以包括服务质量监视部件,其指定表示由组件支持的入口URI和所支持的服务集合的变量集合;其中每个服务都是入口URI的列表。用于错误特点的变量定义某种类型的错误的容许率。
在组件的部署期间,用户可以向ADRS提供输入,以使得SCDMS能够通过定义要由被创建为建立服务的服务实例处置的负载以及每个服务的响应时间和可用性的固定界限或季节性界限来确定期望的服务质量。可以从单个服务模板创建许多个服务,每个服务模板使用具有可能不同的QoS特点的不同组件模板。服务可以被创建,使得为服务的所有部件定义的所有度量都在为该服务以及它运行于其中的容器而指定的界限内。在该范围之外观察到的任何度量值都被认为是异常,并且如果异常持续指定的时间段,那么它将被ADRS 320实时地应对。
组件模板可以引用一个或多个容器模板,诸如容器模板506。容器模板可以定义容器类型、要分配的资源、要部署的部件、特定于容器的度量、以及特定于容器的异常检测和解决策略。例如,一个或多个容器(例如,容器514)可以被部署在其自己的专用容器中或被部署在共享容器中。专用容器不允许在其中部署附加的部件,但是仍然可以执行对现有部件的更新。容器可以处于两种状态之一:打开或关闭。在关闭的容器中,部件可以不是可部署的。
非容器部件模板(诸如部件模板508)可以定义配置规范、特定于服务的度量(包括仪器)以及特定于部件(例如,部件516)的异常检测和解决策略。部件可以在容器内运行。容器可以使用部件。容器模板可以参考部件模板,以让部件在基于该容器模板创建的容器内运行。部件可以被创建为部件模板的实例。部件模板可以依赖于部件模板。部件模板可以声明度量,诸如关键URI的响应时间。在部署组件时,必须为在组件中定义的每个度量(例如,用于应用部件的响应时间、用于容器的CPU数量、RAM等等)提供界限,以创建被部署在给定软件/硬件环境中的服务。
IV.异常检测和解决部件(ADRC)的详细概述
图6和图7示出了根据一些实施例的ADRS的ADRC 600的框图。ADRC可以被实现为图3的ADRS 320的一部分。可以为云基础设施系统100中的每个部件创建ADRC。例如,ADRC354、364、374中的每一个可以是ADRC 600的实例。如前面所提到的,ADRC可以部署在云基础设施系统100的部件(诸如容器)中。ADRC可以被实现为检测和解决异常。ADRC可以使用各种编程语言(诸如)来实现。
在一些实施例中,ADRC 600可以包括一个或多个子系统和/或模块。ADRC 600可以包括异常检测和通知系统(ADNS)630和异常解决子系统(ARS)620,异常检测和通知系统(ADNS)630和异常解决子系统(ARS)620各自包括一个或多个子系统和/或模块。ADNS 630可以包括一个或多个异常检测器(AD)608和数据存储库612。ARS 620可以包括策略引擎(PE)602、通信代理(CA)604、动作库(AL)606、事件分派器(ED)610、日志采集器(LH)614以及策略存储库616。
ADRC 600还包括或耦合到存储装置,存储装置可以使用任何类型的永久性存储设备(诸如存储器存储设备或其它非暂态计算机可读存储介质)来实现。在一些实施例中,本地存储装置可以包括或实现一个或多个数据库(例如,文档数据库、关系数据库或其它类型的数据库)、一个或多个文件存储库、一个或多个文件系统,或其组合。例如,ADRC 600可以耦合到或可以包括一个或多个数据存储库。存储器和附加的存储装置都是计算机可读存储介质的示例。例如,计算机可读存储介质可以包括以用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的以任何方法或技术实现的易失性介质或非易失性介质、可移除介质或不可移除介质。根据本文所公开的技术,可以实现更多或更少的数据存储库以存储数据。
在至少一个实施例中,ADRC 600可以包括数据存储库612、策略存储库616以及AL606。数据存储库612可以被实现为循环数据库(RRD)或环形队列。RRD可以使用环形队列(例如,先进先出环形队列)来实现。例如,在图7中,ADRC 600包括多个RRD,诸如RRD 704、RRD706、RRD 708、RRD 710和RRD 712,每个RRD特定于与由异常检测器检测的不同类型异常对应的不同事件数据。事件数据可以包括关于ADRC 600实现于其中的部件中的异常事件的源、异常事件的原因、何时检测到了异常事件的信息以及关于异常事件的任何其它信息。RRD 704可以存储用于在RAM中检测到的异常的事件数据。RRD 706可以存储用于在CPU中检测到的异常的事件数据。RRD 708可以存储用于在存储装置中检测到的异常的事件数据。RRD 710可以存储用于基于网络的异常的事件数据。RRD 712可以存储用于特定于部件的异常的事件数据。
ADNS 630可以监视云基础设施系统100中的一个或多个度量。ADNS 630被设计成使得用于监视异常的对网络资源的使用最小化。具体而言,ADNS 630可以监视ADRC 600实现于其中的部件中的度量。可以采用一个或多个异常检测器608通过轮询或者通过监听事件来监视度量,该度量或者在某个度量流中直接可用或者从某个日志流计算得出。在一些实施例中,部件可以具有多个AD,部件中的每个资源都有一个AD。可以为要监视的每个不同度量实现AD。可以为每个日志类型实现AD。
可以使用参考图9描述的异常分类系统来监视度量。可以针对基于异常的(一个或多个)定义的度量来监视异常。可以为与资源使用对应的度量定义AD。可以关于错误率目标来监视资源。异常可以由固定界限的或季节性界限来定义。可以为度量定义阈值,使得AD被配置成当阈值被满足时发布事件。为了监视度量,AD可以通过各种技术来监视一个或多个关键性能指标(KPI)、资源使用和错误。可以通过订阅事件或轮询ADRC实现于其中的部件的系统中的度量来监视度量。例如,AD可以通过轮询操作系统中的MBean(受管理的Java对象)属性或操作系统度量来监视资源使用。AD可以周期性地扫描相关日志文件并监听操作系统日志(诸如syslog)。
AD可以是特定于部件的,使得AD使用特定于包括AD的ADRC实现于其中的部件的类型的特征来监视度量。例如,在作为JVM类型的容器的部件中,AD可以监听来自部署在JVM中的MXBean的Java管理扩展(JMX)通知以检测异常。在另一个示例中,用于LXC容器的AD可以使用流处理软件(诸如Heka)来检测异常。流处理软件可以使ADNS能够监视日志和度量流,并向它们的值应用过滤器。过滤器被设计成检测超出界限的值。AD可以使用特定于AD实现于其中的部件的类型的语言来实现。例如,用于JVM容器类型的AD可以使用Java表达语言(JEXL)来实现。在一些实施例中,ADNS可以使用基于异常分类系统初始化的沙箱过滤器来实现,以让度量被监视。过滤器测试值并记住超出界限的连续读数的数量。在达到异常的阈值时,可以检测到异常。
在图7中,ADRC 600被示为具有多个异常检测器,诸如RAM AD 720、CPU AD 722、存储装置AD 724、网络AD 726以及部件AD 728。RAM AD 720、CPU AD 722、存储装置AD 724、网络AD 726和部件AD 728中的每一个可以被实现为检测ADRC 600实现于其中的部件中的不同类型的异常。RAM AD 720可以检测与RAM使用相关的异常。CPU AD 722可以检测与CPU使用相关的异常。存储装置AD 724可以检测与存储装置使用相关的异常。网络AD 726可以检测与网络活动相关的异常。部件AD 728可以检测特定于部件的异常。RAM AD 720、CPU AD722、存储装置AD 724、网络AD 726和部件AD 728中的每一个可以分别具有不同的数据存储库,诸如RRD 704、RRD 706、RRD 708、RRD 710和RRD 712。用于AD的不同数据存储库可以被用来存储该AD检测到的异常的事件数据。AD 720-728中的每一个可以被定义为检测不同的异常。如上面所讨论并在下面进一步描述的,异常可以由度量的具体界限来定义。例如,AD720-726中的每一个可以被定义用于根据季节性界限的异常,并且AD 728可以被定义用于根据固定界限的异常。
当度量的值满足使用异常分类系统为异常定义的阈值时,AD可以检测到事件(“异常事件”)。AD可以为事件定义事件数据并将事件数据存储在数据存储库612中。例如,可以使用Unix数据报将用于异常事件的事件数据插入到数据存储库612中。事件数据可以包括实时收集的附加度量,这些附加度量然后与关于异常事件的数据一起被存储。AD可以监视用于已定义的异常的界限(例如,固定界限或季节性界限)。在检测到度量的值不在已定义的异常的界限内使得该值低于最小量度或高于软限制时,AD可以检测到异常正在发生,使得关于造成异常的事件的信息可以被记录。AD可以在数据存储库612中写入日志条目,以指示该异常以及度量的值是低于最小值(例如,低)还是高于软限制(例如,高)。
ARS 620基于由ADNS 630检测到的事件进行操作。事件分派器610可以在ADRC 600实现于其中的部件中运行。事件分派器610可以监听由ADNS 630识别的事件。在一些实施例中,事件分派器610可以被通知由AD检测到的事件。事件分派器610可以针对由ADNS 630中的AD插入的事件数据所识别的异常事件来检查数据存储库612。例如,AD 720-728中的每一个可以向事件分派器610通知检测到的异常事件。事件分派器610周期性地检查AD 720-728中的每一个,以确定关于异常事件的信息是否已经被记录。在一些实施例中,事件分派器610可以基于消息队列702来检测异常事件。AD 720-728中的每一个可以通过将消息放在消息队列702上来向事件分派器610通知异常事件。事件分派器610可以基于通知和对RRD的检查来处理异常事件。
事件分派器610可以搜索策略存储库616,以识别为异常事件定义的每个策略(例如,分派策略)。策略存储库616可以存储分派策略以确定如何处置异常事件。例如,策略可以是特定于异常的,使得它们针对异常事件的类型而定义。可以以特定于ADRC 600实现于其中的部件的类型的语言来实现(例如,定义)策略。例如,在JVM中,可以使用JEXL来定义策略。ADRC 600可以更新策略存储库616,以改变策略的一个或多个规则。
策略可以定义为了处置异常事件而执行的动作。在策略中定义的(一个或多个)动作可以是在AL 606中识别的预先定义的动作。策略可以包括用于一个或多个类型的异常事件的一个或多个标准(例如,规则或条件)。每个规则可以与至少一个校正动作相关联,作为校正动作对。策略中的每一个可以为异常事件而注册。策略中的规则可以被定义为事件-条件-动作(ECA)规则以解决异常,从而避免违反QoS。每个策略可以与一个或多个事件相关联。部件(尤其是在控制流中该部件的直接前继者和直接后继者中发生的异常)之间的关系在用户定义的规则和系统定义的规则中被考虑。如果可以采取程序化的动作,那么将该程序化的动作编码为规则的动作部分。规则可以被定义具有一个或多个参数。在一些实施例中,规则可以被定义为具有五个参数(例如,五元组规则)。这五个参数可以包括(1)异常列表(l),(2)l中的异常的最小数量(m),(3)发生了m个异常的时间段或间隔,(4)为了解决m个异常要采取的动作(a),以及(5)在其之后发起动作的时间段(q)(例如,静默期),在这个时间段(q)中规则将不被再次考虑。可以使用各种技术来对动作进行编码,这些技术包括操作系统命令或shell命令,以及诸如Puppet、Chef和WebLogic脚本工具之类的工具。
(一个或多个)规则可以是声明性的或过程性的。声明性规则可以存储在策略存储库616中。声明性规则可以由规则引擎(诸如由Oracle公司提供的Oracle业务规则引擎)执行。声明性规则系统可以由特定于容器的规则系统(诸如由Oracle公司提供的WebLogicDiagnostic Framework Watch规则系统)支持。过程性规则可以被定义为由过程和策略引擎602使用的参数的向量(例如,参数的元组)。过程性规则的示例是由Oracle公司提供的Oracle WebLogic服务器的两层自适应堆管理系统。具有过程性规则的策略可以使用受管理的bean来实现,并且其行为可以由使用该过程性规则的参数集合来控制。
事件分派器610可以搜索策略存储库616,以识别用于解决异常事件的一个或多个策略。事件分派器610可以基于是否为异常定义了策略来确定如何处理异常事件。在确定为异常事件定义了至少一个策略时,事件分派器610可以从策略存储库616中检索730为异常事件定义的策略。事件分派器610可以基于为异常事件确定的策略调用策略引擎602以来处置该异常。在一些实施例中,事件分派器610可以识别用于解决异常事件的多个策略。事件分派器610可以选择具有如下规则的策略,即,该规则在由策略中的该规则定义的异常列表中具有异常的最大匹配。在满足用于管理异常事件的策略中的规则时,可以请求策略引擎602处置异常事件。在至少一个实施例中,对于定义五元组规则的策略,事件分派器610可以在确定策略的五元组规则的参数被满足(诸如在一个时间段期间异常的最小数量被满足)时请求策略引擎602处置异常。事件分派器610可以选择策略中的如下规则,即该规则在为该规则定义的异常列表中具有异常的最大匹配。在识别出对于异常事件其规则被满足的策略时,事件分派器610可以向策略引擎602发送请求740以解决该异常事件的异常。请求可以包括关于异常事件的事件数据和识别出的策略。在一些实施例中,策略引擎602可以被调用以解决异常集合,其中策略的规则是基于所发生的满足规则的多个异常事件的发生而被满足的。事件分派器610可以请求策略引擎602可以发送与异常事件对应的事件数据。
在一些实施例中,在确定没有为异常事件定义策略时,事件分派器610可以向父部件(例如,父容器)通知750该异常事件。通信代理604可以被配置成在包括ADRC 600的部件和该包括ADRC 600的部件的父部件和孩子部件内通信。以这种方式,ADRC 600 ADRS 320可以被视为基于规则的分层异常检测和解决系统。父部件可以是作为ADRC 600实现于其中的部件的父代的部件。例如,如果图3的ADRC 364没有在容器360中找到为异常事件定义的策略,那么ADRC 364中的事件分派器可以将该异常事件传送750到容器350的ADRC 354,其中容器350是容器360的父代。在确定父部件不能解决该异常事件时(例如,没有识别出用于该异常事件的策略),父部件可以将该异常事件的事件数据传送到它的父部件(如果存在的话)以解决该异常事件。当已经到达不能解决该异常事件的最高级别父部件(例如,顶级容器)时,最高级别父部件可以广播关于该异常事件的信息。在一些实施例中,包括ADRC 600的部件可以是最高级别部件。最高级别部件可以将关于异常事件的信息发布到由一个或多个用户或云基础设施系统100订阅的主题。在一些实施例中,最高级别部件中的ADRC或ADRS320可以尝试基于解决规则来解决异常事件和/或向运营商通知对异常事件的详细描述并且包括受影响的部件(例如,容器)。最高级别部件的ADRC的策略引擎602可以尝试表现得像动态资源管理器那样以解决异常事件。例如,策略引擎602可以调整为服务分配的资源(例如,起用/停用集群的更多容器)以解决异常事件。
事件分派器610可以以各种方式将异常事件传送到父部件。事件分派器610可以向父部件的ADRC发送关于异常事件的通知。父部件的ADRC可以订阅以接收来自ADRC 600的通知。因此,当事件分派器610发送(例如,推送)关于异常的通知时,父部件的ADRC可以接收作为订阅的一部分的通知。在一些实施例中,事件分派器610可以将关于异常事件的事件数据放在数据存储库(诸如父部件的队列或RRD)中。父部件的ADRC可以包括事件分派器,该事件分派器针对事件数据检查数据存储库,在事件分派器610将事件数据放入数据存储库中时该事件数据被识别。在一些实施例中,事件分派器610可以向一个或多个接收者(例如,运营商或管理员)发送警报760,以向他们通知异常事件。警报760可以被发送作为向父部件发送通知或基于策略解决异常事件的替代方案或者附加方案。例如,可以使用分布式流处理框架(诸如Samza)将警报760作为Kafta主题发送。
在步骤714,策略引擎602可以关于由事件分派器610识别出的异常事件执行一个或多个操作。这(一个或多个)操作可以包括执行校正动作,以减轻(如果不能解决的话)异常事件的源或原因。策略引擎602可以评估针对由事件分派器610识别出的策略中的每个规则的(一个或多个)条件。可以评估每个规则,以确定其是否被满足,并且如果规则被满足,那么可以由策略引擎602发起与该规则相关联的校正动作。为策略的(一个或多个)规则定义的校正动作可以与提供用于启用服务的资源相关。校正动作的示例可以包括:将未使用的资源返回给当前部件、从部件请求更多资源、节制/停止服务请求、杀死线程或进程、向部件的ADRS 320通知与异常事件相关的资源使用尖峰、增加对VM进程的资源分配、增加对VM的资源分配、增加集群中的服务器的数量、给实体(physicals)供电、减少集群中的服务器、减少实体中的VM、节制负载,以及将实体断电。
在图6中,可以实现LH 614,以采集用于分析异常事件的日志文件。LH 614可以从包括ADRC 600的部件的日志流和度量流收集数据。LH 614可以将每个流与产生了该流的部件的身份相关联。LH 614可以被实现为脚本,以定期采集轮替出来的日志文件或者以定期间隔(例如,每小时)采集实时日志、将相关的元数据附连到它们、并将它们发送到日志档案。日志文件可以由AD进行分析,以检测异常事件。日志采集进一步参考图13-图15进行描述。LH 614可以将日志文件发送到ADRS 320的LRAS 326,以用于集中式管理。
V.ADRS的分层实现方式的示例
图8示出了根据一些实施例的用分层ADRS实现的自主云计算系统800的示例。图3的ASC 318及一个或多个ADRC可以在云计算系统800中实现,以提供分层的ADRS。图8中的示例在图3-图7中所示的ADRS的特征上进行了拓展。
云计算系统800可以包括在云计算系统800的云环境级别的ADRC 802。ADRC 802可以在云计算系统800中作为用于多个部件(诸如物理主机计算系统820和物理主机计算系统840)的环境控制器来操作。主机系统820和主机系统840中的每一个分别包括其自己的ADRC822和ADRC 842。
主机系统820包括作为VM的子容器824。容器824包括作为Java VM(JVM)的子容器828。容器824和容器828中的每一个包括其自己的相应的ADRC 826和ADRC 830。类似地,主机系统840包括作为VM的子容器844。容器844包括作为Java VM(JVM)的子容器848。容器844和容器848中的每一个包括其自己的相应的ADRC 846和ADRC 850。云计算系统800中绘出的ADRC中的每一个可以是分层ADRS的一部分。在分层ADRS中,部件中的每个ADRC监视活动以识别异常事件。如参考ADRC 600所描述的,ADRC可以确定是否为在ADRC中检测到的异常事件定义了策略。在确定没有定义用于处置异常事件的策略时,ADRC可以将异常事件传送到父部件(如果存在的话)。异常事件可以被向上传播到父部件的ADRC,并进一步传播到父部件,直到一个父部件的ADRC可以识别出用于处置该异常事件的策略。用于异常事件的事件数据可以被传播到云计算系统800中的最高级别部件的ADRC 802。最高级别的部件可以在云计算系统800的云环境级别。例如,如果在ADRC 830处没有确定策略,那么在ADRC 830处检测到的异常事件可以被传送到作为部件828的父代的部件824的ADRC 826。如果在ADRC826处没有确定策略,那么ADRC 826可以将该异常事件传送到作为部件824的父部件的部件820的ADRC 822。如果在ADRC 822处没有确定用于该异常事件的策略,那么部件820可以将该异常事件传送到云计算系统800的云计算环境级别的ADRC 802。
云计算系统800中的ADRC中的每一个可以监视每个相应部件中的异常事件的活动。在使用ADRS的LRAS的情况下,每个ADRC可以捕获或用日志记录关于活动的信息(包括异常事件),这些信息被报告给数据存储库(例如,季节性趋势数据库(DB)804)。如下所述,季节性趋势DB 804可以被用来基于季节性定义的异常对异常事件进行评估。
数据存储库804可以使用任何类型的持久性存储设备(诸如存储器存储设备或其它非暂态计算机可读存储介质)来实现。在一些实施例中,本地存储装置可以包括或实现一个或多个数据库(例如,文档数据库、关系数据库或其它类型的数据库)、一个或多个文件存储库、一个或多个文件系统,或其组合。存储器和附加的存储装置都是计算机可读存储介质的示例。例如,计算机可读存储介质可以包括以用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的以任何方法或技术实现的易失性介质或非易失性介质、可移除介质或不可移除介质。根据本文所公开的技术,可以实现更多或更少的数据存储库以存储数据。
VI.异常分类
图9示出根据一些实施例的分层异常分类结构900。异常分类结构900可以使用以各种方式组织的一个或多个数据结构来实现,这取决于数据如何被存储、存储什么数据和/或数据存储在哪里。虽然每个数据结构都被示为包括特定数据,但是可以实现更多或更少的数据结构来存储数据。数据结构可以包括对其它数据结构的引用。可以创建每个数据结构的实例,用于管理不同安全工件的存储。数据结构可以使用一个或多个类型的数据结构来实现,包括但不限于链表、数组、队列、散列表、映射图、记录、图或其它类型的数据结构。每个数据结构可以基于对ADRS 320的输入以声明性方式来定义。
可以根据服务类型创建许多服务实例,每个服务类型具有可能不同的性能、可伸缩性、可用性、资源消耗和错误特点。定义服务的每个度量(或变量)的值可以使用包括最小(最小值)量度、最大(最大值)量度和最大软限制(SL)量度的量度来定义。管理员可以为定义正常系统行为的每个关键度量(包括服务的响应时间、服务的可用性、要为服务分配的资源、系统负载以及针对其它度量的预期值)指定最小值、最大值和最大SL。管理员可以指定这些度量的界限,以强制实施用于服务的服务水平协议(SLA)。如果所有度量都在为服务实例和该服务实例运行于其中的容器指定的最小值和最大SL范围内,那么服务实例被认为是正常的。如果任何度量低于最小值或高于最大SL,那么服务可以被认为处于异常状态,并将发起实时的异常解决。针对错误特点的变量定义某种类型的错误的容许率。
使用结构900可以将异常定义为各种类型。异常902可以被定义为已定义的异常904或未定义的异常906中的任一个。每个异常可以由界限(“异常界限”)来定义,基于该界限来检测异常事件。未定义的异常906是没有被定义的异常,并且可以通过诸如机器学习或统计方法等技术被发现。LRAS 326可以被配置成离线地分析度量和日志流,以发现未定义的异常。未定义的异常可以包括没有被关键性能指标或日志统计数据的界限定义的那些异常。
已定义的异常904可以被划分成两个类别:用户定义的异常908,或系统定义的(或者说系统推断的)异常910。已定义的异常904基于要被监视的任何度量的界限来定义,并且可以通过界限(固定界限或者季节性界限)来定义。使用SCDMS 322的应用管理员可以为用户定义的异常定义固定界限或季节性界限,以监视和强制实施服务水平协议(SLA)的服务质量、资源使用和其它限制。系统管理员还可以定义附加的度量,例如以监视资源使用、负载尖峰、恶意使用和部件故障等等。
已定义的异常904可以由用户(例如,管理员)定义,以强制实施QoS(例如,服务的响应时间)。固定界限可以用于配置用户定义的异常。固定界限可以被五个参数指定为五元组,包括(1)针对度量值的轮询间隔(pi),其仅在通知对度量值改变不可用的情况下被使用;(2)最小量度,其是度量值的期望的最小值,(3)最大SL,其是关于最大值的软限制,(4)最大量度,其是硬的最大值限制,以及(5)最小连续读数(mcr),其是提出事件之前异常读数的连续读数的最小数量。如果为异常检测定义的度量的所有值都在最小值和最大SL值内,那么系统可以被认为是正常的,没有异常。如果这些度量中的任何度量超出这个范围,那么系统被认为处于异常状态。如果mcr个连续读数度量值都异常,那么可以提出异常事件。
用户(诸如系统管理员)可以监视系统将推断其界限的指标度量(例如,CPU负载)以保持QoS度量在界限内。系统管理员还可以定义用于容器(部件的子类型)的度量集合,并让系统自动计算它们的值的季节性界限以避免异常。这种异常被称为系统定义的异常910。可以由LRAS 326在一周中的每一天的每个小时为每个容器针对每个度量计算系统定义的异常910的季节性界限。例如,在容器中运行的进程或线程的数量或者容器的CPU负载可能需要被监视以检测某些即将到来的异常,但是系统管理员不能够为其确定适当的界限。在这些示例中,这些度量在系统推断的异常910中使用,并且系统将基于历史数据的趋势计算它们的季节性界限。
季节性界限可以被定义为一个时间段内的固定界限。季节性界限异常可以由七个参数指定为七元组,包括轮询间隔(pi)、作为度量值的期望的最小值的最小量度、作为最大值的软限制的最大SL、作为硬的最大值限制的最大量度、被指定为连续读数的数量的持续时间(d)、期间界限有效的开始时间(st)和结束时间(et)。st和et可以被指定为相对于一周中一天的开始。这种界限通常用于系统推断的异常,其中界限是从关于度量的历史数据以及用于用户定义的异常的度量值的趋势中计算得出的。对于系统推断的异常,使用用户定义的异常所定义的正常系统行为来计算指标度量(诸如关键性能指标)以及日志条目的统计数据(例如,在某个时间帧内,某个种类的异常情况(exception)的平均数量不应当超过某个数)的趋势和季节性变化。当分析日志文件的时间序列数据以计算系统推断的异常的季节性界限时,可以聚焦于在其中针对服务的用户定义的异常从正常变到异常(或者反过来)的时间间隔,并且聚焦于该服务的直接前继部件和直接后继部件中的相关日志文件中的在该间隔中的度量值和日志条目,以计算季节性界限。
VII.用于已定义的异常的检测的界限
现在转向图10,图10是示出用于已定义的异常的界限的框图1000。用于云计算系统中的服务或操作的度量值可以被五元组的参数定义为固定界限,或者被七元组的参数被定义为季节性界限。任一界限的参数可以包括最小量度1002、最大量度1006和SL 1004(例如,最大SL)。当度量的量度是满足SL阈值1004的值1014时,该度量可以被识别为表示异常状态,使得度量的值在SL和最大值内。当度量的值是低于最小值1002的低值1010或高于SL时,或者当度量的值是等于或高于SL 1004但不高于最大值1006的高值1014时,异常检测器可以将异常事件识别为发生。换句话说,当度量值等于或高于最小值1002且小于SL 1004时,度量值是在正常范围1012内的正常值(例如,无异常)。当度量的值1016大于最大值1006时,度量的值可以指示超出异常的有问题状态。当检测到有问题状态时,可以由为解决问题而定义的策略采取动作。
VIII.用于异常检测和解决的操作
图11示出了根据一些实施例的由图3的ASC 318在自主云计算系统(例如,云基础设施系统100)中执行的操作的框图1100。在步骤1132(步骤1),用户(例如,部署者1130)选择用于在云基础设施系统100中创建服务的一个或多个部件。SCDMS 322可以向由用户操作的客户端系统提供一个或多个接口,以通过定义组件来配置服务。通过该接口,用户可以请求部署组件以实例化服务。在步骤1132,用户可以根据要由云基础设施系统100提供的服务的SLA协议的QoS来提供变量(包括组件中的固定界限或季节性界限)的值。
在步骤1134(步骤2),SCDMS 322可以创建一个或多个部件类型(例如,创建其实例)以创建部件来建立服务。SCMDS 322可以请求CCMS 324创建用于该服务的部件。一个或多个ADRC(子系统)可以被创建和部署。每个部件可以包括ADRC子系统。CCMS 324可以在新创建的容器中部署服务的部件和ADRC子系统。例如,可以在云基础设施系统100的云环境级别创建和部署ADRC 354。容器1102和1120中的每一个可以分别包括ADRC 1104和ADRC1124。容器1104中的容器1106可以包括ADRC 1108。容器1124中的容器1126可以包括ADRC1128。
SCDMS 324可以请求每个部件进行自我配置。每个部件都可以创建该部件的主目录,安装所需的软件,设置配置参数,以及使用所部署的部件(实例)、它们与日志和度量流的关系以及与这些部件的控制流中的上游和下游的部件的关系来更新部件储存库。CCMS324可以包括云基础设施系统100的当前配置和过去配置的数据存储库(例如,配置储存库)。配置储存库可以使用部件模型来描述云环境的部件与它们产生的日志和度量流之间的关系。
在步骤1136(步骤3),随着服务被使用,每个ADRC中的日志采集器可以在所配置的间隔处从实时日志和轮替日志中收集来自部件的日志和度量流,并将它们发送到LRAS326。
在步骤1138(步骤4)中,LARS 326可以使用算法(例如,属性关联算法)来寻找影响用户定义的度量的度量。然后,LRAS 326可以利用存储在配置储存库中的配置数据对日志和度量流执行时间序列分析。在此步骤中计算系统推断的异常的季节性界限。
在步骤1140(步骤5),将季节性界限和其它信息推送到适当容器的ADRC,在那里AD的界限被更新。在步骤1142(步骤6),可以分析异常和属性关联,并且可以由用户1150(例如,管理员)修改策略中的规则。在步骤1144(步骤7),将容器中的ADRC处未解决的异常事件向上传播到父容器中的高级别ADRC,直到达到环境级别ADRC 354。如果不能找到用于处置异常的策略,那么异常事件可能未被解决。ADRC 354可以向用户发出警报,以通知他们未解决的异常。
在步骤1146(步骤8),ADRC 354可以被操作以更新配置储存库中的配置的改变。然后操作团队可以针对未处置的异常来监视系统。对于未处置的异常中的每一个,团队需要会面并决定要监视哪些附加的度量和/或需要开发或修改哪些规则来解决异常。
IX.日志文件流的高级别概述
图12示出了根据一些实施例的日志文件流1200的高级别图。云系统产生大量的日志文件、诊断数据和度量。日志文件可以由云基础设施系统100中的一个或多个部件(例如,源部件1202)生成。与日志文件对应的元数据连同日志文件被推送到数据中心或特定于安全区的数据存储库(例如,日志档案1204)。
日志文件包含从性能度量到失败的登录尝试的各种数据。它们还被不同用户组使用,这些用户组从进行取证分析的安全专家和律师到进行托管环境故障排除的支持工程师以及调试应用的产品开发者。每个云服务提供商具有一些管制日志文件保留和访问的策略。通常,将日志文件(在内容未更改的情况下)移动到日志档案1204,在其中强制实施访问和保留策略。经授权的人员被赋予在档案中搜索相关的日志文件的特权,并且这种搜索通常是在线进行的,或者是手动进行地或者经由简单的OS脚本进行,并且可以涉及基于元数据的搜索以及基于关键字的搜索。
最近已经出现了新的日志文件使用模式。它一般被称为日志分析。其目标是发现在很长一段时间内大量系统上的大量日志类型的大量日志文件中包含的潜在信息。更具体而言,日志分析力求:理解产生日志文件中的数据的系统行为、以及开发模型来预测即将到来的问题、监视异常并基于类似系统的大汇集(collection)的长期行为提供对于最佳资源使用的反馈。这种模式最适于在敏感数据被一个或多个数据标记(1206)掩蔽之后从许多日志档案中收集的日志文件的大汇集。用于日志分析的数据存储库被称为日志仓库。日志仓库的特点与日志档案的特点不同,如表1所示。
表1:日志档案和日志仓库的特点
在容器1202中运行的服务将它们的日志条目写入日志文件,并且日志文件被定期地(比如每天一次)轮替。在源机器上运行的日志采集脚本可以定期采集轮替出来的日志文件或者以定期间隔(例如,每小时)采集实时日志、将相关的元数据附连到日志文件,并将它们发送到日志档案1204。数据掩蔽器1206然后从日志档案中读取数据、掩蔽敏感数据,并将其发送到日志仓库1208。数据掩蔽器1206具有特定于日志类型的处理管道(pipeline),在将日志条目加载到日志仓库1208之前,除了处理该特定于日志类型的处理管道执行的其它功能之外,该特定于日志类型的处理管道还用散列码替换日志条目中的PII数据或掩蔽它们。
在一些实施例中,数据中心可以具有一个或多个安全区。在安全区中生成的所有日志文件都可以经由数据囤积器(Hoarder)被存档在日志档案1204(例如,区域性数据枢纽(Hub))中。数据掩蔽器1206可以掩蔽PII和敏感数据,并将经掩蔽的日志文件发送到日志仓库1208(例如,中心枢纽)。数据掩蔽器1206可以通过从档案中读取日志文件并掩蔽它们而将经掩蔽的日志文件发送到日志仓库1204。
在容器中运行的应用可以生成日志和度量流(成为日志文件集合)。一些用于实时监视的日志文件由实时流收集器(诸如(用于ELK栈的)Logstash转发器或被配置成调用本地异常解决器的Heka)处理。ELK栈使用Logstash处理和过滤节点,并且然后将数据转发到Elasticsearch集群以进行索引。Kibana可以用于基于Web的搜索UI和Elasticsearch上的渲染。可以有一个或多个实时监视系统。每个Logstash转发器可以将日志转发到仅一个这种系统。如果使用Kafka,Heka将只向一个主题或队列发布异常。
在一些实施例中,使用HTTPS将日志文件推送到数据囤积器,并将其存储在数据中心或特定于区的档案(现在用于OCLA的ZFS以及用于区域性枢纽的Hadoop)中。Map-ReduceJava程序和R程序被用来以编程方式分析这些日志文件。用于特定时间间隔的一些日志文件被加载到Oracle数据库以及Oracle数据仓储库中,并且业务智能工具被用来支持手动分析。中心枢纽(仓库1204)也可以被用于趋势计算和预测性分析。ELK和Solr+Banana栈也被支持以用于档案和数据枢纽(仓库)。
LRAS 326可以使用CCMS 324部件模型来理解应用和系统部件所生成的关于由系统提供的服务的处理流的日志和度量流之间的关系。LRAS 326可以使用算法(例如,属性关联算法)来寻找有可能影响用户定义的度量的指标度量。使用用户定义的异常所定义的正常系统行为来计算为系统推断的异常定义的指标度量(诸如关键性能指标(KPI))以及日志条目的统计数据(例如,在某个时间帧中,某个种类的异常情况的平均数量不应当超过某个数)的预期的趋势和季节性变化。LRAS 326可以使用机器学习技术来检测未定义的异常,这些异常不是由KPI或日志统计数据的界限定义的。LRAS 326可以预测未来的异常。
度量和日志流被离线分析,以推断用于系统定义的异常的季节性界限并发现未定义的异常。例如,系统管理员可能想要监视在容器中运行的线程的数量,并在其超出正常值时提出异常事件。系统管理员不必为这个度量指定界限(最小值、最大值和最大SL)。可以由LRAS 326从度量和日志流中计算该值的季节性变化,并且该季节性变化可以作为24×7×3的表被发送到容器,该表包含按小时细分的一周的最小值、最大值和最大SL。在容器中运行的ADNS部件可以使用该信息来监视多个线程以用于异常检测。
首先将日志和度量文件中的时间序列数据划分为以下四个类别:与用户定义的异常相关联的度量、与系统推断的异常相关联的度量、一般被认为重要的度量,以及错误。然后使用R程序将每个类别中的序列分解为针对定期采样间隔或不定期采样间隔的趋势和季节性因素。然后将这些和与用户定义的异常相关的时间序列度量进行比较,以理解异常的原因并推断其它度量和错误的季节性界限,从而避免这些异常。这些季节性界限被反馈给相应的容器,以用于在系统的实时监视中使用。
当分析时间序列数据以计算用于系统推断的异常和其它度量的季节性界限时,LRAS 326可以聚焦于在其中针对服务的用户定义的异常从正常变到异常(或反过来)的时间间隔,并且聚焦于该服务的直接前继部件和后继部件中的相关日志文件中在该间隔中的度量值和日志条目,以计算季节性界限。
将从存档的数据中计算得到的特定于容器的趋势和季节性馈送到容器中。这个数据由Heka过滤器使用以基于该趋势和季节性来测试是否有任何度量在正常的界限之外。在确定度量值是异常时,运行在每个容器中的Heka守护程序(daemon)调用容器中的ADRC的事件分派器。如果事件分派器不能找到适当的策略来解决异常,那么它将通知父容器解决异常。如果父容器不能解决该异常,那么它将度量的整个向量发布到Kafka主题。可以使用Samza来检索它们并将它们存储在数据存储库(例如,RRD)中以供异常检测代码进一步分析。
X.用于异常检测和解决的过程
图13和图14提供了示出根据本发明一些实施例的用于异常检测和解决的过程的流程图。各个实施例可以被描述为绘制为流程图、流图、数据流图、结构图或框图的过程。虽然流程图可以将操作描述为顺序过程,但是这些操作中的许多操作可以并行或并发地执行。此外,操作的次序可以被重新布置。过程在其操作完成时终止,但是可以具有图中不包括的附加步骤。过程可以与方法、函数、程序、子例程、子程序等对应。当过程与函数对应时,过程的终止可以与函数返回到调用函数或主函数对应。
在图13和图14中绘出的过程可以在由一个或多个处理单元(例如,处理器核心)执行的软件(例如,代码、指令、程序)、硬件或其组合中实现。软件可以存储在存储器中(例如,存储在存储器设备上、在非暂态计算机可读存储介质上)。例如,图3的ASC 318的全部或一部分和/或一个或多个ADRC可以实现参考图13和图14中的任何图所描述的过程。这些过程中的任何过程都可以被实现为服务。服务可以被提供给提供对对象的访问的客户端系统和服务提供商。
图13和图14中的处理步骤的特定系列并不旨在进行限制。也可以根据替代实施例执行其它顺序的步骤。例如,本发明的替代实施例可以以不同的次序执行上面概述的步骤。而且,图13和图14中所示的各个步骤可以包括多个子步骤,这些子步骤可以以对个体步骤适当的各种顺序执行。此外,取决于特定的应用,可以添加或移除附加的步骤。虽然在图13和图14中绘出的处理是关于单个应用,但是这种处理可以针对若干个应用执行。虽然在图13和图14中绘出的处理是关于单个异常事件,但是这种处理可以针对若干个异常事件执行,这些异常事件中一些或全部可以是相关的。本领域的普通技术人员将认识到许多变化、修改和替代。
在图13中,流程图示出了用于解决与由计算机系统提供的服务的操作相关的异常的过程1300。计算机系统可以是云计算机系统(例如,云基础设施系统100)或企业计算机系统。可以部署多个部件以提供服务。部件可以作为孩子部件实现在另一个部件内。每个部件可以在计算机系统中执行。部件可以被配置成包括用于解决在该部件上检测到的异常的ADRC。
过程1300可以在步骤1302通过确定定义异常界限的值集合而开始,其中该异常界限针对与由计算机系统提供的服务相关的度量。用计算机系统实现的ADRS可以确定异常界限。值集合可以是用户定义的。这些值可以基于经由接口或声明性文件接收的输入来定义。对于用户定义的异常,异常界限可以是固定的,或者对于系统推断的异常,异常界限可以是季节性界限。度量可以是针对服务的QoS监视的若干度量之一。异常可以基于图9和图10的异常分类系统来定义。
服务可以由计算机系统中的部件建立。部件可以包括在计算机系统中执行的容器。容器可以作为孩子容器在另一个容器中实现。在步骤1304处,每个部件可以被配置成包括ADRC。ASC可以配置每个部件中的ADRC。
在步骤1306处,可以在为服务建立的部件中检测与服务的操作相关的异常事件。异常事件可以由在该部件中配置的ADRC检测。可以基于度量的值不满足异常界限来检测异常事件。例如,在图10中,如果度量的值是小于最小值1002的值1010或者是等于或大于软限制最大值的值1014,那么度量的值可能不满足异常界限。如果在轮询间隔期间满足异常界限并且发生最大连续读数,那么可以提出异常事件。可以基于满足使用异常分类系统定义的异常的所有参数来检测异常事件。
在步骤1308处,识别用于解决异常的策略。策略可以由部件中的ADRC确定。可以搜索策略存储库,以识别具有被异常满足的一个或多个规则的一个或多个策略。在步骤1310处,可以确定策略中的规则被异常满足。该确定可以由部件中的ADRC进行。策略可以指示用于解决在其中检测到异常事件的部件中的异常的一个或多个校正动作。在步骤1312处,可以基于规则被满足而发起在策略中识别出的校正动作。
在一些实施例中,可能不能识别出用于在部件中解决异常的策略。在这种情况下,该部件的ADRC可以将异常事件传送到包括该部件的父部件(如果存在的话)。在一些实施例中(诸如参考图14描述的实施例),父部件可以通过识别用于解决异常的策略来解决该异常。
过程1300在步骤1314处结束。
图14示出了用于将异常传播到计算机系统中的为服务建立的部件层次结构中的部件的过程1400的流程图。过程1400可以在步骤1402处通过确定定义异常界限的值集合而开始,其中该异常界限针对与由计算机系统提供的服务相关的度量。用计算机系统实现的ADRS可以确定异常界限。值集合可以是用户定义的。这些值可以基于经由接口或声明性文件接收的输入来定义。对于用户定义的异常,异常界限可以是固定的,或者对于系统推断的异常,异常界限可以是季节性界限。度量可以是针对服务的QoS监视的若干度量之一。异常可以基于图9和图10的异常分类系统来定义。
服务可以由计算机系统中的部件建立。这些部件可以包括在计算机系统中执行的容器。容器可以作为孩子容器在另一个容器中实现。在步骤1404处,每个部件可以被配置成包括ADRC。ASC可以配置每个部件中的ADRC。
在步骤1406处,可以在为服务建立的部件中检测与服务的操作相关的异常事件。异常事件可以由在该部件中配置的ADRC检测。可以基于度量的值不满足异常界限来检测异常事件。可以基于满足使用异常分类系统定义的异常的所有参数来检测异常事件。
在步骤1408处,确定部件中的ADRC是否具有用于在该部件中解决异常的策略。在步骤1410处,基于确定部件中的ADRC具有用于解决异常的策略,该ADRC可以基于该策略来发起校正动作以解决异常。在步骤1412处,基于确定部件中的ADRC不具有用于解决异常的策略,该ADRC可以向作为该部件的父代的父部件的ADRC通知该异常。ADRC可以通知父部件的ADRC异常不能由该部件解决。过程1400可以从步骤1412处理直到在步骤1418处结束。
在步骤1414处,父部件的ADRC可以识别用于让它在父部件中解决异常的策略。在步骤1416处,父部件的ADRC可以发起在该策略中识别出的校正动作,以用于在父部件中解决异常。过程1400可以从步骤1416继续直到在步骤1418处结束。
在一些实施例中,父部件的ADRC可能不具有用于在该父部件中解决异常的策略。父部件可以将关于异常事件的数据传播到更高级别的部件(诸如父部件的父部件)。父部件的ADRC可以向其父部件通知异常。假定更高级别的父部件的ADRC可以识别出用于在该更高级别的父部件中解决异常的策略,那么该ADRC可以发起校正动作以解决异常。
XI.计算环境
图15绘出了用于实现实施例的分布式系统1500的简化图。在所示的实施例中,分布式系统1500包括一个或多个客户端计算设备1502、1504、1506和1508,这一个或多个客户端计算设备被配置成通过一个或多个网络1510执行和操作客户端应用,诸如web浏览器、专有客户端(例如Oracle Forms)等。服务器1512可以经由网络1510与远程客户端计算设备1502、1504、1506和1508在通信上耦合。
在各种实施例中,服务器1512可以适于运行一个或多个服务或软件应用,诸如可以管理安全工件的服务的应用。在某些实施例中,服务器1512还可以提供其它服务,或者软件应用可以包括非虚拟环境和虚拟环境。在一些实施例中,这些服务可以作为基于web的服务或云服务或者在软件即服务(SaaS)模型下提供给客户端计算设备1502、1504、1506和/或1508的用户。操作客户端计算设备1502、1504、1506和/或1508的用户可以继而利用一个或多个客户端应用与服务器1512交互,以利用由这些部件提供的服务。
在图15所绘出的配置中,系统1500的软件部件1518、1520和1522被示为在服务器1512上实现。在其它实施例中,系统1500的一个或多个部件和/或由这些部件提供的服务也可以由客户端计算设备1502、1504、1506和/或1508中的一个或多个实现。操作客户端计算设备的用户然后可以利用一个或多个客户端应用来使用由这些部件提供的服务。这些部件可以用硬件、固件、软件或其组合实现。应当理解,各种不同的系统配置是可能的,其可以与分布式系统1500不同。因此,图15中所示的实施例是用于实现实施例系统的分布式系统的一个示例,并且不旨在进行限制。
客户端计算设备1502、1504、1506和/或1508可以包括各种类型的计算系统。例如,客户端计算设备可以包括便携式手持设备(例如,蜂窝电话、计算平板、个人数字助理(PDA))或可穿戴设备(例如,Google头戴式显示器),其运行诸如Microsoft Windows的软件和/或诸如iOS、Windows Phone、Android、BlackBerry 10,Palm OS等各种移动操作系统。设备可以支持各种应用,诸如各种与互联网相关的应用、电子邮件、短消息服务(SMS)应用,并且可以使用各种其它通信协议。客户端计算设备还可以包括通用个人计算机,作为示例,该通用个人计算机包括运行各种版本的MicrosoftApple和/或Linux操作系统的个人计算机和/或膝上型计算机。客户端计算设备可以是运行任何各种商用的或类UNIX操作系统(包括但不限于诸如例如Google Chrome OS的各种GNU/Linux操作系统)的工作站计算机。客户端计算设备还可以包括能够通过(一个或多个)网络1510进行通信的电子设备,诸如瘦客户端计算机、启用互联网的游戏系统(例如,具有或不具有手势输入设备的Microsoft游戏控制台)和/或个人消息传送设备。
虽然图15中的分布式系统1500被示为具有四个客户端计算设备,但是可以支持任何数量的客户端计算设备。其它设备(诸如具有传感器的设备等)可以与服务器1512交互。
分布式系统1500中的(一个或多个)网络1510可以是对本领域技术人员熟悉的、可以支持利用各种可用协议中的任何协议的数据通信的任何类型的网络,这些可用协议包括但不限于TCP/IP(传输控制协议/互联网协议)、SNA(系统网络体系架构)、IPX(互联网分组交换)、AppleTalk等。仅仅作为示例,(一个或多个)网络1510可以是局域网(LAN)、基于以太网的网络、令牌环、广域网、互联网、虚拟网络、虚拟专用网络(VPN)、内联网、外联网、公共交换电话网络(PSTN)、红外网络、无线网络(例如,在电气电子协会(IEEE)802.11协议套件中的任何协议、和/或任何其它无线协议下操作的网络)和/或这些网络和/或其它网络的任意组合。
服务器1512可以由一个或多个通用计算机、专用服务器计算机(作为示例,包括PC(个人计算机)服务器、服务器、中档服务器、大型计算机、机架式服务器等)、服务器场、服务器集群或任何其它适当的布置和/或组合组成。服务器1512可以包括运行虚拟操作系统的一个或多个虚拟机,或涉及虚拟化的其它计算体系架构。一个或多个灵活的逻辑存储设备池可以被虚拟化,以维护用于服务器的虚拟存储设备。虚拟网络可以由服务器1512利用软件定义的联网来控制。在各种实施例中,服务器1512可以适于运行在前述公开中描述的一个或多个服务或软件应用。例如,服务器1512可以与根据本公开的实施例的用于执行如上所述的处理的服务器对应。
服务器1512可以运行包括以上讨论的任何操作系统的操作系统,以及任何商用的服务器操作系统。服务器1512还可以运行各种附加的服务器应用和/或中间层应用中的任何应用,包括HTTP(超文本传输协议)服务器、FTP(文件传输协议)服务器、CGI(公共网关接口)服务器、服务器、数据库服务器等。示例性数据库服务器包括但不限于可从Oracle、Microsoft、Sybase、IBM(国际商业机器)等商业获得的那些数据库服务器。
在一些实现方式中,服务器1512可以包括一个或多个应用,以分析和整合从客户端计算设备1502、1504、1506和1508的用户接收到的数据馈送和/或事件更新。作为示例,数据馈送和/或事件更新可以包括但不限于从一个或多个第三方信息源接收到的馈送、更新或实时更新以及持续数据流,持续数据流可以包括与传感器数据应用、金融报价机、网络性能测量工具(例如,网络监视和流量管理应用)、点击流分析工具、汽车流量监视等相关的实时事件。服务器1512还可以包括经由客户端计算设备1502、1504、1506和1508的一个或多个显示设备显示数据馈送和/或实时事件的一个或多个应用。
分布式系统1500也可以包括一个或多个数据库1514和1516。这些数据库可以提供用于存储信息(诸如用户交互信息、使用模式信息、适应规则信息以及由本发明的实施例使用的其它信息)的机制。数据库1514和1516可以驻留在各种位置中。作为示例,数据库1514和1516中的一个或多个可以驻留在服务器1512本地的(和/或驻留在服务器1512中的)非暂态存储介质上。可替代地,数据库1514和1516可以远离服务器1512,并且经由基于网络的连接或专用的连接与服务器1512通信。在一组实施例中,数据库1514和1516可以驻留在存储区域网络(SAN)中。类似地,用于执行服务器1512所具有的功能的任何必要的文件可以适当地在服务器1512本地存储和/或远程存储。在一组实施例中,数据库1514和1516可以包括关系数据库,诸如由Oracle提供的适于响应于SQL格式的命令来存储、更新和检索数据的数据库。
在一些实施例中,云环境可以提供用于管理安全工件的一个或多个服务。图16是根据本公开的实施例的在其中服务可以被提供为云服务的系统环境1600的一个或多个部件的简化框图。在图16所示的实施例中,系统环境1600包括一个或多个客户端计算设备1604、1606和1608,这一个或多个客户端计算设备1604、1606和1608可以被用户用来与提供云服务(包括用于管理安全工件的服务)的云基础设施系统1602交互。云基础设施系统1602可以包括一个或多个计算机和/或服务器,这一个或多个计算机和/或服务器可以包括以上针对服务器1512所描述的那些。
应当理解的是,图16中所绘出的云基础设施系统1602可以具有除所绘出的那些部件之外的其它部件。另外,图16中所示的实施例仅仅是可以结合本发明的实施例的云基础设施系统的一个示例。在一些其它实施例中,云基础设施系统1602可以具有比图中所示出的更多或更少的部件、可以组合两个或更多个部件、或者可以具有不同的部件配置或布置。
客户端计算设备1604、1606和1608可以是与以上针对客户端计算设备1502、1504、1506和1508描述的那些设备类似的设备。客户端计算设备1604、1606和1608可以被配置成操作客户端应用,诸如web浏览器、专有客户端应用(例如,Oracle Forms)或可以被客户端计算设备的用户使用以与云基础设施系统1602交互来使用由云基础设施系统1602提供的服务的一些其它应用。虽然示例性系统环境1600被示为具有三个客户端计算设备,但是可以支持任何数量的客户端计算设备。其它设备(诸如具有传感器的设备等)可以与云基础设施系统1602交互。
(一个或多个)网络1610可以便于客户端计算设备1604、1606和1608与云基础设施系统1602之间的通信和数据交换。每个网络可以是对本领域技术人员熟悉的、可以支持利用各种商用协议中的任何协议的数据通信的任何类型的网络,这些协议包括以上针对(一个或多个)网络1510所描述的那些协议。
在某些实施例中,由云基础设施系统1602提供的服务可以包括被置为对云基础设施系统的用户按需可用的大量服务。除了与管理安全工件相关的服务之外,也可以提供各种其它服务,包括但不限于在线数据存储和备份方案、基于Web的电子邮件服务、托管的办公套件和文件协作服务、数据库处理、受管理的技术支持服务等。由云基础设施系统提供的服务可以动态缩放以满足用户的需求。
在某些实施例中,由云基础设施系统1602提供的服务的具体实例化在本文中可以被称为“服务实例”。一般而言,来自云服务提供商的系统的、经由通信网络(诸如互联网)对用户可用的任何服务被称为“云服务”。通常,在公共云环境中,组成云服务提供商的系统的服务器和系统与客户自己本地的服务器和系统不同。例如,云服务提供商的系统可以托管应用,并且用户可以经由通信网络(诸如互联网)来按需订购和使用该应用。
在一些示例中,计算机网络云基础设施中的服务包括对由云供应商向用户提供或者以本领域中已知的其他方式提供的存储空间、托管的数据库、托管的web服务器、软件应用或其它服务的受保护的计算机网络访问。例如,服务可以包括通过互联网对云上的远程存储空间的受密码保护的访问。作为另一个示例,服务可以包括基于web服务的托管的关系数据库和脚本语言中间件引擎,以供联网的开发者专门使用。作为另一个示例,服务可以包括对托管在云供应商的web站点上的电子邮件软件应用的访问。
在某些实施例中,云基础设施系统1602可以包括以自助服务、基于订阅、弹性可缩放、可靠、高度可用和安全的方式交付给客户的应用套件、中间件和数据库服务产品。这种云基础设施系统的示例是由本受让人提供的Oracle Public Cloud(Oracle公共云)。
云基础设施系统1602还可以提供与“大数据”相关的计算和分析服务。术语“大数据”一般用来指可由分析员和研究者存储和操纵以可视化大量数据、检测趋势和/或以其它方式与数据交互的极大数据集。这种大数据和相关应用可以在许多级别和不同规模上由基础设施系统托管和/或操纵。并行链接的数十个、数百个或数千个处理器可以作用于这种数据,以呈现它或者模拟对数据或其所表示的内容的外力。这些数据集可以涉及结构化数据(诸如在数据库中组织或以其它方式根据结构化模型组织的数据)和/或者非结构化数据(例如,电子邮件、图像、数据blob(二进制大对象)、web页面、复杂事件处理)。通过利用实施例的相对快速地将更多(或更少)的计算资源聚焦在目标上的能力,云基础设施系统可以更好地用于基于来自企业、政府代理、研究组织、个人、志同道合的个人或组织组或其它实体的需求来在大数据集上执行任务。
在各种实施例中,云基础设施系统1602可以适于自动地供应、管理和跟踪客户对由云基础设施系统1602提供的服务的订阅。云基础设施系统1602可以经由不同的部署模型来提供云服务。例如,服务可以在公共云模型下提供,其中云基础设施系统1602由销售云服务的组织拥有(例如,由Oracle公司拥有)并且服务被置为对普通公众或不同的行业企业可用。作为另一个示例,服务可以在私有云模型下提供,其中云基础设施系统1602仅针对单个组织操作,并且可以为该组织内的一个或多个实体提供服务。云服务还可以在社区云模型下提供,其中云基础设施系统1602和由云基础设施系统1602提供的服务由相关社区中的若干个组织共享。云服务也可以在混合云模型下提供,混合云模型是两种或更多种不同模型的组合。
在一些实施例中,由云基础设施系统1602提供的服务可以包括在软件即服务(SaaS)类别、平台即服务(PaaS)类别、基础设施即服务(IaaS)类别、或者包括混合服务的服务的其它类别下提供的一个或多个服务。客户可以经由订阅订单订购由云基础设施系统1602提供的一个或多个服务。云基础设施系统1602然后执行处理,以提供客户的订阅订单中的服务。
在一些实施例中,由云基础设施系统1602提供的服务可以包括但不限于应用服务、平台服务和基础设施服务。在一些示例中,应用服务可以由云基础设施系统经由SaaS平台提供。SaaS平台可以被配置成提供落在SaaS类别下的云服务。例如,SaaS平台可以提供在集成的开发和部署平台上构建和交付一套按需应用的能力。SaaS平台可以管理和控制用于提供SaaS服务的底层软件和基础设施。通过利用由SaaS平台提供的服务,客户可以利用在云基础设施系统上执行的应用。客户可以获取应用服务,而无需客户单独购买许可证和支持。可以提供各种不同的SaaS服务。示例包括但不限于为大型组织提供用于销售绩效管理、企业集成和业务灵活性的方案的服务。
在一些实施例中,平台服务可以由云基础设施系统1602经由PaaS平台提供。PaaS平台可以被配置成提供落在PaaS类别下的云服务。平台服务的示例可以包括但不限于使组织(诸如Oracle)能够在共享的共同体系架构上整合现有应用的服务,以及充分利用由平台提供的共享服务来构建新应用的能力。PaaS平台可以管理和控制用于提供PaaS服务的底层软件和基础设施。客户可以获取由云基础设施系统1602提供的PaaS服务,而无需客户购买单独的许可证和支持。平台服务的示例包括但不限于Oracle Java云服务(JCS)、Oracle数据库云服务(DBCS)等等。
通过利用由PaaS平台提供的服务,客户可以采用受云基础设施系统支持的编程语言和工具,并且还控制所部署的服务。在一些实施例中,由云基础设施系统提供的平台服务可以包括数据库云服务、中间件云服务(例如,Oracl融合中间件服务)和Java云服务。在一个实施例中,数据库云服务可以支持共享服务部署模型,该模型使得组织能够汇聚数据库资源并且以数据库云的形式向客户提供数据库即服务。在云基础设施系统中,中间件云服务可以为客户提供开发和部署各种业务应用的平台,并且Java云服务可以为客户提供部署Java应用的平台。
可以由云基础设施系统中的IaaS平台提供各种不同的基础设施服务。基础设施服务便于利用由SaaS平台和PaaS平台提供的服务的客户对底层计算资源(诸如存储空间、网络和其它基础计算资源)的管理和控制。
在某些实施例中,云基础设施系统1602还可以包括基础设施资源1630,用于提供用来向云基础设施系统的客户提供各种服务的资源。在一个实施例中,基础设施资源1630可以包括执行由PaaS平台和SaaS平台提供的服务的硬件(诸如服务器、存储装置和联网资源)的预先集成和优化的组合以及其它资源。
在一些实施例中,云基础设施系统1602中的资源可以由多个用户共享并且按需动态地重新分配。此外,资源可以分配给在不同时区中的用户。例如,云基础设施系统1602可以使第一时区中的第一用户集合能够针对指定的小时数利用云基础设施系统的资源,然后使得能够将同一资源重新分配给位于不同时区中的另一用户集合,从而最大化资源的利用率。
在某些实施例中,可以提供多个内部共享服务1632,这多个内部共享服务1632由云基础设施系统1602的不同部件或模块共享,以使得能够由云基础设施系统1602供应服务。这些内部共享服务可以包括但不限于安全和身份服务、集成服务、企业储存库服务、企业管理器服务、病毒扫描和白名单服务、高可用性、备份和恢复服务、用于启用云支持的服务、电子邮件服务、通知服务、文件传输服务等。
在某些实施例中,云基础设施系统1602可以提供对云基础设施系统中的云服务(例如,SaaS、PaaS和IaaS服务)的综合管理。在一个实施例中,云管理功能可以包括用于供应、管理和跟踪由云基础设施系统1602接收到的客户的订阅的能力等。
在一个实施例中,如图16中所绘出的,云管理功能可以由诸如订单管理模块1620、订单编排模块1622、订单供应模块1624、订单管理和监视模块1626以及身份管理模块1628的一个或多个模块提供。这些模块可以包括一个或多个计算机和/或服务器,或者可以利用一个或多个计算机和/或服务器来提供,该一个或多个计算机和/或服务器可以是通用计算机、专用服务器计算机、服务器场,服务器集群或任何其它适当的布置和/或组合。
在示例性操作中,在步骤1634处,使用客户端设备(诸如客户端计算设备1604、1606或1608)的客户可以通过请求由云基础设施系统1602提供的一个或多个服务并且对由云基础设施系统1602提供的一个或多个服务的订阅下订单来与云基础设施系统1602交互。在某些实施例中,客户可以访问云用户界面(UI)(诸如云UI 1612、云UI 1614和/或云UI1616)并经由这些UI下订阅订单。响应于客户下订单而由云基础设施系统1602接收到的订单信息可以包括识别客户以及客户打算订阅的由云基础设施系统1602提供的一个或多个服务的信息。
在步骤1636处,从客户接收到的订单信息可以存储在订单数据库1618中。如果这是新的订单,则可以为该订单创建新的记录。在一个实施例中,订单数据库1618可以是由云基础设施系统1618操作以及与其它系统元件结合操作的若干个数据库中的一个。
在步骤1638处,订单信息可以被转发到订单管理模块1620,订单管理模块1620可以被配置成执行与订单相关的计费和记帐功能,诸如验证订单以及在通过验证时预订(book)订单。
在步骤1640处,关于订单的信息可以被传送到订单编排模块1622,订单编排模块1622被配置成编排用于由客户下的订单的服务和资源的供应。在一些情况下,订单编排模块1622可以使用订单供应模块1624的服务以用于供应。在某些实施例中,订单编排模块1622使得能够管理与每个订单相关联的业务过程,并且应用业务逻辑来确定订单是否应当继续供应。
如图16中绘出的实施例所示,在步骤1642处,在接收到新订阅的订单时,订单编排模块1622向订单供应模块1624发送分配资源和配置履行订阅订单所需的资源的请求。订单供应模块1624使得能够为由客户订购的服务分配资源。订单供应模块1624提供由云基础设施系统1600提供的云服务和用来供应用于提供所请求的服务的资源的物理实现层之间的抽象级别。这使得订单编排模块1622能够与实现细节(诸如服务和资源实际上是即时供应的,还是预先供应的并且仅在请求时才被分配/指派)隔离。
在步骤1644处,一旦供应了服务和资源,就可以向进行订阅的客户发送指示所请求的服务现在已准备好用于使用的通知。在一些情况下,可以向客户发送使得客户能够开始使用所请求的服务的信息(例如,链接)。
在步骤1646处,可以由订单管理和监视模块1626来管理和跟踪客户的订阅订单。在一些情况下,订单管理和监视模块1626可以被配置成收集关于客户对所订阅的服务的使用的使用统计数据。例如,可以针对所使用的存储量、所传送的数据量、用户的数量以及系统正常工作时间量和系统宕机时间量等来收集统计数据。
在某些实施例中,云基础设施系统1600可以包括身份管理模块1628,身份管理模块1628被配置成提供身份服务,诸如云基础设施系统1600中的访问管理和授权服务。在一些实施例中,身份管理模块1628可以控制关于希望利用由云基础设施系统1602提供的服务的客户的信息。这种信息可以包括认证这些客户的身份的信息和描述这些客户被授权相对于各种系统资源(例如,文件、目录、应用、通信端口、存储器段等)执行的动作的信息。身份管理模块1628还可以包括对关于每个客户的描述性信息以及关于如何和由谁来访问和修改这些描述性信息的管理。
图17示出了可以被用来实现本发明的实施例的示例性计算机系统1700。在一些实施例中,计算机系统1700可以被用来实现上述各种服务器和计算机系统中的任何服务器和计算机系统。如图17所示,计算机系统1700包括各种子系统,这些子系统包括经由总线子系统1702与多个外围子系统通信的处理单元1704。这些外围子系统可以包括处理加速单元1706、I/O子系统1708、存储子系统1718和通信子系统1724。存储子系统1718可以包括有形的计算机可读存储介质1722和系统存储器1710。
总线子系统1702提供用于让计算机系统1700的各种部件和子系统按照期望彼此通信的机制。虽然总线子系统1702被示意性地示为单个总线,但是总线子系统的可替代实施例可以利用多个总线。总线子系统1702可以是若干个类型的总线结构中的任何类型,包括利用各种总线体系架构中的任何体系架构的存储器总线或存储器控制器、外围总线和局部总线。例如,这种体系架构可以包括工业标准体系架构(ISA)总线、微通道体系架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外围部件互连(PCI)总线(其可以实现为根据IEEE P1386.1标准制造的夹层(Mezzanine)总线),等等。
处理子系统1704控制计算机系统1700的操作并且可以包括一个或多个处理单元1732、1734等。处理单元可以包括一个或多个处理器,这一个或多个处理器包括单核或多核处理器、处理器的一个或多个核、或其组合。在一些实施例中,处理子系统1704可以包括一个或多个专用协处理器,诸如图形处理器、数字信号处理器(DSP)等。在一些实施例中,处理子系统1704的处理单元中的一些或全部可以利用定制电路来实现,诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)。
在一些实施例中,处理子系统1704中的处理单元可以执行存储在系统存储器1710中或计算机可读存储介质1722上的指令。在各种实施例中,处理单元可以执行各种程序或代码指令,并且可以维护多个并发执行的程序或进程。在任何给定的时间,要执行的程序代码中的一些或全部可以驻留在系统存储器1710中和/或计算机可读存储介质1722上,潜在地包括驻留在一个或多个存储设备上。通过适当的编程,处理子系统1704可以提供上述用于管理安全工件的各种功能。
在某些实施例中,可以提供处理加速单元1706,以用于执行定制的处理或用于卸载由处理子系统1704执行的一些处理,以便加速由计算机系统1700执行的整体处理。
I/O子系统1708可以包括用于向计算机系统1700输入信息和/或用于从或经由计算机系统1700输出信息的设备和机制。一般而言,术语“输入设备”的使用旨在包括用于向计算机系统1700输入信息的所有可能类型的设备和机制。用户接口输入设备可以包括例如键盘、诸如鼠标或轨迹球的指示设备、结合到显示器中的触摸板或触摸屏、滚轮、点拨轮、拨盘、按钮、开关、键板、具有语音命令识别系统的音频输入设备、麦克风以及其它类型的输入设备。用户接口输入设备也可以包括运动感测和/或姿势识别设备,诸如使用户能够控制输入设备并与其交互的Microsoft运动传感器、Microsoft360游戏控制器、提供用于接收利用姿势和口语命令的输入的接口的设备。用户接口输入设备也可以包括眼睛姿势识别设备,诸如从用户检测眼睛活动(例如,当拍摄图片和/或进行菜单选择时的“眨眼”)并将眼睛姿势转换为到输入设备(例如,Google)中的输入的Google眨眼检测器。此外,用户接口输入设备可以包括使用户能够通过语音命令与语音识别系统(例如,导航器)交互的语音识别感测设备。
用户接口输入设备的其它示例包括但不限于三维(3D)鼠标、操纵杆或指示杆、游戏板和图形平板、以及音频/视频设备(诸如扬声器、数字相机、数字摄像机、便携式媒体播放器、网络摄像机、图像扫描仪、指纹扫描仪、条形码读取器3D扫描仪、3D打印机、激光测距仪)、以及眼睛注视跟踪设备。此外,用户接口输入设备可以包括例如医疗成像输入设备,诸如计算机断层摄影、磁共振成像、位置发射断层摄影、医疗超声检查设备。用户接口输入设备也可以包括例如诸如MIDI键盘、数字乐器等的音频输入设备。
用户接口输出设备可以包括显示子系统、指示器灯或诸如音频输出设备的非可视显示器等。显示子系统可以是阴极射线管(CRT)、诸如利用液晶显示器(LCD)或等离子体显示器的平板设备、投影设备、触摸屏等。一般而言,术语“输出设备”的使用旨在包括用于从计算机系统1700向用户或其它计算机输出信息的所有可能类型的设备和机制。例如,用户接口输出设备可以包括但不限于可视地传达文本、图形和音频/视频信息的各种显示设备,诸如监视器、打印机、扬声器、耳机、汽车导航系统、绘图仪、语音输出设备和调制解调器。
存储子系统1718提供用于存储由计算机系统1700使用的信息的储存库或数据存储库。存储子系统1718提供有形非暂态计算机可读存储介质,用于存储提供一些实施例的功能的基本编程和数据构造。当由处理子系统1704执行时提供上述功能的软件(程序、代码模块、指令)可以存储在存储子系统1718中。软件可以由处理子系统1704的一个或多个处理单元执行。存储子系统1718也可以提供用于存储根据本发明使用的数据的储存库。
存储子系统1718可以包括一个或多个非暂态存储器设备,包括易失性存储器设备和非易失性存储器设备。如图17所示,存储子系统1718包括系统存储器1710和计算机可读存储介质1722。系统存储器1710可以包括多个存储器,包括用于在程序执行期间存储指令和数据的易失性主随机存取存储器(RAM)和在其中存储固定指令的非易失性只读存储器(ROM)或闪存存储器。在一些实现方式中,包含帮助在诸如启动期间在计算机系统1700内的元件之间传送信息的基本例程的基本输入/输出系统(BIOS)通常可以存储在ROM中。RAM通常包含当前正由处理子系统1704操作和执行的数据和/或程序模块。在一些实现方式中,系统存储器1710可以包括多个不同类型的存储器,诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。
作为示例而非限制,如在图17中所绘出的,系统存储器1710可以存储应用程序1712(其可以包括客户端应用、Web浏览器、中间层应用、关系数据库管理系统(RDBMS)等)、程序数据1714和操作系统1716。作为示例,操作系统1716可以包括各种版本的MicrosoftApple和/或Linux操作系统、各种商用或类UNIX操作系统(包括但不限于各种GNU/Linux操作系统、GoogleOS等)和/或诸如iOS、Phone、OS、10OS和OS操作系统的移动操作系统。
计算机可读存储介质1722可以存储提供一些实施例的功能的编程和数据构造。当由处理子系统1704执行时使处理器提供上述功能的软件(程序、代码模块、指令)可以存储在存储子系统1718中。作为示例,计算机可读存储介质1722可以包括非易失性存储器,诸如硬盘驱动器、磁盘驱动器、光盘驱动器(诸如CD ROM、DVD、Blu-(蓝光)盘或其它光学介质)。计算机可读存储介质1722可以包括但不限于驱动器、闪存存储器卡、通用串行总线(USB)闪存驱动器、安全数字(SD)卡、DVD盘、数字视频带等。计算机可读存储介质1722也可以包括基于非易失性存储器的固态驱动器(SSD)(诸如基于闪存存储器的SSD、企业闪存驱动器、固态ROM等),基于易失性存储器的SSD(诸如基于固态RAM、动态RAM、静态RAM、DRAM的SSD,磁阻RAM(MRAM)SSD)、以及使用基于DRAM和基于闪存存储器的SSD的组合的混合SSD。计算机可读介质1722可以为计算机系统1700提供计算机可读指令、数据结构、程序模块和其它数据的存储装置。
在某些实施例中,存储子系统1700也可以包括计算机可读存储介质读取器1720,计算机可读存储介质读取器1720可以进一步连接到计算机可读存储介质1722。计算机可读存储介质1722与系统存储器1710一起,以及可选地与系统存储器1710组合,可以全面地表示用于存储计算机可读信息的远程、本地、固定和/或可移除的存储设备加上存储介质。
在某些实施例中,计算机系统1700可以提供对执行一个或多个虚拟机的支持。计算机系统1700可以执行诸如管理程序(hypervisor)的程序以便于对虚拟机的配置和管理。每个虚拟机可以被分配存储器、计算资源(例如,处理器、核)、I/O资源和联网资源。每个虚拟机通常运行其自己的操作系统,该操作系统可以与由计算机系统1700执行的其它虚拟机执行的操作系统相同或不同。相应地,多个操作系统可以潜在地由计算机系统1700并发地运行。每个虚拟机一般独立于其它虚拟机运行。
通信子系统1724提供到其它计算机系统和网络的接口。通信子系统1724用作用于从其它系统接收数据和从计算机系统1700向其它系统发送数据的接口。例如,通信子系统1724可以使计算机系统1700能够经由互联网建立到一个或多个客户端设备的通信信道,以用于从客户端设备接收信息和发送信息到客户端设备。
通信子系统1724可以支持有线通信协议和/或无线通信协议两者。例如,在某些实施例中,通信子系统1724可以包括用于(例如,利用蜂窝电话技术、诸如3G、4G或EDGE(全球演进的增强数据速率)的高级数据网络技术)接入无线语音和/或数据网络的射频收发器部件、WiFi(IEEE 802.11族标准、或其它移动通信技术、或其任意组合)、全球定位系统(GPS)接收器部件和/或其它部件。在一些实施例中,作为无线接口的附加或替代,通信子系统1724可以提供有线网络连接(例如,以太网)。
通信子系统1724可以以各种形式接收和发送数据。例如,在一些实施例中,通信子系统1724可以接收结构化和/或非结构化的数据馈送1726、事件流1728、事件更新1730等形式的输入通信。例如,通信子系统1724可以被配置成实时地从社交媒体网络的用户和/或其它通信服务接收(或发送)实时更新数据馈送1726(诸如馈送、更新、诸如丰富站点摘要(RSS)馈送的web馈送)和/或来自一个或多个第三方信息源的实时更新。
在某些实施例中,通信子系统1724可以被配置成以连续数据流的形式接收数据,该数据本质上可能是连续的或无界的而没有明确结束,连续数据流可以包括实时事件的事件流1728和/或事件更新1730。生成连续数据的应用的示例可以包括例如传感器数据应用、金融报价机、网络性能测量工具(例如网络监视和流量管理应用)、点击流分析工具、汽车流量监视等。
通信子系统1724也可以被配置成向一个或多个数据库输出结构化和/或非结构化的数据馈送1726、事件流1728、事件更新1730等,这一个或多个数据库可以与耦合到计算机系统1700的一个或多个流传输数据源计算机通信。
计算机系统1700可以是各种类型中的一种,包括手持便携式设备(例如,蜂窝电话、计算平板、PDA)、可穿戴设备(例如,Google头戴式显示器)、个人计算机、工作站、大型机、信息站、服务器机架或任何其它数据处理系统。
由于计算机和网络不断变化的本质,对图17中绘出的计算机系统1700的描述旨在仅仅作为具体示例。具有比图17中所绘出的系统更多或更少部件的许多其它配置是可能的。基于本文所提供的公开和教导,本领域普通技术人员将理解实现各种实施例的其它方式和/或方法。
图18示出了可以被用来实现本发明的实施例的示例性异常检测和解决系统(ADRS)1800。如图18中所示,ADRS 1800可以包括ASC 1820。ASC 1820可以包括ADRS 1802模块、SCDMS 1804、CCMS 1806和LRAS 1808。ADRS 1800可以包括一个或多个ADRC 1810。ADRC1810可以被实现为ADRS 1800的一部分。ASC 1820可以是图13的ASC 318。SCDMS 1804可以是322,CCMS 1806可以是CCMS 324,LRAS 1808可以是LRAS 326,并且ADRS 1802模块可以是ADRS 320。ADRC 1810可以是图3的ADRC 354、364、374。
在至少一个实施例中,ADRS模块1802可以被配置成确定定义异常界限的值集合,其中该异常界限针对与云计算机系统所提供的服务相关的度量。服务可以由云计算机系统中的部件建立。这些部件可以包括在云计算机环境中执行的第一容器和第二容器。第一容器可以是第二容器中的孩子容器。ADRS模块1802可以被配置成将第一容器配置成包括异常检测和解决部件(ADRC)(诸如ADRC 1810之一)。该ADRC可以被配置成在第一容器中检测与云计算机系统中的服务的操作相关的异常的异常事件。该异常事件是基于度量的值不满足针对该度量的异常界限而被检测到的。ADRC可以被配置成识别用于在第一容器中解决异常的策略。ADRC可以被配置成确定策略中的规则被异常满足。ADRC可以被配置成发起校正动作以解决异常。基于规则被满足,可以在策略中识别该校正动作。
在一些实施例中,异常界限是为用户定义的异常定义的固定界限。值集合可以包括轮询间隔值、度量的最小量度、度量的软限制、度量的最大值,以及定义异常的最小发生次数的最小连续读数值。检测异常事件可以包括确定度量的值是否满足异常界限。当度量的值小于最小量度以及等于或大于软限制时,该值可能不满足异常界限。可以基于最小连续读数被满足来检测异常事件。
在一些实施例中,异常界限是为用户定义的异常定义的季节性界限。该值集合可以包括轮询间隔值、度量的最小量度、度量的软限制、度量的最大值、异常连续发生的持续时间、当季节性界限有效时的开始时间,以及当季节性界限有效时的结束时间。检测异常事件可以包括确定度量的值是否满足异常界限。当度量的值小于最小量度以及等于或大于软限制时、当异常事件在持续时间内被检测到以及在开始时间之后和结束时间之前被检测到时,度量的值可能不满足异常界限。
在至少一个实施例中,确定值集合包括分析日志文件的时间序列数据,以计算用于异常界限的值集合。
在一些实施例中,ADRC可以被配置成在确定用于在第一容器中解决异常的策略不能被识别时,通知第二容器异常不能在第一容器中被解决。ADRC可以被配置成识别用于在第二容器中解决异常的策略。该方法可以包括确定用于在第二容器中解决异常的策略中的规则被异常满足。ADRC可以被配置成基于规则被满足而发起用于在第二容器中解决异常的策略中所识别出的校正动作。
在至少一个实施例中,与服务相关的度量是针对提供服务的服务质量(QoS)而监视的多个度量中的一个。
在至少一个实施例中,ADRS模块1802可以被配置成确定定义异常界限的值集合,其中该异常界限针对与云计算机系统所提供的服务相关的度量。服务可以由云计算机系统中的部件建立。部件可以包括在云计算机环境中执行的第一容器和第二容器。第一容器可以是第二容器中的孩子容器。ADRS模块1802可以被配置成将第一容器配置成包括第一异常检测和解决部件(ADRC)(诸如ADRC 1810之一)。ADRS模块1802可以被配置成将第二容器配置成包括第二ADRC。第一ADRC可以被配置成在第一容器中检测与云计算机系统中的服务的操作相关的异常的异常事件。基于度量的值不满足针对该度量的异常界限来检测异常事件。第一ADRC可以被配置成确定第一ADRC是否具有用于在第一容器中解决异常的策略。第一ADRC可以被配置成基于确定第一ADRC不具有用于在第一容器中解决异常的策略而通知第二容器该异常不能在第一容器中被解决。第二ADRC可以被配置成识别用于让该ADRC在第二容器中解决异常的策略。第二ADRC可以被配置成确定用于在第二容器中解决异常的策略中的规则被异常满足。第二ADRC可以被配置成基于规则被满足而发起用于在第二容器中解决异常的策略中所识别出的校正动作。
在一些实施例中,第二ADRC可以被配置成基于确定第二ADRC不具有在第二容器中解决异常的策略而使用通信系统发送异常不能被解决的警报。
在一些实施例中,第二ADRC可以被配置成基于确定第二ADRC不具有在第二容器中解决异常的策略而通知第三容器异常不能被解决,其中第三容器是部件之一。第三容器可以包括第二容器。可以在第三容器中配置第三ADRC,以识别用于在第三容器中解决异常的策略。第三ADRC可以被配置成发起用于在第三容器中解决异常的策略中所识别出的校正动作。
虽然已经描述了本发明的具体实施例,但是各种修改、更改、替代构造和等同物也被涵盖在本发明的范围之内。修改包括所公开的特征的任何相关组合。本发明的实施例不限于在某些具体数据处理环境内的操作,而是可以在多个数据处理环境内自由操作。此外,虽然已利用特定系列的事务和步骤描述了本发明的实施例,然而,对本领域技术人员应当明显的是,本发明的范围不限于所描述的系列事务和步骤。上述实施例的各种特征和方面可以被单独或联合使用。
另外,虽然已经利用硬件和软件的特定组合描述了本发明的实施例,但是应当认识到,硬件和软件的其它组合也在本发明的范围之内。本发明的实施例可以只用硬件、或只用软件、或利用其组合来实现。本文描述的各种过程可以在同一处理器或以任何组合的不同处理器上实现。相应地,在部件或模块被描述为被配置成执行某些操作的情况下,这种配置可以例如通过设计电子电路来执行操作来实现、通过对可编程电子电路(诸如微处理器)进行编程来执行操作来实现、或通过其任意组合来实现。进程可以利用各种技术来通信,这些技术包括但不限于用于进程间通信的常规技术,并且不同的进程对可以使用不同的技术,或者同一对进程可以在不同时间使用不同的技术。
相应地,说明书和附图应当在说明性而不是限制性的意义上考虑。然而,将明显的是,在不背离权利要求中阐述的更广泛精神和范围的情况下,可以对其进行添加、减少、删除和其它修改和改变。因此,虽然已描述了具体的发明实施例,但是这些实施例不旨在进行限制。各种修改和等同物都在以下权利要求的范围之内。

Claims (20)

1.一种方法,包括:
由计算机系统确定定义异常界限的值集合,其中所述异常界限针对与云计算机系统所提供的服务有关的度量,其中所述服务由所述云计算机系统中的部件建立,并且其中所述部件包括在云计算机环境中执行的第一容器和第二容器,并且其中第一容器是第二容器中的孩子容器;
将第一容器配置为包括异常检测和解决部件ADRC;
由第一容器中的ADRC检测与所述云计算机系统中的所述服务的操作相关的异常的异常事件,其中基于所述度量的值不满足针对所述度量的所述异常界限来检测所述异常事件;
识别用于在第一容器中解决所述异常的策略;
确定所述策略中的规则被所述异常满足;以及
发起校正动作以解决所述异常,所述校正动作是基于所述规则被满足而在所述策略中被识别的。
2.如权利要求1所述的方法,其中所述异常界限是为用户定义的异常定义的固定界限,并且其中所述值集合包括轮询间隔值、所述度量的最小量度、所述度量的软限制、所述度量的最大值,以及定义所述异常的最小发生次数的最小连续读数值。
3.如权利要求2所述的方法,其中检测所述异常事件包括确定所述度量的值是否满足所述异常界限,并且其中,当所述度量的值小于所述最小量度以及等于或大于所述软限制时,该值不满足所述异常界限。
4.如权利要求2或权利要求3所述的方法,其中基于所述最小连续读数被满足来进一步检测所述异常事件。
5.如权利要求4所述的方法,其中所述异常界限是为用户定义的异常定义的季节性界限,并且其中所述值集合包括轮询间隔值、所述度量的最小量度、所述度量的软限制、所述度量的最大值、所述异常连续发生的持续时间、当所述季节性界限有效时的开始时间,以及当所述季节性界限有效时的结束时间。
6.如权利要求5所述的方法,其中检测所述异常事件包括确定所述度量的值是否满足所述异常界限,并且其中,当所述度量的值小于所述最小量度以及等于或大于所述软限制时、当所述异常事件被检测达到所述持续时间以及所述异常事件在所述开始时间之后和所述结束时间之前被检测到时,该值不满足所述异常界限。
7.如权利要求1至6中任一项所述的方法,其中确定所述值集合包括分析日志文件的时间序列数据,以计算用于所述异常界限的所述值集合。
8.如权利要求1至7中任一项所述的方法,还包括:
在确定用于在第一容器中解决所述异常的策略不能被识别时,通知第二容器所述异常不能在第一容器中被解决;以及
识别用于在第二容器中解决所述异常的策略;
确定在用于在第二容器中解决所述异常的策略中的规则被所述异常满足;以及
基于该规则被满足,发起用于在第二容器中解决所述异常的策略中所识别出的校正动作。
9.如权利要求1至8中任一项所述的方法,其中与所述服务相关的所述度量是针对提供所述服务的服务质量(QoS)而监视的多个度量中的一个。
10.一种系统,包括:
一个或多个处理器;以及
存储器,所述存储器能够被所述一个或多个处理器访问,所述存储器存储指令,所述指令当由所述一个或多个处理器执行时,使所述一个或多个处理器:
确定定义异常界限的值集合,其中所述异常界限针对与云计算机系统所提供的服务有关的度量,其中所述服务由所述云计算机系统中的部件建立,并且其中所述部件包括在云计算机环境中执行的第一容器和第二容器,并且其中第一容器是第二容器中的孩子容器;
将第一容器配置为包括异常检测和解决部件ADRC;
由第一容器中的ADRC检测与所述云计算机系统中的所述服务的操作相关的异常的异常事件,其中基于所述度量的值不满足针对所述度量的所述异常界限来检测所述异常事件;
识别用于在第一容器中解决所述异常的策略;
确定所述策略中的规则被所述异常满足;以及
发起校正动作以解决所述异常,所述校正动作是基于所述规则被满足而在所述策略中被识别的。
11.如权利要求10所述的系统,其中所述一个或多个处理器和所述存储器被包括在所述云计算机系统中。
12.如权利要求10或权利要求11所述的系统,其中所述异常界限是为用户定义的异常定义的固定界限,并且其中所述值集合包括轮询间隔值、所述度量的最小量度、所述度量的软限制、所述度量的最大值,以及定义所述异常的最小发生次数的最小连续读数值。
13.如权利要求10至12中任一项所述的系统,其中检测所述异常事件包括确定所述度量的值是否满足所述异常界限,并且其中,当所述度量的值小于所述最小量度以及等于或大于所述软限制时,该值不满足所述异常界限。
14.如权利要求12或权利要求13所述的系统,其中基于所述最小连续读数被满足来进一步检测所述异常事件。
15.如权利要求10或权利要求11所述的系统,其中所述异常界限是为用户定义的异常定义的季节性界限,并且其中所述值集合包括轮询间隔值、所述度量的最小量度、所述度量的软限制、所述度量的最大值、所述异常连续发生的持续时间、当所述季节性界限有效时的开始时间、以及当所述季节性界限有效时的结束时间。
16.如权利要求10至15中任一项所述的系统,其中检测所述异常事件包括确定所述度量的值是否满足所述异常界限,并且其中,当所述度量的值小于所述最小量度以及等于或大于所述软限制时、当所述异常事件被检测达到所述持续时间以及在所述开始时间之后和在所述结束时间之前被检测到时,该值不满足所述异常界限。
17.如权利要求10至16中任一项所述的系统,其中确定所述值集合包括分析日志文件的时间序列数据,以计算用于所述异常界限的所述值集合。
18.一种方法,包括:
由计算机系统确定定义异常界限的值集合,所述异常界限针对与云计算机系统所提供的服务相关的度量,其中所述服务由云计算机系统中的部件建立,并且其中所述部件包括在云计算机环境中执行的第一容器和第二容器,并且其中第一容器是第二容器中的孩子容器;
将第一容器配置为包括第一异常检测和解决部件ADRC;
将第二容器配置为包括第二ADRC;
由第一容器中的第一ADRC检测与所述云计算机系统中的所述服务的操作相关的异常的异常事件,其中基于所述度量的值不满足针对所述度量的所述异常界限来检测所述异常事件;
确定第一ADRC是否具有用于在第一容器中解决所述异常的策略;
基于确定第一ADRC不具有用于在第一容器中解决所述异常的策略,通知第二容器所述异常不能在第一容器中被解决;
由第二ADRC识别用于让该ADRC在第二容器中解决所述异常的策略;
确定用于在第二容器中解决所述异常的策略中的规则被所述异常满足;以及
基于所述规则被满足,发起用于在第二容器中解决所述异常的策略中所识别出的校正动作。
19.如权利要求18所述的方法,还包括:
基于由第二ADRC确定第二ADRC不具有用于在第二容器中解决所述异常的策略,使用通信系统发送所述异常不能被解决的警报。
20.如权利要求18或权利要求19所述的方法,还包括:
基于由第二ADRC确定第二ADRC不具有用于在第二容器中解决所述异常的策略,通知第三容器所述异常不能被解决,其中第三容器是所述部件中的一个部件,并且其中第三容器包括第二容器;以及
由在第三容器中配置的第三ADRC识别用于在第三容器中解决所述异常的策略;以及
发起用于在第三容器中解决所述异常的策略中所识别出的校正动作。
CN201680030877.2A 2015-05-28 2016-05-27 自动异常检测和解决系统 Active CN107690623B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910436800.0A CN110134542B (zh) 2015-05-28 2016-05-27 自动异常检测和解决系统

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201562167851P 2015-05-28 2015-05-28
US62/167,851 2015-05-28
US201562199895P 2015-07-31 2015-07-31
US62/199,895 2015-07-31
US201562245706P 2015-10-23 2015-10-23
US62/245,706 2015-10-23
US15/165,298 US10042697B2 (en) 2015-05-28 2016-05-26 Automatic anomaly detection and resolution system
US15/165,298 2016-05-26
PCT/US2016/034536 WO2016191639A1 (en) 2015-05-28 2016-05-27 Automatic anomaly detection and resolution system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201910436800.0A Division CN110134542B (zh) 2015-05-28 2016-05-27 自动异常检测和解决系统

Publications (2)

Publication Number Publication Date
CN107690623A true CN107690623A (zh) 2018-02-13
CN107690623B CN107690623B (zh) 2019-06-07

Family

ID=56133059

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910436800.0A Active CN110134542B (zh) 2015-05-28 2016-05-27 自动异常检测和解决系统
CN201680030877.2A Active CN107690623B (zh) 2015-05-28 2016-05-27 自动异常检测和解决系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201910436800.0A Active CN110134542B (zh) 2015-05-28 2016-05-27 自动异常检测和解决系统

Country Status (5)

Country Link
US (2) US10042697B2 (zh)
EP (1) EP3304315B1 (zh)
JP (1) JP6731424B2 (zh)
CN (2) CN110134542B (zh)
WO (1) WO2016191639A1 (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108710673A (zh) * 2018-05-17 2018-10-26 招银云创(深圳)信息技术有限公司 实现数据库高可用方法、系统、计算机设备和存储介质
CN109614553A (zh) * 2018-12-21 2019-04-12 北京博明信德科技有限公司 用于日志收集的PaaS平台
CN110825873A (zh) * 2019-10-11 2020-02-21 支付宝(杭州)信息技术有限公司 用于对日志异常分类规则进行扩充的方法及装置
CN110874291A (zh) * 2019-10-31 2020-03-10 合肥中科类脑智能技术有限公司 一种异常容器实时检测方法
WO2020167539A1 (en) * 2019-02-05 2020-08-20 Qomplx, Inc. System and method for complex it process annotation, tracing, analysis, and simulation
CN111971942A (zh) * 2018-04-05 2020-11-20 微软技术许可有限责任公司 季节性数据的异常检测和处理
US10853161B2 (en) 2015-05-28 2020-12-01 Oracle International Corporation Automatic anomaly detection and resolution system
CN112925674A (zh) * 2021-02-18 2021-06-08 北京九贺科技有限公司 一种电力监控大数据备份方法和系统
CN113064873A (zh) * 2021-04-15 2021-07-02 上海浦东发展银行股份有限公司 一种高召回率的日志异常检测方法
WO2021146899A1 (zh) * 2020-01-21 2021-07-29 深圳元戎启行科技有限公司 数据存储方法和装置、计算机设备、计算机可读存储介质
CN113994641A (zh) * 2019-06-25 2022-01-28 马维尔亚洲私人有限公司 具有异常检测的汽车网络交换机
CN116226788A (zh) * 2023-05-06 2023-06-06 鹏城实验室 一种融合多种数据类型的建模方法及相关设备

Families Citing this family (191)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3256998A1 (en) 2015-02-11 2017-12-20 British Telecommunications Public Limited Company Validating computer resource usage
WO2017021154A1 (en) 2015-07-31 2017-02-09 British Telecommunications Public Limited Company Access control
WO2017021155A1 (en) 2015-07-31 2017-02-09 British Telecommunications Public Limited Company Controlled resource provisioning in distributed computing environments
WO2017021153A1 (en) 2015-07-31 2017-02-09 British Telecommunications Public Limited Company Expendable access control
US10284453B2 (en) * 2015-09-08 2019-05-07 Uber Technologies, Inc. System event analyzer and outlier visualization
US10021120B1 (en) 2015-11-09 2018-07-10 8X8, Inc. Delayed replication for protection of replicated databases
US10043026B1 (en) * 2015-11-09 2018-08-07 8X8, Inc. Restricted replication for protection of replicated databases
US10200387B2 (en) * 2015-11-30 2019-02-05 International Business Machines Corporation User state tracking and anomaly detection in software-as-a-service environments
US10866939B2 (en) * 2015-11-30 2020-12-15 Micro Focus Llc Alignment and deduplication of time-series datasets
US10705835B2 (en) * 2015-12-03 2020-07-07 International Business Machines Corporation Transparent multi-architecture support in a container based cloud
US10223074B2 (en) * 2015-12-11 2019-03-05 International Business Machines Corporation Determining the identity of software in software containers
US10546241B2 (en) 2016-01-08 2020-01-28 Futurewei Technologies, Inc. System and method for analyzing a root cause of anomalous behavior using hypothesis testing
US10397810B2 (en) * 2016-01-08 2019-08-27 Futurewei Technologies, Inc. Fingerprinting root cause analysis in cellular systems
US10074066B2 (en) * 2016-01-16 2018-09-11 International Business Machines Corporation Two phase predictive approach for supply network optimization
US10332056B2 (en) * 2016-03-14 2019-06-25 Futurewei Technologies, Inc. Features selection and pattern mining for KQI prediction and cause analysis
US10129118B1 (en) * 2016-03-29 2018-11-13 Amazon Technologies, Inc. Real time anomaly detection for data streams
EP3437290B1 (en) 2016-03-30 2020-08-26 British Telecommunications public limited company Detecting computer security threats
WO2017167548A1 (en) 2016-03-30 2017-10-05 British Telecommunications Public Limited Company Assured application services
US11159549B2 (en) 2016-03-30 2021-10-26 British Telecommunications Public Limited Company Network traffic threat identification
US11153091B2 (en) 2016-03-30 2021-10-19 British Telecommunications Public Limited Company Untrusted code distribution
WO2017167547A1 (en) 2016-03-30 2017-10-05 British Telecommunications Public Limited Company Cryptocurrencies malware based detection
US10614398B2 (en) * 2016-05-26 2020-04-07 International Business Machines Corporation System impact based logging with resource finding remediation
US10614085B2 (en) * 2016-05-26 2020-04-07 International Business Machines Corporation System impact based logging with enhanced event context
CN107526647B (zh) * 2016-06-21 2021-06-22 伊姆西Ip控股有限责任公司 一种故障处理方法、系统和计算机程序产品
US10805414B2 (en) * 2016-07-15 2020-10-13 International Business Machines Corporation Dynamic resource broker services
US10223191B2 (en) * 2016-07-20 2019-03-05 International Business Machines Corporation Anomaly detection in performance management
GB2553784B (en) * 2016-09-13 2019-02-06 Advanced Risc Mach Ltd Management of log data in electronic systems
CN107819640B (zh) * 2016-09-14 2019-06-28 北京百度网讯科技有限公司 用于机器人操作系统的监控方法和装置
US10432483B1 (en) * 2016-09-26 2019-10-01 Amazon Technologies, Inc. General-purpose metrics publishing with variable resolution
US11151473B1 (en) * 2016-10-19 2021-10-19 Jpmorgan Chase Bank, N.A. Systems and methods for machine-learning augmented application monitoring
CN106528389B (zh) * 2016-10-27 2021-03-09 北京小米移动软件有限公司 系统流畅性的性能评测方法、装置及终端
US10430249B2 (en) * 2016-11-02 2019-10-01 Red Hat Israel, Ltd. Supporting quality-of-service for virtual machines based on operational events
US10733037B2 (en) * 2016-11-03 2020-08-04 Cisco Technology, Inc. STAB: smart triaging assistant bot for intelligent troubleshooting
US11429473B2 (en) * 2016-11-30 2022-08-30 Red Hat, Inc. Automated problem resolution
GB201621627D0 (en) * 2016-12-19 2017-02-01 Palantir Technologies Inc Task allocation
US10560348B2 (en) * 2016-12-20 2020-02-11 Arris Enterprises Llc Network access device for facilitating the troubleshooting of network connectivity problems
CN106875018B (zh) * 2017-01-04 2021-03-30 北京百度网讯科技有限公司 一种超大规模机器自动化维修的方法和装置
US10203998B2 (en) * 2017-02-22 2019-02-12 Accenture Global Solutions Limited Automatic analysis of a set of systems used to implement a process
US11126465B2 (en) 2017-03-23 2021-09-21 Microsoft Technology Licensing, Llc Anticipatory collection of metrics and logs
US11055631B2 (en) * 2017-03-27 2021-07-06 Nec Corporation Automated meta parameter search for invariant based anomaly detectors in log analytics
US10831585B2 (en) * 2017-03-28 2020-11-10 Xiaohui Gu System and method for online unsupervised event pattern extraction and holistic root cause analysis for distributed systems
US20180287949A1 (en) * 2017-03-29 2018-10-04 Intel Corporation Throttling, sub-node composition, and balanced processing in rack scale architecture
US20180287914A1 (en) * 2017-03-30 2018-10-04 Wipro Limited System and method for management of services in a cloud environment
EP3382555A1 (en) * 2017-03-30 2018-10-03 Wipro Limited System and method for management of services in a cloud environment
WO2018178026A1 (en) * 2017-03-30 2018-10-04 British Telecommunications Public Limited Company Hierarchical temporal memory for access control
WO2018178034A1 (en) * 2017-03-30 2018-10-04 British Telecommunications Public Limited Company Anomaly detection for computer systems
EP3382591B1 (en) 2017-03-30 2020-03-25 British Telecommunications public limited company Hierarchical temporal memory for expendable access control
US10482158B2 (en) 2017-03-31 2019-11-19 Futurewei Technologies, Inc. User-level KQI anomaly detection using markov chain model
US20200110395A1 (en) * 2017-04-13 2020-04-09 Texas Tech University System System and Method for Automated Prediction and Detection of Component and System Failures
US10171377B2 (en) * 2017-04-18 2019-01-01 International Business Machines Corporation Orchestrating computing resources between different computing environments
US10698926B2 (en) * 2017-04-20 2020-06-30 Microsoft Technology Licensing, Llc Clustering and labeling streamed data
US10917419B2 (en) * 2017-05-05 2021-02-09 Servicenow, Inc. Systems and methods for anomaly detection
WO2018206405A1 (en) 2017-05-08 2018-11-15 British Telecommunications Public Limited Company Interoperation of machine learning algorithms
WO2018206374A1 (en) 2017-05-08 2018-11-15 British Telecommunications Public Limited Company Load balancing of machine learning algorithms
EP3622450A1 (en) 2017-05-08 2020-03-18 British Telecommunications Public Limited Company Management of interoperating machine leaning algorithms
WO2018206406A1 (en) 2017-05-08 2018-11-15 British Telecommunications Public Limited Company Adaptation of machine learning algorithms
US10970637B2 (en) 2017-05-16 2021-04-06 International Business Machines Corporation Analytics gathering of discovered and researched insights
US10375169B1 (en) * 2017-05-24 2019-08-06 United States Of America As Represented By The Secretary Of The Navy System and method for automatically triggering the live migration of cloud services and automatically performing the triggered migration
US10740212B2 (en) * 2017-06-01 2020-08-11 Nec Corporation Content-level anomaly detector for systems with limited memory
US10701094B2 (en) * 2017-06-22 2020-06-30 Oracle International Corporation Techniques for monitoring privileged users and detecting anomalous activities in a computing environment
US11161307B1 (en) 2017-07-07 2021-11-02 Kemeera Inc. Data aggregation and analytics for digital manufacturing
US10769160B2 (en) 2017-07-20 2020-09-08 Airmagnet, Inc. Efficient storage and querying of time series metrics
US10726269B2 (en) 2017-07-20 2020-07-28 Verizon Patent And Licensing, Inc. Aligning advertisements in video streams
WO2019036394A1 (en) * 2017-08-14 2019-02-21 Cloud Assert Llc DIAGNOSIS OF SOFTWARE AND RESOLUTION OF ANOMALIES
US10776246B2 (en) 2017-08-18 2020-09-15 Vmware, Inc. Presenting a temporal topology graph of a computing environment at a graphical user interface
US10601849B2 (en) * 2017-08-24 2020-03-24 Level 3 Communications, Llc Low-complexity detection of potential network anomalies using intermediate-stage processing
US10560394B2 (en) * 2017-09-22 2020-02-11 Cisco Technology, Inc. Dynamic transmission side scaling
US10956849B2 (en) * 2017-09-29 2021-03-23 At&T Intellectual Property I, L.P. Microservice auto-scaling for achieving service level agreements
JP7246381B2 (ja) 2017-09-30 2023-03-27 オラクル・インターナショナル・コーポレイション 環境要件に基づくコンテナのデプロイメント
US10635565B2 (en) * 2017-10-04 2020-04-28 Servicenow, Inc. Systems and methods for robust anomaly detection
JP7120708B2 (ja) * 2017-10-13 2022-08-17 ホアウェイ・テクノロジーズ・カンパニー・リミテッド クラウドデバイス共同的リアルタイムユーザ使用および性能異常検出のシステムおよび方法
US11054811B2 (en) * 2017-11-03 2021-07-06 Drishti Technologies, Inc. Systems and methods for line balancing
US10628435B2 (en) * 2017-11-06 2020-04-21 Adobe Inc. Extracting seasonal, level, and spike components from a time series of metrics data
US10628252B2 (en) 2017-11-17 2020-04-21 Google Llc Real-time anomaly detection and correlation of time-series data
US20190163515A1 (en) * 2017-11-24 2019-05-30 Wipro Limited Method and system for resolving anomaly events occurring in a virtual environment in real-time
US11120127B2 (en) * 2017-12-27 2021-09-14 Nec Corporation Reconstruction-based anomaly detection
US10764312B2 (en) * 2017-12-28 2020-09-01 Microsoft Technology Licensing, Llc Enhanced data aggregation techniques for anomaly detection and analysis
JP7032640B2 (ja) * 2017-12-28 2022-03-09 富士通株式会社 影響範囲特定プログラム、影響範囲特定方法、および影響範囲特定装置
CN108052385A (zh) * 2017-12-29 2018-05-18 亿企赢网络科技有限公司 一种容器管理方法、系统、设备及计算机存储介质
US11010233B1 (en) 2018-01-18 2021-05-18 Pure Storage, Inc Hardware-based system monitoring
US10970395B1 (en) 2018-01-18 2021-04-06 Pure Storage, Inc Security threat monitoring for a storage system
US11368474B2 (en) 2018-01-23 2022-06-21 Rapid7, Inc. Detecting anomalous internet behavior
US10884805B2 (en) * 2018-02-15 2021-01-05 Amazon Technologies, Inc. Dynamically configurable operation information collection
WO2019178219A1 (en) * 2018-03-13 2019-09-19 Tektronix, Inc. Integrated development environment for protocol design, evaluation, and debugging
US10572336B2 (en) 2018-03-23 2020-02-25 International Business Machines Corporation Cognitive closed loop analytics for fault handling in information technology systems
US10733043B2 (en) * 2018-04-11 2020-08-04 International Business Machines Corporation Automatic correcting of computing cluster execution failure
US10783027B2 (en) * 2018-05-30 2020-09-22 Microsoft Technology Licensing, Llc Preemptive crash data capture
CN108923952B (zh) * 2018-05-31 2021-11-30 北京百度网讯科技有限公司 基于服务监控指标的故障诊断方法、设备及存储介质
KR102059808B1 (ko) * 2018-06-11 2019-12-27 주식회사 티맥스오에스 컨테이너 기반 통합 관리 시스템
US11106560B2 (en) * 2018-06-22 2021-08-31 EMC IP Holding Company LLC Adaptive thresholds for containers
CN108920327A (zh) * 2018-06-27 2018-11-30 郑州云海信息技术有限公司 一种云计算告警方法及装置
WO2020000409A1 (en) * 2018-06-29 2020-01-02 Intel Corporation Managing quality of storage service in virtual network
US11366680B2 (en) * 2018-07-19 2022-06-21 Twistlock, Ltd. Cloud native virtual machine runtime protection
US11514406B2 (en) * 2018-07-25 2022-11-29 Sap Se Cascaded analysis logic for solution and process control
US11019064B2 (en) 2018-09-04 2021-05-25 International Business Machines Corporation Data security across data residency restriction boundaries
US10796283B2 (en) 2018-09-24 2020-10-06 International Business Machines Corporation Dynamically deleting received documents based on a generated expiration deadline for an event lapsing
US11157346B2 (en) * 2018-09-26 2021-10-26 Palo Alto Rsearch Center Incorporated System and method for binned inter-quartile range analysis in anomaly detection of a data series
EP3874689A1 (en) * 2018-10-30 2021-09-08 Nokia Solutions and Networks Oy Diagnosis knowledge sharing for self-healing
US11055162B2 (en) * 2018-10-31 2021-07-06 Salesforce.Com, Inc. Database system performance degradation detection
KR102125354B1 (ko) * 2018-12-19 2020-06-22 주식회사 와이즈넛 마이크로 서비스 아키텍처를 사용하는 스트리밍 빅데이터 처리 모듈 관리를 위한 수퍼바이저 시스템 및 그 방법
CN109656781A (zh) * 2018-12-20 2019-04-19 北京量子保科技有限公司 一种日志管理方法、系统、介质和电子设备
US20200210310A1 (en) * 2018-12-27 2020-07-02 Hewlett Packard Enterprise Development Lp Analytics-based architecture compliance testing for distributed web applications
EP3675017A1 (en) * 2018-12-28 2020-07-01 AO Kaspersky Lab System and method of determining compatible modules
RU2739866C2 (ru) 2018-12-28 2020-12-29 Акционерное общество "Лаборатория Касперского" Способ обнаружения совместимых средств для систем с аномалиями
EP3675018A1 (en) * 2018-12-28 2020-07-01 AO Kaspersky Lab Method of detecting compatible systems for systems with anomalies
US11159360B2 (en) * 2019-01-15 2021-10-26 Cisco Technology, Inc. Dynamic statistics correlation for computing resources in a multi-tenant environment
US10901375B2 (en) 2019-01-31 2021-01-26 Morgan Stanley Services Group Inc. Chaotic system anomaly response by artificial intelligence
US10812619B2 (en) * 2019-02-19 2020-10-20 Ingram Micro Inc. System and method for bulk user service assignment using CSV
US11061796B2 (en) * 2019-02-19 2021-07-13 Vmware, Inc. Processes and systems that detect object abnormalities in a distributed computing system
US11854551B2 (en) * 2019-03-22 2023-12-26 Avaya Inc. Hybrid architecture for transcription of real-time audio based on event data between on-premises system and cloud-based advanced audio processing system
US11290348B1 (en) * 2019-03-28 2022-03-29 Juniper Networks, Inc. Interactive user interfaces for displaying features of an optimized network plan
KR102212806B1 (ko) * 2019-03-28 2021-02-08 (주)한국아이티평가원 클라우드 기반 어플리케이션의 이용 관리 방법
US11163663B2 (en) * 2019-04-09 2021-11-02 Jpmorgan Chase Bank, N.A. Method for improving end user experience in virtual desktop infrastructure by diagnosing potential performance problems
US11481300B2 (en) * 2019-04-23 2022-10-25 Vmware, Inc. Processes and systems that detect abnormal behavior of objects of a distributed computing system
US11715051B1 (en) * 2019-04-30 2023-08-01 Splunk Inc. Service provider instance recommendations using machine-learned classifications and reconciliation
US11561959B2 (en) 2019-07-15 2023-01-24 Huawei Cloud Computing Technologies Co., Ltd. Method and system for automatic anomaly detection in data
US10671443B1 (en) 2019-07-16 2020-06-02 Capital One Services, Llc Infrastructure resource monitoring and migration
RU2739864C1 (ru) * 2019-07-17 2020-12-29 Акционерное общество "Лаборатория Касперского" Система и способ корреляции событий для выявления инцидента информационной безопасности
US11301307B2 (en) 2019-07-24 2022-04-12 Red Hat, Inc. Predictive analysis for migration schedulers
US11803773B2 (en) * 2019-07-30 2023-10-31 EMC IP Holding Company LLC Machine learning-based anomaly detection using time series decomposition
US11277317B2 (en) * 2019-08-05 2022-03-15 International Business Machines Corporation Machine learning to predict quality-of-service needs in an operational data management system
US11561960B2 (en) * 2019-08-13 2023-01-24 T-Mobile Usa, Inc. Key performance indicator-based anomaly detection
US11284284B2 (en) 2019-08-13 2022-03-22 T-Mobile Usa, Inc. Analysis of anomalies using ranking algorithm
US10496532B1 (en) 2019-08-14 2019-12-03 Capital One Services, Llc Automatically reconfiguring a performance test environment
US11281522B2 (en) * 2019-08-30 2022-03-22 Microsoft Technology Licensing, Llc Automated detection and classification of dynamic service outages
US11327952B2 (en) * 2019-09-06 2022-05-10 Salesforce.Com, Inc. Multivariate auto-differential correlation engine in a computing environment
US11763198B2 (en) * 2019-10-08 2023-09-19 Nec Corporation Sensor contribution ranking
US11797882B2 (en) * 2019-11-21 2023-10-24 Oracle International Corporation Prognostic-surveillance technique that dynamically adapts to evolving characteristics of a monitored asset
US11625481B2 (en) 2019-11-22 2023-04-11 Pure Storage, Inc. Selective throttling of operations potentially related to a security threat to a storage system
US11520907B1 (en) 2019-11-22 2022-12-06 Pure Storage, Inc. Storage system snapshot retention based on encrypted data
US11651075B2 (en) 2019-11-22 2023-05-16 Pure Storage, Inc. Extensible attack monitoring by a storage system
US11645162B2 (en) 2019-11-22 2023-05-09 Pure Storage, Inc. Recovery point determination for data restoration in a storage system
US11615185B2 (en) 2019-11-22 2023-03-28 Pure Storage, Inc. Multi-layer security threat detection for a storage system
US11687418B2 (en) 2019-11-22 2023-06-27 Pure Storage, Inc. Automatic generation of recovery plans specific to individual storage elements
US11675898B2 (en) 2019-11-22 2023-06-13 Pure Storage, Inc. Recovery dataset management for security threat monitoring
US11657155B2 (en) 2019-11-22 2023-05-23 Pure Storage, Inc Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system
US11941116B2 (en) * 2019-11-22 2024-03-26 Pure Storage, Inc. Ransomware-based data protection parameter modification
US11720714B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Inter-I/O relationship based detection of a security threat to a storage system
US11720692B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Hardware token based management of recovery datasets for a storage system
US11755751B2 (en) 2019-11-22 2023-09-12 Pure Storage, Inc. Modify access restrictions in response to a possible attack against data stored by a storage system
US11341236B2 (en) 2019-11-22 2022-05-24 Pure Storage, Inc. Traffic-based detection of a security threat to a storage system
US11500788B2 (en) 2019-11-22 2022-11-15 Pure Storage, Inc. Logical address based authorization of operations with respect to a storage system
CN112988501B (zh) * 2019-12-17 2023-02-03 深信服科技股份有限公司 一种告警信息生成方法、装置、电子设备及存储介质
CN115315689A (zh) * 2020-02-07 2022-11-08 阿里巴巴集团控股有限公司 用于异常检测系统的自动参数调整
US11593221B2 (en) * 2020-02-28 2023-02-28 EMC IP Holding Company LLC Methods and systems for determining backup schedules
US11256598B2 (en) 2020-03-13 2022-02-22 International Business Machines Corporation Automated selection of performance monitors
US11775405B2 (en) * 2020-03-20 2023-10-03 UncommonX Inc. Generation of an issue response evaluation regarding a system aspect of a system
US11416364B2 (en) * 2020-03-27 2022-08-16 Vmware, Inc. Methods and systems that identify dimensions related to anomalies in system components of distributed computer systems using clustered traces, metrics, and component-associated attribute values
US11113174B1 (en) * 2020-03-27 2021-09-07 Vmware, Inc. Methods and systems that identify dimensions related to anomalies in system components of distributed computer systems using traces, metrics, and component-associated attribute values
US11880272B2 (en) * 2020-03-27 2024-01-23 VMware LLC Automated methods and systems that facilitate root-cause analysis of distributed-application operational problems and failures by generating noise-subtracted call-trace-classification rules
US11880271B2 (en) * 2020-03-27 2024-01-23 VMware LLC Automated methods and systems that facilitate root cause analysis of distributed-application operational problems and failures
EP3889777A1 (en) * 2020-03-31 2021-10-06 Accenture Global Solutions Limited System and method for automating fault detection in multi-tenant environments
US11379293B1 (en) * 2020-05-14 2022-07-05 State Farm Mutual Automobile Insurance Company System and method for automatically monitoring and diagnosing user experience problems
US11675646B2 (en) 2020-06-25 2023-06-13 Amazon Technologies, Inc. Systems, apparatuses, and methods for anomaly detection
CN111782432B (zh) * 2020-06-29 2024-03-22 中国工商银行股份有限公司 用于容器异常分析的数据的采集方法及装置
US11314575B2 (en) * 2020-08-03 2022-04-26 International Business Machines Corporation Computing system event error corrective action recommendation
WO2022040588A1 (en) * 2020-08-20 2022-02-24 Simetric, Inc. Device management systems and methods
JP2022045680A (ja) 2020-09-09 2022-03-22 富士通株式会社 障害原因特定プログラムおよび障害原因特定方法
KR102259760B1 (ko) * 2020-11-09 2021-06-02 여동균 화이트 리스트 기반 비정상 프로세스 분석 서비스 제공 시스템
US11385631B2 (en) * 2020-11-11 2022-07-12 Honda Research Institute Europe Gmbh Method and system for detecting faults in a charging infrastructure system for electric vehicles
US11593669B1 (en) * 2020-11-27 2023-02-28 Amazon Technologies, Inc. Systems, methods, and apparatuses for detecting and creating operation incidents
US11514173B2 (en) 2020-12-02 2022-11-29 International Business Machines Corporation Predicting software security exploits by monitoring software events
US11474892B2 (en) 2020-12-03 2022-10-18 International Business Machines Corporation Graph-based log sequence anomaly detection and problem diagnosis
US11513930B2 (en) 2020-12-03 2022-11-29 International Business Machines Corporation Log-based status modeling and problem diagnosis for distributed applications
US11243835B1 (en) 2020-12-03 2022-02-08 International Business Machines Corporation Message-based problem diagnosis and root cause analysis
US11599404B2 (en) 2020-12-03 2023-03-07 International Business Machines Corporation Correlation-based multi-source problem diagnosis
US11797538B2 (en) 2020-12-03 2023-10-24 International Business Machines Corporation Message correlation extraction for mainframe operation
US11403326B2 (en) 2020-12-03 2022-08-02 International Business Machines Corporation Message-based event grouping for a computing operation
CN112782977B (zh) * 2020-12-23 2022-10-04 中国科学院宁波材料技术与工程研究所慈溪生物医学工程研究所 一种基于bp神经网络与扩张观测器的电机柔顺控制方法
US11792211B2 (en) 2021-01-07 2023-10-17 Bank Of America Corporation System for detecting and remediating computing system breaches using computing network traffic monitoring
US11748210B2 (en) * 2021-01-22 2023-09-05 EMC IP Holding Company LLC Intelligent monitoring of backup, recovery and anomalous user activity in data storage systems
US11710088B1 (en) 2021-02-16 2023-07-25 Target Brands, Inc. Scalable order management monitoring
CN112702365B (zh) * 2021-03-24 2021-07-06 北京安信天行科技有限公司 基于虚拟云的数据安全态势监测方法、系统及设备
US11936513B2 (en) 2021-03-30 2024-03-19 Acronis International Gmbh System and method for anomaly detection in a computer network
US11409505B1 (en) 2021-04-16 2022-08-09 27 Software U.S. Inc. Automated authoring of software solutions from a data model with related patterns
US11314489B1 (en) * 2021-04-16 2022-04-26 27 Software U.S. Inc. Automated authoring of software solutions by first analyzing and resolving anomalies in a data model
US11693652B2 (en) 2021-04-16 2023-07-04 27 Software U.S. Inc. Automated authoring of software solutions from a data model
US11210155B1 (en) * 2021-06-09 2021-12-28 International Business Machines Corporation Performance data analysis to reduce false alerts in a hybrid cloud environment
US11575586B2 (en) * 2021-06-23 2023-02-07 Microsoft Technology Licensing, Llc End-to-end service level metric approximation
US11860759B2 (en) 2021-07-12 2024-01-02 Capital One Services, Llc Using machine learning for automatically generating a recommendation for a configuration of production infrastructure, and applications thereof
US11727011B2 (en) 2021-08-24 2023-08-15 Target Brands, Inc. Data analysis tool with precalculated metrics
US11847448B2 (en) * 2021-09-08 2023-12-19 Red Hat, Inc. Automatic generation of exporter configuration rules
WO2023058137A1 (ja) * 2021-10-05 2023-04-13 楽天モバイル株式会社 アクション実行システム及びその制御方法
US11836040B2 (en) * 2021-10-29 2023-12-05 Fidelity Information Services, Llc Software application development tool for automation of maturity advancement
US11782780B2 (en) 2021-12-17 2023-10-10 Bank Of America Corporation Automatic remediation of failures within a computational environment using independent execution units
US11892903B2 (en) 2021-12-17 2024-02-06 Bank Of America Corporation System and method for continuous failure prediction and remediation within a computational environment using independent execution units
US20230195597A1 (en) * 2021-12-20 2023-06-22 Intel Corporation Matchmaking-based enhanced debugging for microservices architectures
US11874730B2 (en) 2022-02-26 2024-01-16 International Business Machines Corporation Identifying log anomaly resolution from anomalous system logs
US20230280996A1 (en) * 2022-03-04 2023-09-07 Verizon Patent And Licensing Inc. Application hosting, monitoring, and management within a container hosting environment
WO2024057063A1 (en) * 2022-09-14 2024-03-21 Telefonaktiebolaget Lm Ericsson (Publ) Operational anomaly detection and isolation in multi-domain communication networks
CN116467113B (zh) * 2023-06-20 2023-12-05 深圳富联富桂精密工业有限公司 异常处理方法、装置、电子设备及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1482404A2 (en) * 2003-04-11 2004-12-01 Sun Microsystems, Inc. Systems, methods, and articles of manufacture for aligning service containers
CN103797468A (zh) * 2011-09-21 2014-05-14 惠普发展公司,有限责任合伙企业 系统异常的自动化检测
CN104410535A (zh) * 2014-12-23 2015-03-11 浪潮电子信息产业股份有限公司 一种云资源智能监控告警方法
US20150081880A1 (en) * 2013-09-17 2015-03-19 Stackdriver, Inc. System and method of monitoring and measuring performance relative to expected performance characteristics for applications and software architecture hosted by an iaas provider
CN104520806A (zh) * 2012-08-01 2015-04-15 英派尔科技开发有限公司 用于云监控的异常检测

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000322274A (ja) * 1999-05-11 2000-11-24 Nec Corp オペレーティングシステムの階層的リカバリ装置
US6823382B2 (en) * 2001-08-20 2004-11-23 Altaworks Corporation Monitoring and control engine for multi-tiered service-level management of distributed web-application servers
JP3826940B2 (ja) * 2004-06-02 2006-09-27 日本電気株式会社 障害復旧装置および障害復旧方法、マネージャ装置並びにプログラム
WO2010103562A1 (ja) * 2009-03-09 2010-09-16 富士通株式会社 情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラム
US8060792B2 (en) * 2009-03-31 2011-11-15 Amazon Technologies, Inc. Monitoring and automated recovery of data instances
US20110098973A1 (en) 2009-10-23 2011-04-28 Computer Associates Think, Inc. Automatic Baselining Of Metrics For Application Performance Management
US8676710B2 (en) * 2010-11-22 2014-03-18 Netapp, Inc. Providing security in a cloud storage environment
JP6061936B2 (ja) * 2011-09-20 2017-01-18 イーサワークス エルエルシーAetherworks, Llc ロケーションニュートラルソフトウェアの需要増大に伴う展開に対するシステム及び方法
US9300548B2 (en) * 2011-10-14 2016-03-29 Alcatel Lucent Providing dynamic reliability and security in communications environments
US9542400B2 (en) * 2012-09-07 2017-01-10 Oracle International Corporation Service archive support
US10289973B2 (en) * 2015-04-10 2019-05-14 Telefonaktiebolaget Lm Ericsson (Publ) System and method for analytics-driven SLA management and insight generation in clouds
US10042697B2 (en) 2015-05-28 2018-08-07 Oracle International Corporation Automatic anomaly detection and resolution system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1482404A2 (en) * 2003-04-11 2004-12-01 Sun Microsystems, Inc. Systems, methods, and articles of manufacture for aligning service containers
CN103797468A (zh) * 2011-09-21 2014-05-14 惠普发展公司,有限责任合伙企业 系统异常的自动化检测
CN104520806A (zh) * 2012-08-01 2015-04-15 英派尔科技开发有限公司 用于云监控的异常检测
US20150081880A1 (en) * 2013-09-17 2015-03-19 Stackdriver, Inc. System and method of monitoring and measuring performance relative to expected performance characteristics for applications and software architecture hosted by an iaas provider
CN104410535A (zh) * 2014-12-23 2015-03-11 浪潮电子信息产业股份有限公司 一种云资源智能监控告警方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10853161B2 (en) 2015-05-28 2020-12-01 Oracle International Corporation Automatic anomaly detection and resolution system
CN111971942A (zh) * 2018-04-05 2020-11-20 微软技术许可有限责任公司 季节性数据的异常检测和处理
CN111971942B (zh) * 2018-04-05 2022-10-28 微软技术许可有限责任公司 季节性数据的异常检测和处理
CN108710673A (zh) * 2018-05-17 2018-10-26 招银云创(深圳)信息技术有限公司 实现数据库高可用方法、系统、计算机设备和存储介质
CN108710673B (zh) * 2018-05-17 2021-07-09 招银云创信息技术有限公司 实现数据库高可用方法、系统、计算机设备和存储介质
CN109614553A (zh) * 2018-12-21 2019-04-12 北京博明信德科技有限公司 用于日志收集的PaaS平台
WO2020167539A1 (en) * 2019-02-05 2020-08-20 Qomplx, Inc. System and method for complex it process annotation, tracing, analysis, and simulation
CN113994641A (zh) * 2019-06-25 2022-01-28 马维尔亚洲私人有限公司 具有异常检测的汽车网络交换机
CN110825873A (zh) * 2019-10-11 2020-02-21 支付宝(杭州)信息技术有限公司 用于对日志异常分类规则进行扩充的方法及装置
CN110874291A (zh) * 2019-10-31 2020-03-10 合肥中科类脑智能技术有限公司 一种异常容器实时检测方法
WO2021146899A1 (zh) * 2020-01-21 2021-07-29 深圳元戎启行科技有限公司 数据存储方法和装置、计算机设备、计算机可读存储介质
CN112925674B (zh) * 2021-02-18 2022-07-26 云南大唐国际那兰水电开发有限公司 一种电力监控大数据备份方法和系统
CN112925674A (zh) * 2021-02-18 2021-06-08 北京九贺科技有限公司 一种电力监控大数据备份方法和系统
CN113064873A (zh) * 2021-04-15 2021-07-02 上海浦东发展银行股份有限公司 一种高召回率的日志异常检测方法
CN116226788A (zh) * 2023-05-06 2023-06-06 鹏城实验室 一种融合多种数据类型的建模方法及相关设备
CN116226788B (zh) * 2023-05-06 2023-07-25 鹏城实验室 一种融合多种数据类型的建模方法及相关设备

Also Published As

Publication number Publication date
EP3304315B1 (en) 2019-04-24
CN110134542B (zh) 2023-05-30
JP2018518762A (ja) 2018-07-12
US10042697B2 (en) 2018-08-07
EP3304315A1 (en) 2018-04-11
US20160350173A1 (en) 2016-12-01
CN110134542A (zh) 2019-08-16
US10853161B2 (en) 2020-12-01
WO2016191639A1 (en) 2016-12-01
US20190042353A1 (en) 2019-02-07
CN107690623B (zh) 2019-06-07
JP6731424B2 (ja) 2020-07-29

Similar Documents

Publication Publication Date Title
CN107690623B (zh) 自动异常检测和解决系统
US11740943B2 (en) Techniques for managing long-running tasks with a declarative provisioner
CN106664321A (zh) 基于放置策略的计算资源分配
CN109478266A (zh) 对于数据库供应的资源分配
CN106576114A (zh) 基于策略的资源管理和分配系统
US11755337B2 (en) Techniques for managing dependencies of an orchestration service
JP2023511114A (ja) デプロイ命令のために有向非巡回グラフを利用するための技術
JP2023544463A (ja) Rpaデータを表わすための企業プロセスグラフ
EP4094149A1 (en) Updating code in distributed version control system
JP2023537725A (ja) 分析ワークスペースの実体化
CN114730258A (zh) 用于基础设施编排服务的用户界面技术
US20240111832A1 (en) Solver execution service management
US20240112067A1 (en) Managed solver execution using different solver types
WO2024073536A1 (en) Multi-tenant solver execution service

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