CN110362565A - 在事件聚类中使用和更新一组节点之间的拓扑关系 - Google Patents
在事件聚类中使用和更新一组节点之间的拓扑关系 Download PDFInfo
- Publication number
- CN110362565A CN110362565A CN201910058162.3A CN201910058162A CN110362565A CN 110362565 A CN110362565 A CN 110362565A CN 201910058162 A CN201910058162 A CN 201910058162A CN 110362565 A CN110362565 A CN 110362565A
- Authority
- CN
- China
- Prior art keywords
- event
- node
- group
- topological relation
- dependent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000001419 dependent effect Effects 0.000 claims abstract description 33
- 238000000034 method Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 8
- 230000001052 transient effect Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 23
- 230000015654 memory Effects 0.000 description 18
- 238000005259 measurement Methods 0.000 description 15
- 238000004458 analytical method Methods 0.000 description 12
- 238000012544 monitoring process Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 239000003795 chemical substances by application Substances 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 238000013500 data storage Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 241000854350 Enicospilus group Species 0.000 description 2
- 230000018199 S phase Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000005389 magnetism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/544—Remote
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Multimedia (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Bioinformatics & Computational Biology (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
公开了在事件聚类中使用和更新一组节点之间的拓扑关系。当前事件在当前节点上发生。相关事件的第一群组包括在第一节点上发生的与当前事件时间上相关的第一事件。第一群组不包括基于现有的一组拓扑关系与当前事件拓扑上相关的任何事件。确定(a)在当前节点上的事件的发生和(b)在第一节点上的事件的发生之间的相互依赖水平。基于相互依赖水平,将当前事件添加到第一群组。此外,将第一节点和第二节点之间的基于事件的拓扑关系添加到该组拓扑关系。随后,可以基于第一节点和第二节点之间的基于事件的拓扑关系来确定新事件的群组。
Description
技术领域
本公开涉及将与计算***的节点相关联的事件进行聚类。特别地,本公开涉及在事件聚类中使用和更新一组节点之间的拓扑关系。
背景技术
计算***包括各种节点。“节点”是指任何硬件和/或软件组件,诸如物理机器、虚拟机、操作***、固件程序、中间件程序、应用、web服务和/或软件服务。
每个节点都与各种度量相关联。“度量”是指对节点性能或效率的特定特性的测量。度量的示例包括可用性、响应时间、容量、负载、时延、完成时间、服务时间、带宽、吞吐量、相对效率、可扩展性、每瓦性能、压缩比、指令路径长度和加速、处理时间(或中央处理单元(CPU)时间)、空闲时间、输入/输出(I/O)时间、可靠性、故障之间的时间、修复时间、安全威胁的频率和/或安全威胁的严重性。
当与节点相关联的度量满足某个标准时,事件在该节点上发生。该事件的通知被生成,以便工程师和/或外部应用可以分析、解决和/或处理事件。
在复杂的计算***中,事件的频率可能非常高。单独处理每个事件将是非常繁重的。此外,多个事件可能源于相同原因。在不考虑相关事件的情况下处理每个事件是低效的。
本节中描述的方法是可以追求的方法,但不一定是先前已经构思或追求过的方法。因此,除非另有说明,否则不应认为本节中描述的任何方法仅仅因为它们包含在本节中就有资格作为现有技术。
附图说明
通过示例而非限制的方式在附图的图中示出了实施例。应当注意的是,在本公开中对“一”或“一个”实施例的引用不一定是指相同实施例,并且它们意味着至少一个实施例。在附图中:
图1A图示了根据一个或多个实施例的聚类反馈***;
图1B图示了根据一个或多个实施例的指示目标计算***的一组节点之间的拓扑关系的示例关系图;
图2A-图2B图示了根据一个或多个实施例的用于在事件聚类中使用和更新一组节点之间的拓扑关系的一组示例操作;
图3A-图3B图示了根据一个或多个实施例的用于在事件聚类中使用和更新一组节点之间的拓扑关系的示例反馈环;以及
图4示出了图示根据一个或多个实施例的计算机***的框图。
具体实施方式
在以下描述中,出于解释的目的,阐述了许多具体细节以提供透彻理解。在没有这些具体细节的情况下可以实践一个或多个实施例。在一个实施例中描述的特征可以与在不同实施例中描述的特征组合。在一些示例中,参考框图形式描述了众所周知的结构和设备,以避免不必要地模糊本发明。
1.总体概述
2.聚类反馈***体系架构
3.在事件聚类中使用和更新一组节点之间的拓扑关系
4.示例实施例
5.硬件概述
6.其它方面;扩展
1.总体概述
一个或多个实施例包括在事件聚类中使用和更新一组节点之间的拓扑关系。识别在计算***中的一组节点之间的现有的一组拓扑关系。特定节点之间的拓扑关系指示特定节点以特定节点在计算***中一起操作的方式彼此相关。现有的一组拓扑关系用于识别相关事件的第一群组。
第二事件在第二节点上发生。第二事件与相关事件的第一群组内的在第一节点上发生的第一事件时间上相关。但是,基于现有的一组拓扑关系,第二事件不与相关事件的第一群组内的任何事件拓扑上相关。
确定(a)在第一节点上的事件的发生和(b)在第二节点上的事件的发生之间的相互依赖水平。基于相互依赖水平,第二事件被添加到第一群组。此外,确定第一节点和第二节点之间的基于事件的拓扑关系。更新该组节点之间的该组拓扑关系以包括第一节点和第二节点之间的基于事件的拓扑关系。
随后,在第一节点上发生第三事件,而在第二节点上发生第***。基于第一节点和第二节点之间基于事件的拓扑关系,第三事件和第***被聚类到相同群组中。
鉴于单独处理事件可能导致低效和冗余,对相关事件进行聚类允许相关事件作为一个组被分析、解决和/或处理。因此,对事件进行聚类改进了事件的处理。
但是,基于一组静态拓扑关系的对事件进行聚类可能导致不精确的聚类。具体而言,一组静态拓扑关系可能漏掉第一节点和第二节点之间的特定拓扑关系。在第一节点上发生的、实际上与在第二节点上发生的第二事件相关的第一事件可能被错误地分类为不相关。第一事件将在第一群组中,而第二事件将在单独的第二群组中。第一群组和第二群组将被单独分析,然而一起分析两个群组将更高效。基于本文描述的技术,事件信息用于更新一组节点之间的一组拓扑关系。具体而言,基于事件共现(co-occurance)和相互依赖,第一节点和第二节点之间的基于事件的拓扑关系被添加到该组拓扑关系。此后,基于第一节点和第二节点之间的新添加的基于事件的拓扑关系,可以确定在第一节点和第二节点上发生的事件在相同群组中并因此被一起分析。
在本说明书中描述和/或在权利要求中叙述的一个或多个实施例可能没有被包括在该总体概述一节中。
2.聚类反馈***体系架构
图1图示了根据一个或多个实施例的聚类反馈***。如图1中所示,***100包括目标计算***102,其包括节点104a-c和监视代理106a-b。***100还包括聚类管理器110、数据储存库116和接口124。在一个或多个实施例中,***100可以包括比图1中所示的组件更多或更少的组件。图1中所示的组件可以是彼此本地的或彼此远离。图1中所示的组件可以用软件和/或硬件实现。每个组件可以分布在多个应用和/或机器上。多个组件可以被组合到一个应用和/或机器中。相对于一个组件描述的操作可以替代地由另一个组件执行。
在一个或多个实施例中,目标计算***102是正在被分析的计算***。在目标计算***102中的节点104a-c上发生的事件被分析,以确定可能正在目标计算***102内发生的任何问题。
在一个或多个实施例中,节点(诸如节点104a-c中的任何节点)是指目标计算***102内的任何硬件和/或软件组件。节点的示例包括物理机器、虚拟机、操作***、固件程序、中间件程序、应用、web服务和/或软件服务。
在一个或多个实施例中,监视代理(诸如监视代理106a-b中的任何一个)是指被配置为监视与一个或多个节点104a-c相关联的度量和/或事件的软件和/或硬件。监视代理生成与和节点104a-c相关联的度量和/或事件相关的通知。如图所示,监视代理106a监视节点104a的度量和/或事件。监视代理106b监视节点104b和节点104c的度量和/或事件。监视代理可以是与被监视的节点分离的组件。替代地,监视代理可以是被监视的节点内的组件。
节点的度量是指对节点的性能或效率的特定特性的测量。度量的示例包括可用性、响应时间、容量、负载、时延、完成时间、服务时间、带宽、吞吐量、相对效率、可扩展性、每瓦性能、压缩比、指令路径长度和加速、处理时间(或中央处理单元(CPU)时间)、空闲时间、输入/输出(I/O)时间、可靠性、故障之间的时间、修复时间、安全威胁的频率和/或安全威胁的严重性。
当与节点相关联的度量满足某个标准时,在该节点上发生事件(诸如事件108a-b)。作为示例,当节点的可用性降至低于阈值时可能发生事件。作为另一个示例,当节点的响应时间超过阈值时可能发生事件。作为另一个示例,当检测到特定类型的安全威胁时可能发生事件。如图所示,监视代理106a确定事件108a已经发生。监视代理106b确定事件108b已经发生。
在一个或多个实施例中,数据储存库116是用于存储数据的任何类型的存储单元和/或设备(例如,文件***、数据库、表的集合或任何其它存储机制)。此外,数据储存库116可以包括多个不同的存储单元和/或设备。多个不同的存储单元和/或设备可以是或可以不是相同类型或位于相同的物理站点。此外,数据储存库116可以在与聚类管理器110相同的计算***上实现或执行。替代地或附加地,数据储存库116可以在与聚类管理器110分离的计算***上实现或执行。数据储存库116可以经由直接连接或经由网络通信地被耦合到聚类管理器110。
描述关系储存库118的信息可以跨***100内的任何组件实现。但是,出于清楚和解释的目的,该信息被图示在数据储存库116内。
在一个或多个实施例中,关系储存库118是指指示目标计算***102中的一组节点104a-c之间的拓扑关系的信息。特定节点之间的拓扑关系指示特定节点以特定节点在计算***中一起操作的方式彼此相关。可以包括各种类型的拓扑关系。关系储存库118指示节点104a-c的整体体系架构和/或布置。
在实施例中,结构拓扑关系120是基于分析目标计算环境102的代码、文件和/或操作而确定的拓扑关系。
由目标计算环境102的一个或多个节点执行的一组代码可以指示各种类型的结构拓扑关系120。例如,一组代码可以指示哪个节点被配置为调用另一个节点的操作、哪个节点被配置为向另一个节点提供输入、哪个节点被配置为接收另一个节点的输出、哪个节点被配置为从另一个节点导入代码和/或数据、和/或哪个节点被配置为与另一个节点通信。
目标计算环境102的文件可以包括例如配置文件、部署文件和/或与目标计算环境102相关联的其它写入信息。目标计算环境102的文件可以指示哪个节点依赖于另一个节点和/或与另一个节点相关。目标计算环境102的文件可以包括指示节点之间的拓扑关系的用户输入。用户输入可以指示特定节点依赖于另一个节点和/或与另一个节点相关。
可以通过监视目标计算环境102来确定目标计算环境102的操作。可以监视与目标计算环境102相关联的网络流量。附加地或替代地,可以监视由目标计算环境102执行的功能、方法和/或步骤。目标计算环境102的操作可以指示哪个节点调用另一个节点的操作、哪个节点向另一个节点提供输入、哪个节点接收另一个节点的输出、哪个节点从另一个节点导入代码和/或数据、和/或哪个节点与另一个节点通信。
结构拓扑关系120的示例包括但不限于特定节点使用另一个节点、特定节点由另一个节点使用、特定节点在另一个节点上存储和/或被执行、特定节点与另一个节点通信。结构拓扑关系120可以是单向的(单向依赖)或双向的(双向依赖)。结构拓扑关系120可以是与存储相关的、与输入/输出(I/O)相关的、与中央处理单元(CPU)相关的、与存储相关的和/或与应用相关的。
作为示例,第一节点可以执行第一组代码。第一组代码可以包括依赖于第二节点的操作的操作。基于第一组代码,可以确定第一节点和第二节点之间存在结构拓扑关系。同时,第二节点可以执行第二组代码。第二组代码可以包括依赖于第一节点的操作的操作。基于第一组代码和第二组代码,可以确定第一节点和第二节点之间存在双向结构拓扑关系。
作为另一个示例,第一节点可以与特定配置文件相关联。特定配置文件可以指示第一节点导入在第二节点上执行的代码。基于该特定配置文件,可以确定第一节点和第二节点之间存在结构拓扑关系。
作为另一个示例,可以基于部署文件来部署计算***。部署文件可以指示第一节点的实例化需要第二节点的实例化。基于该部署文件,可以确定第一节点和第二节点之间存在结构拓扑关系。
作为另一个示例,特定应用可以在特定虚拟机上执行,该特定虚拟机在特定服务器上执行。基于软件栈,可以确定在特定应用、特定虚拟机和特定服务器之间存在结构拓扑关系。特别地,在特定应用和特定虚拟机之间存在一跳。在特定虚拟机和特定服务器之间存在一跳。在特定应用和特定服务器之间存在两跳。
作为另一个示例,可以拦截与应用相关联的网络流量。被监视的流量可以指示应用向数据库服务器传送了特定数据包。特定数据包可以包括要写入到数据库服务器的数据。基于该网络流量,可以确定在应用和数据库服务器之间存在结构拓扑关系。此外,由于从应用传送到数据库服务器的数据包包括要写入到数据库服务器的数据,因此结构拓扑关系是存储相关的。
在实施例中,基于事件的拓扑关系122是基于事件信息确定的拓扑关系。下面参考图2A-图2B描述用于确定基于事件的拓扑关系122的操作。
关系储存库118可以存储以各种形式的关系信息,诸如关系图和/或关系表。图1B图示了根据一个或多个实施例的指示目标计算***的一组节点之间的拓扑关系的示例关系图。如图所示,关系图119包括节点104a-f。在节点104a和节点104c之间存在结构拓扑关系120a。在节点104b和节点104c之间存在结构拓扑关系120b。在节点104d和节点104e之间存在结构拓扑关系120c。在节点104e和节点104f之间存在结构拓扑关系120d。在节点104b和节点104d之间存在基于事件的拓扑关系122a。在节点104a和节点104e之间存在基于事件的拓扑关系122b。
第一节点和第二节点之间的“跳”表示如由关系储存库118所指示的第一节点和第二节点之间的距离。使用关系图119作为示例,节点104b和节点104d之间存在直接拓扑关系(基于事件的拓扑关系122a)。因此,节点104b和节点104d被称为彼此相距“一跳”。同时,节点104b和节点104e之间没有直接的拓扑关系。但是,在节点104b和节点104d之间存在直接的拓扑关系(基于事件的拓扑关系122a)。并且在节点104d和节点104e之间存在直接的拓扑关系(结构拓扑关系120c)。因此,节点104b和节点104e被称为彼此相距“两跳”。类似地,节点104b和节点104e被称为彼此相距“三跳”。
返回参考图1A,在一个或多个实施例中,聚类管理器110是指被配置为执行本文描述的、用于在事件聚类中使用和更新一组节点之间的拓扑关系的操作的硬件和/或软件。下面参考图2A-图2B描述在事件聚类中使用和更新一组节点之间的拓扑关系的操作的示例。
聚类管理器110可以包括匹配逻辑112和相互依赖逻辑114。匹配逻辑112可以被配置为基于关系储存库118中的现有的一组拓扑关系来对事件进行聚类。相互依赖逻辑114可以被配置为基于事件信息更新关系储存库118中的一组拓扑关系。匹配逻辑112和相互依赖逻辑114可以在彼此分开的模块或组件中实现。替代地,匹配逻辑112和相互依赖逻辑114可以在相同模块或组件内实现。
在实施例中,聚类管理器110在一个或多个数字设备上实现。术语“数字设备”通常是指包括处理器的任何硬件设备。数字设备可以指执行应用的物理设备或虚拟机。数字设备的示例包括计算机、平板电脑、膝上型电脑、台式机、上网本、服务器、web服务器、网络策略服务器、代理服务器、通用机器、特定功能的硬件设备、大型机、电视、内容接收器、机顶盒、打印机、移动手机、智能电话、个人数字助理(PDA)。
在一个或多个实施例中,接口124是指被配置为促进去往和/或来自聚类管理器110的通信的硬件和/或软件。在实施例中,接口124可以包括用户接口、应用接口或两者。
在实施例中,接口124是被配置为促进聚类管理器110和用户之间的通信的用户接口。用户接口以用户接口元素的形式输出信息,和/或经由用户接口元素接收信息的输入。用户接口的示例包括图形用户接口(GUI)、命令行接口(CLI)、触觉接口和语音命令接口。用户接口元素的示例包括文本、图形、复选框、单选按钮、下拉列表、列表框、按钮、切换键、文本字段、日期和时间选择器、命令行、滑块、页面和表单。
在实施例中,接口124是被配置为促进聚类管理器110与一个或多个应用之间的通信的应用接口。应用接口(诸如应用编程接口(API))可以促进基于一个或多个通信协议的通信,通信协议诸如超文本传输协议(HTTP)。通信协议可以符合表述性状态转移(REST)架构风格。
描述群组126的信息可以跨***100内的任何组件实现。但是,出于清楚和解释的目的,该信息被图示在接口124内。
在一个或多个实施例中,群组126是一组一个或多个相关事件。该组事件可以以各种方式相关。
在实施例中,群组126是一组相关的事件,使得该组事件应该被一起处理。经由接口124接收群组126的用户和/或应用将包括在群组中的一组事件作为一个组来处理。用户和/或应用将该组事件作为一个组来更高效地处理,而不是单独地处理该组事件。
在实施例中,群组126包括相关的第一事件和第二事件,使得解决第一事件必然导致解决第二事件。如果将第一事件和第二事件视为一个组,那么它们会被更高效地处理。当第一事件被标记为已解决时,第二事件可以被自动地标记为也已解决。作为示例,计算***可以包括数据库节点和应用节点。应用节点可以从数据库节点访问信息,从而依赖于数据库节点。由于数据库节点上的错误,应用节点可能无法从数据库节点访问信息。因此,可以在数据库节点和应用节点中的每个上检测事件。可以解决数据库节点上的事件。然后,应用节点可以能够再次从数据库节点访问信息。因此,在该示例中,解决数据库节点上的事件必然解决应用节点上的事件。数据库节点上的事件和应用节点上的事件可以被分组在相同群组中。
在实施例中,群组126包括两个相关的事件,使得在分析目标计算***102的性能和/或错误时仅需要分析两个事件中的一个事件。当事件被分组在群组126中时,因为事件中只有一个被选择用于分析,事件被更高效地处理。剩余事件无需被分析。作为示例,计算***可以包括数据库节点和应用节点。应用节点可以从数据库节点访问信息,从而依赖于数据库节点。由于数据库节点上的错误,应用节点可能无法从数据库节点访问信息。因此,可以在数据库节点和应用节点中的每个上检测事件。但是,解决数据库节点上的事件必然解决应用节点上的事件。因此,用户只需要分析数据库节点上的事件。用户无需另外分析应用节点上的事件。数据库节点上的事件和应用节点上的事件可以被分组在相同群组中。
在实施例中,群组126是通过时间上相关性和/或拓扑相关性相关的一组事件。如果两个事件发生在彼此内的阈值持续时间内,那么这两个事件通过时间上相关性相关。时间上相关的两个事件也可以被称为具有“事件共现”。此外,如果与两个事件相关联的节点在彼此的阈值跳数内,那么这两个事件通过拓扑相关性相关。两个节点之间的跳数基于关系储存库118来确定。在实施例中,如果特定事件与已经在群组126中的至少一个事件时间上相关并且该特定事件与已经在该群组126中的至少一个事件拓扑上相关,那么该群组126可以包括该特定事件。作为示例,群组可以包括在第一节点上发生的第一事件和在第二节点上发生的第二事件。第三事件可以在第三节点上发生。第三事件可以与第一事件时间上相关。另外,第三事件可以与第二事件拓扑上相关。因此,可以将第三事件添加到该群组。
3.在事件聚类中使用和更新一组节点之间的拓扑关系
图2A-图2B图示了根据一个或多个实施例的用于在事件聚类中使用和更新一组节点之间的拓扑关系的一组示例操作。图2A-图2B中所示的一个或多个操作可以被修改、重新布置或一起省略。因此,图2A-图2B中所示的操作的特定序列不应被解释为限制一个或多个实施例的范围。
一个或多个实施例包括获得与当前事件相关联的信息(操作202)。与目标计算***中的一组节点相关联的度量被监视。与特定节点相关联的特定度量满足某个标准。确定当前事件已发生。生成当前事件的通知。该通知包括与当前事件相关联的信息,诸如当前事件发生的节点、当前事件发生的时间以及当前事件的事件类型。
一个或多个实施例包括确定与当前事件相关联的当前节点(操作204)。基于与在操作202处获得的当前事件相关联的信息,确定该事件发生的当前节点。
一个或多个实施例包括确定是否存在具有与当前事件时间上相关的至少一个事件的任何群组(本文称为“时间上相关群组”)(操作206)。识别现有的一组群组。分析每个现有的群组以确定该群组是否包括与当前事件时间上相关的至少一个事件。如上所述,如果两个事件在彼此的阈值持续时间内发生,那么这两个事件是时间上相关的。阈值持续时间可以由用户和/或应用指定。
在实施例中,对于给定群组,识别最近的事件。确定群组中最近的事件发生的时间。确定当前事件发生的时间。将群组中最近的事件的发生与当前事件的发生之间的时间差与阈值持续时间进行比较。如果时间差小于阈值持续时间,则这两个事件是时间上相关的。因此,该群组被识别为时间上相关群组。如果时间差大于阈值持续时间,则该群组对于当前事件不是时间上相关群组。
在实施例中,对于给定的群组,分析一个或多个事件,直到识别出与当前事件时间上相关的事件。如果存在与当前事件时间上相关的至少一个事件,则该群组被识别为时间上相关群组。如果没有与当前事件时间上相关的事件,则该群组对于当前事件不是时间上相关群组。
如果不存在时间上相关群组,则一个或多个实施例包括生成包括当前事件的新群组(操作208)。生成新群组以包括当前事件。新群组此时仅包括单个事件—当前事件。随后,基于图2A-图2B的操作相对于新事件的迭代,还可以向新群组添加零个、一个或多个事件。可以经由接口呈现和/或传送关于新群组的信息。关于新群组的信息可以指示新群组包括当前事件。从接口获得关于新群组的信息的用户和/或应用可以处理新群组。用户和/或应用可以将新群组中的事件作为一个组来分析和/或解决。分析和/或解决事件改善了目标计算***的性能和/或解决了目标计算***的错误。基于群组的事件之间的相关性,将事件作为一个组处理可以比单独处理事件更高效。
一个或多个实施例包括确定任何时间上相关群组是否具有与当前事件拓扑上相关的至少一个事件(操作210)。分析在操作206处识别出的每个时间上相关群组以确定该群组是否包括与当前事件拓扑上相关的至少一个事件。如上所述,如果根据关系储存库与两个事件相关联的各个节点在彼此内的阈值跳数内,那么这两个事件是拓扑上相关的。可以由用户和/或应用指定阈值跳数。既包括(a)与当前事件时间上相关的事件又包括(b)与当前事件拓扑上相关的事件的群组被称为“匹配群组”。
在实施例中,对于给定的时间上相关群组,分析一个或多个事件,直到识别出与当前事件拓扑上相关的事件。分析与一个或多个事件相关联的各个节点以确定该节点是否在距当前节点的阈值跳数内。如果存在与当前事件拓扑上相关的事件,则该群组被识别为匹配群组。如果没有与当前事件拓扑上相关的事件,则该群组不是当前事件的匹配群组。
参考图1B的关系图119作为示例,当前事件可以在节点104b上发生。当前事件的第一时间上相关群组可以包括在节点104d上发生的第一事件。当前事件的第二时间上相关群组可以包括在节点104e上发生的第二事件。用于确定拓扑相关性的阈值跳数可以为1。
可以分析第二时间上相关群组。可以分析第二时间上相关群组内的第二事件以确定第二事件与节点104e相关联。基于关系图119,在节点104e和节点104b之间存在两跳(即基于事件的关系122a和结构关系120c)。节点104e和节点104b之间的跳数大于阈值1。第二时间上相关群组的所有其它事件也可以被分析并被确定与当前事件不是拓扑上相关。因此,第二时间上相关群组不是当前事件的匹配群组。
可以分析第一时间上相关群组。可以分析第一时间上相关群组内的第一事件以确定第一事件与节点104d相关联。基于关系图119,在节点104d和节点104b之间存在一跳(即基于事件的关系122a)。节点104d和节点104b之间的跳数在阈值1内。因此,第一时间上相关群组被确定为当前事件的匹配群组。
如果存在一个匹配群组,那么一个或多个实施例包括将当前事件添加到匹配群组(操作212)。将当前事件添加到匹配群组。指示匹配群组的事件(包括当前事件)的信息可以经由接口呈现和/或传送。从接口获得关于匹配群组的信息的用户和/或应用可以处理匹配群组。用户和/或应用可以将匹配群组中的事件作为一个组来分析和/或解决。
如果存在多个匹配群组,那么一个或多个实施例包括合并匹配群组并将当前事件添加到合并后的群组(操作214)。将匹配群组合并成合并后的群组。合并后的群组包括每个匹配群组的所有事件以及当前事件。指示合并后的群组的事件(包括当前事件)的信息可以经由接口呈现和/或传送。从接口获得关于合并后的群组的信息的用户和/或应用可以处理合并后的群组。用户和/或应用可以将合并后的群组中的事件作为一个组来分析和/或解决。
如果不存在匹配群组,那么一个或多个实施例包括识别与每个时间上相关群组相关联的节点(本文称为“时间上相关节点”)(操作216)。分析在操作206处识别出的每个时间上相关群组。对于给定的时间上相关群组,分析每个事件以识别发生事件的节点。每个识别出的节点(除了当前节点和已经与当前节点拓扑上相关的节点)被称为当前事件的“时间上相关节点”。因此,可以将当前事件的一组时间上相关节点与一个或多个时间上相关群组相关联。
一个或多个实施例包括,对于每个时间上相关节点,确定在当前节点上的事件的发生与在时间上相关节点上的事件的发生之间的相互依赖水平(操作218)。分析在操作216处识别出的每个时间上相关节点。对于每个时间上相关节点,确定在当前节点上的事件的发生与在时间上相关节点上的事件的发生之间的相互依赖水平。可以基于各种统计模型、概率模型和/或信息论模型来确定相互依赖水平。用于确定相互依赖水平的模型的示例包括互信息和/或相关系数。
在实施例中,使用互信息(MI)确定相互依赖水平。互信息是两个变量之间相互依赖的度量。互信息量化通过另一个变量获得的关于一个变量的“信息量”。
在实施例中,在当前节点上的事件的发生与在时间上相关节点上的事件的发生之间的互信息基于:
a)具有当前节点上的事件的群组的概率P(当前节点);以及
b)具有当前节点上的事件以及在时间上相关节点上、与距当前节点上的事件在阈值持续时间内的事件的群组的概率P(当前节点|时间上相关节点)。
互信息被确定为:
作为示例,现有的一组群组可以包括:
(a)群组A:节点1上的事件1,节点2上的事件2,节点3上的事件3;
(b)群组B:节点1上的事件4,节点4上的事件5;
(c)群组C:节点1上的事件6,节点2上的事件7;
(d)群组D:节点2上的事件8,节点4上的事件9。
当前事件可以在节点4上发生。节点4的时间上相关群组可以是群组A。基于群组A,时间上相关节点是节点1、节点2和节点3。
可以确定与节点4(当前节点)以及节点1、节点2和节点3(时间上相关节点)中的每个相关联的互信息。
每个互信息基于具有节点4(当前节点)上的事件的群组的概率P(节点4)。具有节点4上的至少一个事件的群组的数量是2(即群组B和群组D)。群组的总数是4。因此,P(当前节点)是2/4=0.5。
与节点4和节点1相关联的互信息基于具有节点4上的事件以及在节点1上、距节点4上的事件在阈值持续时间内的事件的群组的概率P(节点4|节点1)。假设事件4距事件5在阈值持续时间内。然后具有节点4上的事件以及在节点1上、距节点4上的事件在阈值持续时间内的事件的群组的数量为1(即群组B)。群组的总数是4。因此,P(节点4|节点1)是1/4=0.25。
因此,互信息为0.25/0.5=0.5。
与节点4和节点2相关联的互信息基于具有节点4上的事件以及在节点2上、距节点4上的事件在阈值持续时间内的事件的群组的概率P(节点4|节点2)。假设事件8距事件9不在阈值持续时间内。那么具有节点4上的事件以及在节点2上、距节点4上的事件在阈值持续时间内的群组的数量是0。因此,P(节点4|节点2)为0。
因此,互信息为0。
与节点4和节点3相关联的互信息基于具有节点4上的事件以及节点3上、距节点4上的事件在阈值持续时间内的事件的群组的概率P(节点4|节点3)。具有节点4上的事件以及节点3上、距节点4上的事件在阈值持续时间内的事件的群组的数量为0。因此,P(节点4|节点3)为0。
因此,互信息为0。
可以使用用于确定在当前节点上的事件的发生与在时间上相关节点上的事件的发生之间的相互依赖水平的附加和/或替代方式。
一个或多个实施例包括确定当前节点与时间上相关节点之间的相互依赖水平是否高于阈值(操作220)。将在操作218处确定的当前节点和每个时间上相关节点的相应相互依赖水平与阈值进行比较。阈值可以由用户和/或应用指定。
如果相互依赖水平不高于阈值,那么一个或多个实施例包括生成包括当前事件的新群组(操作222)。上面参考操作208描述了用于生成包括当前事件的新群组的实施例和示例。
如果相互依赖水平高于阈值,那么一个或多个实施例包括将当前事件添加到与时间上相关节点相关联的(一个或多个)时间上相关群组(操作224)。如在操作220处所述,分析与当前节点和每个时间上相关节点相关联的相应相互依赖水平。识别与高于阈值的相应相互依赖水平相关联的每个时间上相关节点。对于每个识别出的时间上相关节点,识别包括在识别出的时间上相关节点上的至少一个事件的一个或多个时间上相关群组。将当前事件添加到每个识别出的时间上相关群组中。
可以经由接口呈现和/或传送关于每个群组的信息。信息可以指示一个或多个特定群组包括当前事件。从接口获得关于群组的信息的用户和/或应用可以处理群组。用户和/或应用可以将特定群组中的事件作为一个组来分析和/或解决。
作为示例,当前事件可以在节点1上发生。当前事件的一组时间上相关节点可以包括节点2、节点3和节点4。在节点1(当前节点)上的事件的发生与在节点2上的事件的发生的相互依赖水平可以高于阈值。在节点1上的事件的发生与在节点3上的事件的发生的相互依赖水平可以低于阈值。在节点1上的事件的发生与在节点4上的事件的发生的相互依赖水平可以高于阈值。因此,节点2和节点4被识别为与高于阈值的相应相互依赖水平相关联。
可以分析节点2。包括节点2上的事件的、当前事件的时间上相关群组可以是群组A和群组B。因此,当前事件被添加到群组A和群组B中的每个。
可以分析节点4。包括节点4上的事件的、当前事件的时间上相关群组可以是群组A和群组C。当前事件已经被添加到群组A。当前事件被进一步添加到群组C。
一个或多个实施例包括将当前节点和时间上相关节点之间基于事件的拓扑关系添加到关系储存库中(操作226)。如操作220处所述,分析与当前节点和每个时间上相关节点相关联的相应相互依赖水平。识别与高于阈值的相应相互依赖水平相关联的每个时间上相关节点。对于每个识别出的时间上相关节点,添加当前节点和识别出的时间上相关节点之间基于事件的拓扑关系。基于事件的拓扑关系被添加到关系储存库中。
从上面继续示例,当前事件已在节点1上发生。已经将节点2和节点4识别为与高于阈值的相应相互依赖水平相关联。
因此,添加节点1和节点2之间基于事件的拓扑关系。此外,添加节点1和节点4之间基于事件的拓扑关系。
添加的当前节点和时间上相关节点之间基于事件的拓扑关系可以指示当前节点与时间上相关节点之间的跳数为1。
参考图1B的关系图119作为示例,当前事件可以在节点104b上发生。当前事件的时间上相关节点可以是节点104f。用于确定拓扑相关性的阈值跳数可以是二。
在节点104b上的事件的发生与在节点104f上的事件的发生之间的相互依赖水平可以高于阈值。因此,可以将当前事件添加到与节点104f相关联的每个时间上相关群组。此外,添加节点104b和节点104f之间基于事件的拓扑关系。基于事件的拓扑关系可以指示节点104b和节点104f之间存在直接的拓扑关系。因此,节点104b和节点104f之间的跳数可以是一。
替代地,添加的当前节点和时间上相关节点之间基于事件的拓扑关系可以指示当前节点与时间上相关节点之间的跳数等于在操作210处用于确定拓扑相关性的阈值跳数。
参考图1B的关系图119作为示例,当前事件可以在节点104b上发生。当前事件的时间上相关节点可以是节点104f。用于确定拓扑相关性的阈值跳数可以是二。
在节点104b上的事件的发生与在节点104f上的事件的发生之间的相互依赖水平可以高于阈值。因此,可以将当前事件添加到与节点104f相关联的每个时间上相关群组。此外,添加节点104b和节点104f之间基于事件的拓扑关系。基于事件的拓扑关系可以指示节点104b和节点104f之间的跳数等于用于确定拓扑相关性的阈值跳数。因此,节点104b和节点104f之间的跳数可以是二。
因此,与当前事件相关联的事件信息被用于更新关系储存库。关系储存库被更新以包括一个或多个新的基于事件的拓扑关系。
随后,新事件可以在特定节点上发生。关于新事件迭代图2A-图2B的操作。使用更新后的关系储存库关于新事件迭代图2A-图2B的操作。
4.示例实施例
为清楚起见,下面描述详细示例。下面描述的组件和/或操作应该被理解为可能不适用于某些实施例的一个具体示例。因此,下面描述的组件和/或操作不应被解释为限制任何权利要求的范围。
图3A-图3B图示了根据一个或多个实施例的用于在事件聚类中使用和更新一组节点之间的拓扑关系的示例反馈环。如图所示,图3A-图3B包括关系图319、一组群组326a-c、匹配逻辑312和相互依赖逻辑314。
参考图3A,关系图319指示现有的一组拓扑关系。关系图319包括各种节点,包括web应用304a、中间件程序304b、计算服务器304c和数据库(DB)服务器304d。web应用304a和中间件程序304b之间存在结构关系320a。中间件程序304b和计算服务器304c之间存在结构关系320b。计算服务器304c和DB服务器304d之间存在基于事件的关系322a。
作为示例,web应用304a的配置文件可以指示web应用304a在中间件程序304b上执行。因此,可以确定web应用304a和中间件程序304b之间存在单向结构拓扑关系320a。此外,受监视的网络流量可以指示中间件程序304b和计算服务器304c彼此通信。因此,可以确定中间件程序304b和计算服务器304c之间存在双向结构拓扑关系320b。此外,可以基于对在计算服务器304c和DB服务器304d中的每个上发生的事件的先前分析来确定计算服务器304c和DB服务器304d之间基于事件的关系322a。
当前事件308a可以在DB服务器304d上发生。例如,当前事件308a可以指示DB服务器304d上的响应时间已经超过阈值。
关系图319被输入到匹配逻辑312中。应用关系图319,匹配逻辑312确定当前事件308a与一组群组326a-c之间的相关性。具体而言,匹配逻辑312基于关系图319确定群组326a-c中的任何一个是否既包括(a)与事件308a时间上相关的事件又包括(b)与事件308a拓扑上相关的事件。匹配逻辑312确定对于事件308a不存在这样的群组。
特别地,群组326a包括在web应用304a上发生的事件308b和在中间件程序304b上发生的事件308c。事件308b可以在当前事件308a的阈值持续时间内发生。因此,匹配逻辑312确定群组326a包括与当前事件308a时间上相关的事件308b。群组326a是当前事件308a的时间上相关群组。
用于确定拓扑相关性的跳数可以是1。匹配逻辑312确定当前节点(DB服务器304d)与每个时间上相关节点之间的跳数。时间上相关节点包括与时间上相关群组326a相关联的节点,它们是web应用304a和中间件程序304b。DB服务器304d和web应用304a之间的跳数是3,其高于阈值1。DB服务器304d和中间件程序304b之间的跳数是2,其高于阈值1。因此,匹配逻辑312确定群组326a不包括与当前事件308a拓扑上相关的任何事件。
由匹配逻辑312在上面确定的聚类信息被输入到相互依赖逻辑314中。应用聚类信息,相互依赖逻辑314确定当前节点(DB服务器304d)和每个时间上相关节点(web应用304a和中间件程序304b)的相应相互依赖水平。例如,可以计算节点之间互信息的值。DB服务器304d和web应用304a的相互依赖水平可以低于阈值。DB服务器304d和中间件程序304b的相互依赖水平可以高于阈值。
参考图3B,响应于确定DB服务器304d和中间件程序304b的相互依赖水平高于阈值,相互依赖逻辑314将当前事件308a添加到群组326a。此外,相互依赖逻辑314更新关系图319。具体而言,相互依赖逻辑314添加DB服务器304d和中间件程序304b之间直接的基于事件的关系322b。基于事件的关系322b指示在DB服务器304d和中间件程序304b之间存在一跳。
随后,包括基于事件的关系322b的新关系图319被用于确定一个或多个新事件的聚类。匹配逻辑312应用新关系图319来确定新事件与该组群组326a-c之间的相关性。
5.硬件概述
根据一个实施例,本文所描述的技术由一个或多个专用计算设备来实现。专用计算设备可以是硬连线的以执行技术,或者可以包括诸如一个或多个专用集成电路(ASIC)、现场可编程门阵列(FPGA)或被永久性地编程以执行技术的网络处理单元(NPU)的数字电子设备,或者可以包括被编程为根据固件、存储器、其它存储装置或组合中的程序指令执行技术的一个或多个通用硬件处理器。这些专用计算设备还可以将定制硬连线逻辑、ASIC、FPGA或NPU与定制编程组合来实现技术。专用计算设备可以是台式计算机***、便携式计算机***、手持式设备、网络设备或合并硬连线和/或程序逻辑来实现技术的任何其它设备。
例如,图4是图示可以在其上实现本发明的实施例的计算机***400的框图。计算机***400包括总线402或用于传送信息的其它通信机制,以及与总线402耦合用于处理信息的硬件处理器404。硬件处理器404可以是例如通用微处理器。
计算机***400还包括被耦合到总线402用于存储信息和要由处理器404执行的指令的主存储器406,诸如随机存取存储器(RAM)或其它动态存储设备。主存储器406也可以用于在要由处理器404执行的指令的执行期间存储临时变量或其它中间信息。当这些指令被存储在处理器404可访问的非瞬态存储介质中时,它们将计算机***400渲染成被定制以执行指令中指定的操作的专用机器。
计算机***400还包括被耦合到总线402用于存储静态信息和用于处理器404的指令的只读存储器(ROM)408或其它静态存储设备。提供了诸如磁盘或光盘的存储设备410,并且存储设备410被耦合到总线402用于存储信息和指令。
计算机***400可以经由总线402被耦合到诸如阴极射线管(CRT)的显示器412以用于向计算机用户显示信息。包括字母数字和其它键的输入设备414被耦合到总线402,以用于将信息和命令选择传送到处理器404。另一种类型的用户输入设备是诸如鼠标、轨迹球或光标方向键的光标控件416,以用于向处理器404传送方向信息和命令选择并且用于控制光标在显示器412上的移动。这种输入设备通常具有在两个轴(第一轴(例如x)和第二轴(例如y))中的两个自由度,这允许设备在平面中指定位置。
计算机***400可以使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实现本文描述的技术,这些定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑与计算机***结合使计算机***400成为或将计算机***400编程为专用机器。根据一个实施例,本文的技术由计算机***400响应于处理器404执行主存储器406中包含的一条或多条指令的一个或多个序列而执行。这些指令可以从另一个存储介质(诸如存储设备410)读取到主存储器406中。包含在主存储器406中的指令序列的执行使处理器404执行本文描述的处理步骤。在替代实施例中,可以使用硬连线电路***代替软件指令或与软件指令组合使用。
如本文所使用的术语“存储介质”是指存储使机器以特定方式操作的数据和/或指令的任何非瞬态介质。这种存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,诸如存储设备410。易失性介质包括动态存储器,诸如主存储器406。存储介质的常见形式包括例如软盘、柔性盘、硬盘、固态驱动器、磁带或任何其它磁性数据存储介质、CD-ROM、任何其它光学数据存储介质、具有孔模式的任何物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其它存储器芯片或盒带、内容可寻址存储器(CAM)和三元内容可寻址存储器(TCAM)。
存储介质与传输介质不同但可以与传输介质结合使用。传输介质参与在存储介质之间传输信息。例如,传输介质包括同轴电缆、铜线和光纤,包括包含总线402的电线。传输介质还可以采取声波或光波的形式,诸如在无线电波和红外线数据通信期间生成的那些波。
各种形式的介质可以涉及将一条或多条指令的一个或多个序列携带到处理器404用于执行。例如,指令最初可以在远程计算机的磁盘或固态驱动器上携带。远程计算机可以将指令加载到其动态存储器中,并且使用调制解调器通过电话线发送指令。计算机***400本地的调制解调器可以接收电话线上的数据,并且使用红外线发射器将数据转换为红外线信号。红外线检测器可以接收在红外线信号中携带的数据,并且适当的电路***可以将数据放在总线402上。总线402将数据携带到主存储器406,处理器404从该主存储器406检索并执行指令。由主存储器406接收到的指令可以可选地在被处理器404执行之前或执行之后被存储在存储设备410上。
计算机***400还包括被耦合到总线402的通信接口418。通信接口418提供耦合到网络链路420的双向数据通信,该网络链路420连接到本地网络422。例如,通信接口418可以是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器或提供到对应类型的电话线的数据通信连接的调制解调器。作为另一个示例,通信接口418可以是提供到兼容的局域网(LAN)的数据通信连接的LAN卡。也可以实现无线链路。在任何这种实现中,通信接口418都发送和接收携带表示各种类型信息的数字数据流的电信号、电磁信号或光信号。
网络链路420通常通过一个或多个网络提供到其它数据设备的数据通信。例如,网络链路420可以通过本地网络422提供到主计算机424或到由因特网服务提供商(ISP)426操作的数据设备的连接。ISP 426反过来通过现在通常称为“因特网”428的世界范围的数据包数据通信网络提供数据通信服务。本地网络422和因特网428两者使用携带数字数据流的电信号、电磁信号或光信号。通过各种网络的信号以及在网络链路420上并且通过通信接口418的信号是传输介质的示例形式,这些信号将数字数据携带到计算机***400或者携带来自计算机***400的数字数据。
计算机***400可以通过(一个或多个)网络、网络链路420和通信接口418发送消息和接收数据,包括程序代码。在因特网示例中,服务器430可以通过因特网428、ISP 426、本地网络422和通信接口418传输对应用程序的请求代码。
接收到的代码可以在其被接收到时由处理器404执行,和/或存储在存储设备410或其它非易失性存储器中用于以后执行。
6.其它方面;扩展
实施例针对具有包括硬件处理器并且被配置为执行本文描述的和/或以下权利要求中任一项中阐述的任何操作的一个或多个设备的***。
在实施例中,一种非瞬态计算机可读存储介质包括指令,当由一个或多个硬件处理器执行时,所述指令使得执行本文描述的和/或权利要求中任一项中阐述的任何操作。
可以根据一个或多个实施例使用本文描述的特征和功能的任意组合。在前面的说明书中,已经参考因实现而异的许多具体细节描述了实施例。因此,说明书和附图应当被认为是说明性的而不是限制性的。本发明的范围的唯一且排他的指标以及申请人预期作为本发明的范围的内容是从本申请中发出的该组权利要求的字面和等同范围,以这种权利要求发出的具体形式,包括任何后续的更正。
Claims (17)
1.一种包括指令的非瞬态计算机可读介质,当所述指令由一个或多个硬件处理器执行时,使得执行包括以下的操作:
识别在计算环境中的一组节点上发生的多个事件;
基于与所述一组节点相关联的现有的一组拓扑关系从所述多个事件中确定相关事件的第一群组;
确定在(a)相关事件的所述第一群组的一个或多个事件和(b)不在相关事件的所述第一群组内的第一事件之间存在事件共现;
至少基于在(a)相关事件的所述第一群组的所述一个或多个事件和(b)所述第一事件之间的所述事件共现:
确定在(a)所述一组节点中与相关事件的所述第一群组的至少一个事件相关联的第一节点和(b)所述一组节点中与所述第一事件相关联但不与相关事件的所述第一群组的任何事件相关联的第二节点之间的基于事件的拓扑关系;
识别与所述第一节点相关联的第二事件;
识别与所述第二节点相关联的、尚未在所述多个事件内的第三事件;以及
至少基于所述基于事件的拓扑关系:将所述第二事件和所述第三事件聚类到相关事件的第二群组中。
2.如权利要求1所述的介质,其中:
所述操作还包括:
确定在所述第一节点上的事件的发生与在所述第二节点上的事件的发生之间的相互依赖水平;
确定所述相互依赖水平高于阈值;以及
确定在所述第一节点和所述第二节点之间的所述基于事件的拓扑关系还基于确定所述相互依赖水平高于所述阈值。
3.如权利要求2所述的介质,其中确定所述相互依赖水平包括:
确定具有在所述第二节点上的第***的群组的第一概率;
确定具有(a)在所述第二节点上的第五事件和(b)在所述第一节点上的距在所述第二节点上的所述第五事件在阈值持续时间内的第六事件两者的群组的第二概率;以及
将所述第二概率除以所述第一概率以获得所述相互依赖水平。
4.如权利要求1所述的介质,其中:
所述操作还包括:确定相关事件的所述第一群组的所述一个或多个事件和所述第一事件满足统计标准;以及
确定在所述第一节点和所述第二节点之间的所述基于事件的拓扑关系还基于确定相关事件的所述第一群组的所述一个或多个事件和所述第一事件满足统计标准。
5.如权利要求1所述的介质,其中所述操作还包括:
将在所述第一节点和所述第二节点之间的所述基于事件的拓扑关系添加到所述现有的一组拓扑关系中。
6.如权利要求1所述的介质,其中所述现有的一组拓扑关系包括:
基于与所述一组节点中的一个或多个节点相关联的一个或多个配置文件确定的拓扑关系。
7.如权利要求1所述的介质,其中所述现有的一组拓扑关系包括:
经由用户输入指定的拓扑关系。
8.如权利要求1所述的介质,其中基于与所述一组节点相关联的所述现有的一组拓扑关系来识别相关事件的所述第一群组包括:
确定第***和第五事件在彼此的阈值持续时间内发生;
基于所述现有的一组拓扑关系确定在其上发生所述第***的第三节点和在其上发生所述第五事件的第四节点距彼此在阈值跳数内;以及
确定所述第***和所述第五事件在相关事件的所述第一群组内。
9.如权利要求1所述的介质,其中所述操作还包括:
至少基于在(a)相关事件的所述第一群组的所述一个或多个事件和(b)所述第一事件之间的所述事件共现:将所述第一事件添加到相关事件的所述第一群组。
10.如权利要求1所述的介质,其中相关事件的所述第一群组和相关事件的所述第二群组是不同的。
11.如权利要求1所述的介质,其中相关事件的所述第一群组与相关事件的所述第二群组相同。
12.如权利要求1所述的介质,其中所述操作还包括:
在用户接口处呈现与相关事件的所述第二群组相关联的信息,其中与相关事件的所述第二群组相关联的所述信息指示相关事件的所述第二群组包括所述第二事件和所述第三事件。
13.如权利要求1所述的介质,其中所述操作还包括:
响应于确定相关事件的所述第二群组包括所述第二事件和所述第三事件:选择所述第二事件用于分析而不选择所述第三事件用于分析。
14.如权利要求1所述的介质,其中所述操作还包括:
确定在相关事件的所述第二群组内的所述第三事件已经被解决;
响应于确定所述第三事件已经被解决:指示在相关事件的所述第二群组内的所述第二事件也被解决。
15.一种用于执行权利要求1-14中任一项所述的操作的方法,
其中所述方法由包括硬件处理器的至少一个设备执行。
16.一种***,包括:
至少一个设备,包括硬件处理器;以及
所述***被配置为执行权利要求1-14中任一项所述的操作。
17.一种装置,包括用于执行权利要求1-14中任一项所述的操作的单元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/950,987 US10678610B2 (en) | 2018-04-11 | 2018-04-11 | Using and updating topological relationships amongst a set of nodes in event clustering |
US15/950,987 | 2018-04-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110362565A true CN110362565A (zh) | 2019-10-22 |
Family
ID=68161627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910058162.3A Pending CN110362565A (zh) | 2018-04-11 | 2019-01-22 | 在事件聚类中使用和更新一组节点之间的拓扑关系 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10678610B2 (zh) |
CN (1) | CN110362565A (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10892012B2 (en) * | 2018-08-23 | 2021-01-12 | Intel Corporation | Apparatus, video processing unit and method for clustering events in a content addressable memory |
CN112905370A (zh) * | 2019-12-03 | 2021-06-04 | 中兴通讯股份有限公司 | 拓扑图生成方法、异常检测方法、装置、设备及存储介质 |
US11960929B2 (en) | 2021-08-24 | 2024-04-16 | Oracle International Corporation | Automated runbook operation recommendations |
US20230062588A1 (en) * | 2021-08-24 | 2023-03-02 | Oracle International Corporation | Recommending a candidate runbook based on a relevance of the results of the candidate runbook to remediation of an event |
CN114745281B (zh) * | 2022-04-11 | 2023-12-05 | 京东科技信息技术有限公司 | 一种数据处理的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101040486A (zh) * | 2004-10-12 | 2007-09-19 | 国际商业机器公司 | 动态分布式环境中的自动拓扑形成方法、***及程序产品 |
CN102682050A (zh) * | 2011-11-14 | 2012-09-19 | 吉林大学 | 复杂网络多元结构模式表征与发现方法 |
CN104603830A (zh) * | 2012-07-03 | 2015-05-06 | 谷歌公司 | 创建社交群组事件 |
CN107431643A (zh) * | 2015-02-03 | 2017-12-01 | Netapp股份有限公司 | 监测存储集群元件 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017131791A1 (en) * | 2016-01-30 | 2017-08-03 | Entit Software Llc | Log event cluster analytics management |
US10719417B2 (en) * | 2018-01-30 | 2020-07-21 | EMC IP Holding Company, LLC | Data protection cluster system supporting multiple data tiers |
-
2018
- 2018-04-11 US US15/950,987 patent/US10678610B2/en active Active
-
2019
- 2019-01-22 CN CN201910058162.3A patent/CN110362565A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101040486A (zh) * | 2004-10-12 | 2007-09-19 | 国际商业机器公司 | 动态分布式环境中的自动拓扑形成方法、***及程序产品 |
CN102682050A (zh) * | 2011-11-14 | 2012-09-19 | 吉林大学 | 复杂网络多元结构模式表征与发现方法 |
CN104603830A (zh) * | 2012-07-03 | 2015-05-06 | 谷歌公司 | 创建社交群组事件 |
CN107431643A (zh) * | 2015-02-03 | 2017-12-01 | Netapp股份有限公司 | 监测存储集群元件 |
Also Published As
Publication number | Publication date |
---|---|
US10678610B2 (en) | 2020-06-09 |
US20190317834A1 (en) | 2019-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110362565A (zh) | 在事件聚类中使用和更新一组节点之间的拓扑关系 | |
US10855548B2 (en) | Systems and methods for automatically detecting, summarizing, and responding to anomalies | |
CN109803004B (zh) | 区块链智能合约管理方法与装置、电子设备、存储介质 | |
CN109710405B (zh) | 区块链智能合约管理方法、装置、电子设备及存储介质 | |
WO2021036229A1 (zh) | 一种变更设备业务的方法和业务变更*** | |
US11093232B2 (en) | Microservice update system | |
US20190349287A1 (en) | System and method to learn and prescribe optimal network path for sdn | |
US10558559B2 (en) | Determining a test confidence metric for a testing application | |
US20080155527A1 (en) | System and method for optimizing changes of data sets | |
CN110225104A (zh) | 数据获取方法、装置及终端设备 | |
CN110717647A (zh) | 决策流构建方法、装置、计算机设备和存储介质 | |
US11048612B2 (en) | Automatic behavior detection and characterization in software systems | |
Khelaifa et al. | A comparative analysis of adaptive consistency approaches in cloud storage | |
CN115529232A (zh) | 汇聚分流设备的管控方法、装置及存储介质 | |
US20180275980A1 (en) | Optimizing feature deployment based on usage pattern | |
CN109559121A (zh) | 交易路径调用异常分析方法、装置、设备及可读存储介质 | |
US8706804B2 (en) | Modeled chaining of service calls | |
US7873676B2 (en) | Contextually analyzing data in tabular and graphical reports | |
US20230318926A1 (en) | Semi-automated deployment for an intra-service communication infrastructure | |
CN111597026B (zh) | 用于获取信息的方法及装置 | |
CN113778973B (zh) | 数据存储方法和装置 | |
CN114723072A (zh) | Exporter组合方法、***、设备及存储介质 | |
CN108989244A (zh) | 数据处理方法、装置、存储介质及电子设备 | |
CN109189291A (zh) | 菜单管理方法及装置 | |
CN114756301A (zh) | 日志处理方法、装置和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |