事件风暴的检测的制作方法

专利2022-06-29  65




背景技术:

诸如数据中心等计算环境中的设备可以生成事件,这些事件可以指示设备的功能。有时,可能会在短时间内生成若干事件,诸如以突发形式。这样的事件可以被称为事件风暴的一部分。

附图说明

以下详细描述参考附图,在附图中:

图1示出了根据本主题的示例实现的用于检测事件风暴的系统;

图2示出了根据本主题的示例实现的标识与每个事件类型相关联的事件;

图3(a)示出了根据本主题的示例实现的基于多个阈值来检测与第一事件类型相关联的事件是否是事件风暴的一部分;

图3(b)示出了根据本主题的示例实现的基于多个阈值来检测与第二事件类型相关联的事件是否是事件风暴的一部分;

图4示出了根据本主题的示例实现的用于检测事件流的事件是否是事件风暴的一部分的方法;

图5示出了根据本主题的示例实现的用于检测事件风暴的方法;以及

图6示出了根据本主题的示例实现的实现用于检测事件风暴的非暂态计算机可读介质的计算环境。

具体实施方式

由设备在计算环境中生成的事件可以提供有关设备的功能的信息。例如,由计算设备生成的事件可以指示计算设备的组件的温度已经超过温度阈值。在某些情况下,在相对较短的时间范围内会生成大量事件。大量事件可以被称为事件的风暴或事件风暴的一部分。

事件风暴的大量事件可能导致处理事件的系统过载。这种过载甚至可能导致系统故障。此外,事件风暴的事件本质上可能是冗余的。因此,应当检测事件风暴,并且可能必须抑制事件,直到事件风暴平息,即,每单位时间的事件数目减少到可管理的值。

通常,为了检测事件风暴的发生,将在特定时间段内接收的事件数目与阈值事件数目进行比较。尽管这样的比较可以检测以突发事件形式发生的事件风暴,但可能无法检测涉及以相对较小的频率生成但消耗大量系统资源的事件的事件风暴。即使这样的事件以较小的频率生成,但是它们仍然可能导致系统过载。

本主题涉及事件风暴的检测。利用本主题的实现,可以防止处理事件风暴的事件的系统过载。

根据一个示例实现,确定与第一事件类型相关联并且在第一时间窗口中接收的事件的第一数目。该确定可以基于在第一时间窗口中接收的每个事件的属性(下文中称为事件属性)来执行。在一个示例中,第一事件类型可以包括第一事件属性,并且如果事件具有第一事件属性,则可以将事件确定为与第一事件类型相关联。第一事件类型可以是多个事件类型之一。每个事件类型对应于由与该事件类型相关联的事件消耗的资源量。例如,与第一事件类型相关联的事件的资源消耗可以不同于与多个事件类型中的第二事件类型相关联的事件的资源消耗。

可以在事件的第一数目与第一阈值之间执行第一比较。第一阈值可以与第一事件类型和第一时间窗口相关联。基于第一比较,可以检测在第一时间窗口中接收的与第一事件类型相关联的事件是否是事件风暴的一部分。

由于事件被分类为不同的事件类型,每个事件类型对应于特定的资源消耗量,因此本主题使得能够确定由于所接收的事件而导致的资源消耗。此外,通过提供时间窗口和与每个事件类型相对应的阈值事件数目,本主题使得能够精确地检测可能导致要处理事件的系统过载的事件的数目。例如,如果事件可能消耗相对大量的资源,则与该事件相关联的事件类型可以具有相对较小的阈值和与其相关联的相对较大的时间窗口。因此,本主题可以用于检测涉及以相对较小的频率生成但是消耗相对大量的资源的事件的事件风暴。

关于具有多个设备(诸如多个计算设备和多个交换机)的计算环境来描述本主题的示例实现。然而,应当理解,本主题的实现可以用于具有可以生成事件的单个设备(诸如单个计算设备)的计算环境。

以下描述参考附图。在可能的情况下,在附图和以下描述中使用相同的附图标记指代相同或相似的部件。尽管在说明书中描述了几个示例,但是修改、改编和其他实现是可能的,并且旨在在本文中被涵盖。

图1示出了根据本主题的示例实现的用于检测事件风暴的系统100。系统100可以被实现为多种计算系统中的任何一种,诸如台式计算机、膝上型计算机、服务器、平板计算机等。系统100包括处理器102和耦合到处理器102的机器可读存储介质104。

处理器102可以被实现为微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路、和/或基于操作指令来操纵信号的任何设备。除了其他能力,处理器102还可以获取和执行机器可读存储介质104中包括的计算机可读指令。计算机可读指令(下文中称为指令)包括指令106和指令108。处理器102的功能可以通过使用专用硬件以及能够执行机器可读指令的硬件来提供。

机器可读存储介质104可以包括任何非暂态计算机可读介质,包括易失性存储器(例如,ram)和/或非易失性存储器(例如,eprom、闪存、忆阻器(memristor)等)。机器可读存储介质104还可以是外部存储器单元,诸如闪存驱动器、光盘驱动器、外部硬盘驱动器等。

除了处理器102和机器可读存储介质104,系统100还可以包括(多个)接口和系统数据(图1中未示出)。(多个)接口可以包括各种基于机器可读指令的接口和硬件接口,这些接口允许与用户以及与其他通信和计算设备(诸如网络实体、web服务器、外部存储库和外围设备)的交互。系统数据可以用作用于存储可以由指令获取、处理、接收或创建的数据的存储库。

在操作中,当由处理器102执行时,指令106使得能够确定与第一事件类型相关联并且在第一时间窗口中接收的事件的数目。每个事件可以与诸如数据中心(图1中未示出)等计算环境相关联。例如,每个事件可以涉及计算环境中的设备的操作。与第一事件类型相关联并且在第一时间窗口中接收的事件的数目可以被称为与第一事件类型相关联的事件的第一数目。事件的第一数目的确定可以基于在第一时间窗口中接收的每个事件的属性来执行。事件的属性可以被称为事件的事件属性。在一个示例中,第一事件类型可以包括第一事件属性,并且可以响应于事件具有第一事件属性而将事件确定为与第一事件类型相关联,如将参考图2解释的。

第一事件类型可以是多个事件类型之一。多个事件类型中的每个事件类型对应于由与该事件类型相关联的事件消耗的资源量。例如,与第一事件类型相关联的事件的资源消耗可以不同于与多个事件类型中的第二事件类型相关联的事件的资源消耗。事件的资源消耗可以是指在处理事件时将消耗的资源量。消耗的资源可以是例如处理器资源、存储器资源或存储资源。

当由处理器102执行时,指令108使得能够基于事件的第一数目与第一阈值之间的比较来检测在第一时间窗口中接收的与第一事件类型相关联的事件是否是事件风暴的一部分。第一阈值可以与第一事件类型和第一时间窗口相关联。例如,第一阈值可以不同于与第二事件类型相关联的阈值,如将参考图3(a)和3(b)更详细地解释的。事件的第一数目与第一阈值之间的比较可以被称为第一比较。

图2示出了根据本主题的示例实现的标识与每个事件类型相关联的事件。系统100可以从计算环境202接收事件,该计算环境202可以包括诸如计算设备(例如,服务器)、交换机、路由器等(图2中未示出)等设备。在一个示例中,计算环境202可以包括多个设备。例如,计算环境202可以是数据中心。

系统100可以是可以用于监测在计算环境202中生成的事件的管理站。为了监测在计算环境202中生成的事件,系统100可以通过通信网络(图2中未示出)连接到计算环境202。通信网络可以是无线或有线网络或其组合。通信网络可以是彼此互连并且用作单个大型网络(例如,互联网或内联网)的个体网络的集合。这样的个体网络的示例包括全球移动通信系统(gsm)网络、通用移动电信系统(umts)网络、个人通信服务(pcs)网络、时分多址(tdma)网络、码分多址(cdma)网络、下一代网络(ngn)、公共交换电话网(pstn)和综合服务数字网(isdn)。取决于技术,通信网络包括各种网络实体,诸如收发器、网关和路由器。

在计算环境202中生成的事件可以与计算环境202中的设备的功能有关。例如,事件可以指示交换机的端口处于打开状态。另一事件可以与设备的生命周期有关。例如,事件可以指示服务器(诸如刀片服务器)被插入机箱。在生成时,事件可以由系统100通过通信网络接收。系统100对事件的接收可以可互换地称为事件到达系统100。取决于事件的性质,所接收的事件可能必须由系统100来处理。例如,如果所接收的事件仅提供信息,而不必采取行动(也称为“信息事件”),则系统100可以简单地忽略该事件或者通过用户界面(ui)向用户显示该事件。指示交换机的端口打开的事件就是一个这样的事件。相反,所接收的事件可以指示设备的生命周期中的状态(也称为“生命周期事件”),系统可能必须执行一个或多个动作。指示服务器被插入机箱的事件、指示服务器从机箱中被去除的事件以及指示硬盘被插入服务器的事件都是这样的事件。例如,当所接收的事件指示服务器被插入时,系统100可能必须执行以下动作:

i.配置登录凭据,

ii.配置网络时间协议(ntp)客户端,

iii.配置简单网络管理协议(snmp)代理,

iv.配置管理员电子邮件地址,

v.更新固件,以及

vi.硬件的库存配置。

因此,对不同事件的处理可能消耗不同的资源量。

在一些情况下,一组事件可以在计算环境202中在特定时间量内被生成并且由系统100接收。有时,事件的到达可能导致系统100过载。例如,系统100对事件的处理可能导致其资源消耗(诸如处理器消耗、存储器消耗或存储消耗)增加到超过资源阈值。如果由于在特定时间段内接收的一组事件而导致在某个时间点消耗的资源量将超过阈值资源量,则该组事件可以称为事件风暴的一部分。由于事件到达系统100的时间点之间的接近度以及由于在处理每个事件时将消耗的资源,该组事件可能导致资源消耗超过资源阈值。这样的一组事件将被检测并且将被进行各种操作以防止系统100过载。例如,可能必须抑制该组事件中的事件。对事件的抑制可以包括不处理事件,即,不对事件采取行动。

在一个示例中,不同的事件可能消耗不同的资源量。例如,与生命周期事件相比,信息事件可能消耗较少的资源量。因此,尽管包括在1分钟内接收的100个信息事件的一组事件可能不会导致资源消耗超过资源阈值,但是包括在1分钟内接收的25个生命周期事件的一组事件可能会使资源消耗超过资源阈值。此外,生命周期事件的资源消耗可能取决于它们所涉及的设备而不同。例如,与指示第二服务器被插入机箱的与版本2.0的第二服务器相关的生命周期事件相比,指示第一服务器被插入机箱的与版本1.0的第一服务器相关的生命周期事件可能会消耗不同的资源量。

因此,为了检测事件风暴的发生,系统100可以将从计算环境202接收的事件分类为各种事件类型。事件类型可以指示由对应事件(即,与事件类型相关联的事件)消耗的资源量。例如,由与一个事件类型相关联的事件消耗的资源量可以不同于由与另一事件类型相关联的事件消耗的资源量。因此,可以独立于与其他事件类型相对应的事件数目来监测与每个事件类型相对应的事件数目。此外,如下所述,可以针对与每个事件类型相对应的事件独立地执行关于事件风暴的发生的检测。

如图2所示,多个事件可以在计算环境202中被生成并且由系统100接收。多个事件包括第一事件204、第二事件206、第三事件208和第四事件210。每个事件可以包括多个属性,下文中称为事件属性,这些属性提供有关该事件的各种细节。

每个事件属性可以包括事件属性类型和事件属性类型的事件属性值的配对。事件属性类型可以是可以表征事件的各个方面。例如,事件的事件属性类型可以包括来源设备、来源设备的相关组件和事件重要性。来源设备是指事件源自于的计算环境202的设备,来源设备的相关组件是指事件所涉及的来源设备的组件。事件的事件重要性可以指示要执行以处理事件的处理量。

事件属性值可以是与特定事件的事件属性类型相对应的值。事件属性值可以是事件属性类型的多个可能值之一。来源设备的事件属性类型的多个可能值可以是计算环境202的第一服务器(图2中未示出)和第一交换机(图2中未示出)。类似地,事件重要性的事件属性类型的多个可能值可以是生命周期(指示大量处理)、错误(指示中等量处理)和信息(指示少量处理)。此外,相关组件的事件属性类型的多个可能值可以是第一服务器的基板管理控制器(bmc)和第一交换机的第一端口。因为每个事件属性包括事件属性类型和事件属性值的配对,所以每个事件属性可以称为事件属性类型事件属性值对或类型值对。

在从计算环境202接收到事件之后,系统100可以确定与该事件相关联的事件类型。事件类型可以对应于事件属性集合,并且可以用于基于事件的相应事件属性对事件进行分类。对应于事件类型的事件属性集合可以指示每个对应事件的资源消耗。例如,具有事件属性集合的所有事件属性的每个事件可以消耗特定量的资源或特定范围内的一定量的资源。为了确定与事件相关联的事件类型,可以利用事件的事件属性,如下所述:

第一事件204可以包括多个事件属性,即,多个类型值对。例如,第一事件204包括第一事件属性212,第一事件属性212可互换地称为第一类型值对212,第一事件属性212可以是第一事件属性类型和第一事件属性值的配对。第一事件属性类型可以是例如来源设备,并且第一事件属性值可以是例如第一服务器。第一事件204还可以包括第二类型值对214,第二类型值对214可以是第二事件属性类型和第二事件属性值的配对。第二事件属性类型可以是例如相关组件,并且第二事件属性值可以是例如第一服务器的bmc。第一事件204还可以包括第三类型值对216,第三类型值对216可以是第三事件属性类型和第三事件属性值的配对。第三事件属性类型可以是例如事件重要性,并且第三事件属性值可以是例如信息。

第二事件206可以包括第四类型值对218、第五类型值对220和第六类型值对222。第四类型值对218可以是第一事件属性类型和第三事件属性值的配对。如前所述,第一事件属性类型可以是例如来源设备,并且第三事件属性值可以是例如第一交换机。第五类型值对220可以是第二事件属性类型和第四事件属性值的配对。第二事件属性类型可以是例如相关组件,并且第四事件属性值可以是例如第一交换机的第一端口。第六类型值对222可以是第三事件属性类型和第五事件属性值的配对。第三事件属性类型可以是例如事件重要性,并且第五事件属性值可以是例如生命周期。第三事件208可以包括第一类型值对212、第五类型值对220和第三类型值对216。此外,第四事件210可以包括第四类型值对218、第五类型值对220和第三类型值对216。

多个事件类型224(可互换地称为“事件类型224”)中的每个事件类型可以对应于事件属性集合,即类型值对。例如,第一事件类型226对应于第一类型值对212,第二事件类型228对应于包括第一类型值对212和第二类型值对214的事件属性集合,第三事件类型230对应于第五类型值对220,第四事件类型232对应于第三类型值对216,并且第五事件类型234对应于第六类型值对222。与事件类型相对应的事件属性可以统称为与事件类型相对应的事件属性集合。在一个示例中,属性集合可以具有单个事件属性。此外,与两个不同事件类型相对应的事件属性集合可以包括公共事件属性。

在一个示例中,如果事件具有与事件类型相对应的事件属性集合中的所有事件属性,则该事件可以被称为与事件类型相关联。例如,如上所述,与第一事件类型226相对应的事件属性集合包括第一类型值对212。由于第一事件204包括第一类型值对212,因此标识出第一事件204具有第一事件类型226的所有事件属性,并且第一事件204可以被确定为与第一事件类型226相关联。类似地,由于第三事件208还包括第一类型值对212,因此第三事件208也可以被确定为与第一事件类型226相关联。此外,如上所述,与第二事件类型228相对应的事件属性集合包括第一类型值对212和第二类型值对214。由于第一事件204包括第一类型值对212和第二类型值对214两者,因此第一事件204可以被确定为与第二事件类型228相关联。类似地,第二事件206、第三事件208和第四事件210可以被确定为与第三事件类型230相关联,第一事件204、第三事件208和第四事件210可以被确定为与第四事件类型232相关联,并且第二事件206可以被确定为与第五事件类型234相关联。在一个示例中,为了标识与从计算环境202接收的事件相关联的事件类型,系统100可以将该事件的事件属性和与多个事件类型224中的每个事件类型相对应的事件属性集合进行比较。由于单个事件属性可以是若干事件属性集合的一部分,因此事件可以与多个事件类型224中的一个以上事件类型相关联。

从以上说明中应当理解,与事件类型相对应的事件属性集合可以用于标识就事件属性集合而言是共同的事件。因此,可以选择与事件类型相对应的事件属性集合以标识共享该事件属性集合的所有事件。例如,考虑如下场景:第一事件属性类型是来源设备并且第一事件属性值是第一服务器,并且第一类型值对212是第一事件属性类型和第一事件属性值的配对。因此,为了标识源自第一服务器的所有事件,可以将第一事件类型226定义为包括第一类型值对212。在一个示例中,可以在系统100中预定义将要成为与每个事件类型相对应的事件属性集合的一部分的事件属性,并且可以将多个事件类型224存储在机器可读存储介质104(图2中未示出)中。

此外,可以选择与事件类型相对应的事件属性集合,以使得与事件类型相关联的每个事件可以消耗特定量的资源或特定范围内的一定量的资源。在一个示例中,可以选择与不同事件类型相对应的事件属性集合,以使得与不同事件类型相对应的事件可以消耗不同的资源量。例如,考虑如下场景:与以信息作为事件重要性的事件相比,以生命周期为事件重要性的事件消耗更多的资源。因此,可以定义第四事件类型232以使得与第四事件类型232相对应的事件属性集合包括第三类型值对216(作为事件属性类型的事件重要性和作为事件属性值的信息的配对),并且可以定义第五事件类型234以使得与第五事件类型234相对应的事件属性集合包括第六类型值对222(作为事件属性类型的事件重要性和作为事件属性值的生命周期的配对)。因此,和与第五事件类型234相关联的事件相比,与第四事件类型232相关联的事件可以消耗系统100的更多资源。此外,考虑如下的另一场景:与以生命周期作为事件重要性并且源自于第一交换机的事件相比,以生命周期作为事件重要性并且源自于第一服务器的事件消耗更多的资源。因此,可以定义第六事件类型(图2中未示出)以使得与第六事件类型相对应的事件属性集合包括第一类型值对和第六类型值对222,并且可以定义第七事件类型(图2中未示出)以使得与第七事件类型相对应的事件属性集合包括第四类型值对218和第三类型值对216。

由于事件类型指示由对应事件消耗的资源量,因此,在一个示例中,为了检测与事件类型相关联的事件是否是事件风暴的一部分,可以将与事件类型相关联的事件的数目和与该事件类型相对应的阈值事件数目进行比较。这样的阈值事件数目可以不同于与另一事件类型相对应的阈值事件数目。此外,对应于每个事件类型,可以使用多个阈值事件数目。阈值事件数目可以称为阈值。关于阈值的细节将参考图3(a)和3(b)进行说明。

尽管参考其中系统100处理来自计算环境202的事件的场景解释了图2,但是在一个示例中,情况可能并非如此,并且系统100可以仅涉及事件风暴的检测。

图3(a)示出了根据本主题的示例实现的基于多个阈值来检测与第一事件类型226相关联的事件是否是事件风暴的一部分。在此,与第一事件类型226相关联的事件由圆圈示出。例如,圆圈302-1、302-2、……、302-13示出了与第一事件类型226相关联的事件。在一个示例中,事件302-1可以是第一事件204,并且事件302-2可以是第三事件208。与第一事件类型226相关联的事件也可以称为第一事件流的事件。

第一事件流的事件可以由系统100在各个时间点接收。例如,事件302-1可以在第一时间点接收,事件302-2可以在第一时间点之后的第二时间点接收,事件302-3可以在第二时间点之后的第三时间点接收,以此类推。此外,第一事件流的事件可以被周期性地或非周期性地接收。例如,第二时间点与第一时间点之间的差可以与第三时间点与第二时间点之间的差相同或不同。

在一个示例中,为了确定到达的第一事件流的事件是否是事件风暴的一部分,系统100可以确定在诸如第一时间窗口304等时间窗口中接收的第一事件流的事件的数目。为了确定在时间窗口中接收的第一事件流的事件的数目,可以以参考图2解释的方式确定与在时间窗口中接收的每个事件相关联的事件类型。系统100可以确定若干第一时间窗口的第一事件流的事件的数目。不同的第一时间窗口由附图标记304-1、304-2、……示出。然而,为了便于解释,第一时间窗口304-1、304-2、……中的每个可以被称为第一时间窗口304。此外,不同的第一时间窗口可以彼此不重叠。第一时间窗口304可以具有与其自身相关联的第一阈值事件数目,也称为第一阈值。如下面将更详细解释的,如果在第一时间窗口304中接收的与第一事件类型226相关联的事件的数目超过第一阈值,则可以将这样的事件确定为事件风暴的一部分。

在一个示例中,为了确定第一事件流的事件是否是事件风暴的一部分,系统100可以利用多个时间窗口。多个时间窗口可以包括第一时间窗口304和第二时间窗口306。不同的第二时间窗口由附图标记306-1、306-2、……示出。然而,为了便于解释,第二时间窗口306-1、306-2、……中的每个可以被称为第二时间窗口306。此外,不同的第二时间窗口可以彼此不重叠。在一个示例中,第二时间窗口306可以大于第一时间窗口304。此外,第二时间窗口306可以与第一时间窗口304重叠。例如,第二时间窗口306-1与第一时间窗口304-1重叠。第二时间窗口306与第一时间窗口304之间的重叠可以是部分的,如第二时间窗口306-1与第一时间窗口304-2之间的重叠所示。类似于第一时间窗口304,第二时间窗口306也可以具有与其自身相关联的阈值。这样的阈值可以被称为第二阈值。

第一时间窗口的大小、第二时间窗口的大小、第一阈值和第二阈值可以基于由与第一事件类型226相关联的事件消耗的资源量的先验知识来在系统100中配置。例如,考虑如下情况:如果在1分钟内接收到与第一事件类型226相关联的3个事件,则消耗的资源量不会增加到超过资源阈值,而如果在1分钟内接收到3个以上事件,则消耗的资源量超过资源阈值。根据该示例,第一时间窗口304可以被配置为1分钟,并且第一阈值可以被配置为3个事件。此外,还考虑如下情况:如果在1分钟15秒内接收到4个以上事件,则消耗的资源量将超过资源阈值。在这种情况下,第二时间窗口306可以被配置为1分15秒,并且第二阈值可以被配置为4个事件。

然后,可以将在时间窗口中接收的事件的数目和与时间窗口相关联的阈值进行比较。例如,可以将在第一时间窗口304中接收的第一事件流的事件的数目与第一阈值进行比较,并且可以将在第二时间窗口306中接收的第一事件流的事件的数目与第二阈值进行比较。在第一时间窗口304中接收的第一事件流的事件的数目可以被称为事件的第一数目。类似地,在第二时间窗口306中接收的第一事件流的事件的数目可以被称为事件的第二数目。系统100可以基于事件的第一数目与第一阈值之间的第一比较来检测在第一时间窗口304中接收的第一事件流的事件是事件风暴的一部分。此外,系统100可以基于事件的第二数目与第二阈值之间的第二比较来检测在第二时间窗口306中接收的第一事件流的事件是事件风暴的一部分。下面将借助于其中第一阈值为3个事件并且第二阈值为4个事件的场景来说明比较和检测。

如图所示,在第一时间窗口304-1中,接收到第一事件流的一个事件(302-1)。由于这没有超过第一阈值,因此系统100可以检测到在第一时间窗口304-1中接收的第一事件流的事件不是事件风暴的一部分。此外,在第二时间窗口306-1中,接收到第一事件流的两个事件(302-1和302-2)。由于这没有超过第二阈值,因此系统100可以检测到在第二时间窗口306-1中接收的第一事件流的事件不是事件风暴的一部分。随后,在第一时间窗口304-2中,接收到第一事件流的3个事件。由于这不大于第一阈值,因此系统100可以检测到这些事件不是事件风暴的一部分。然而,在第二时间窗口306-2中,接收到第一事件流的5个事件。由于这超过了第二阈值,因此系统100可以检测到在第二时间窗口306-2中接收的第一事件流的事件是事件风暴的一部分。这样的检测也可以在后续时间窗口中继续。

在一个示例中,每个事件类型可以具有对应的时间窗口和阈值。例如,与第一事件类型226相对应的第一时间窗口304、第二时间窗口306、第一阈值和第二阈值可以分别不同于与第二事件类型228相对应的第三时间窗口、第四时间窗口、第三阈值和第四阈值,如将参考图3(b)所解释的。

尽管在图3(a)中未示出,但是除了第一时间窗口、第二时间窗口、第一阈值和第二阈值,还可以利用附加时间窗口和与附加时间窗口相关联的阈值来检测第一事件流的事件是否是事件风暴的一部分。

图3(b)示出了根据本主题的示例实现的基于多个阈值来检测与第二事件类型228相关联的事件是否是事件风暴的一部分。在此,与第二事件类型228相关联的事件由圆圈表示,诸如352-1、352-2、……。与第二事件类型228相关联的事件可以被称为第二事件流的事件。第二事件类型228也可以具有与其自身相关联的第三时间窗口354。第二事件类型228也可以具有与其自身相关联的其他时间窗口,诸如第四时间窗口356。此外,每个时间窗口可以具有与其相关联的阈值。与第三时间窗口354相关联的阈值可以是第三阈值,并且与第四时间窗口356相关联的阈值可以是第四阈值。

在一个示例中,第三时间窗口354可以不同于第一时间窗口304,并且第四时间窗口356可以不同于第二时间窗口306。此外,第三阈值可以不同于第一阈值,并且第四阈值可以不同于第二阈值。第一事件类型226与第二事件类型228之间的时间窗口和阈值的差异可能是由于与第一事件类型226和第二事件类型228相关联的事件的资源消耗的差异。

第三时间窗口354和第三阈值的大小可以基于由与第二事件类型228相关联的事件消耗的资源量的先验知识来配置。此外,如果还使用第四时间窗口356,则第四时间窗口356和第四阈值的大小也可以基于由与第二事件类型228相关联的事件消耗的资源量的先验知识来配置。

与第一事件流的事件一样,系统100可以确定在第三时间窗口354中接收的第二事件流的事件的数目。在第三时间窗口354中接收的第二事件流的事件的数目可以被称为事件的第三数目。此外,还可以确定在第四时间窗口356中接收的第二事件流的事件的数目。在第四时间窗口356中接收的第二事件流的事件的数目可以被称为事件的第四数目。此外,可以将这样的事件的数目与它们相应的阈值进行比较以检测第二事件流的事件是否是事件风暴的一部分。例如,考虑如下情况:第三阈值为4个事件,并且第四阈值为5个事件。因此,通过将在第三时间窗口354-1、354-2和354-3中接收的事件的第三数目与第三阈值进行比较,系统100可以检测到在第三时间窗口354-1、354-2和354-3中接收的第二事件流的事件分别是事件风暴的一部分。事件的第三数目与第三阈值的比较可以被称为第三比较,并且事件的第四数目与第四阈值的比较可以被称为第四比较。

类似于第一事件流和第二事件流,还可以检测其他事件流的事件中事件风暴的发生,诸如分别包括与第三事件类型230、第四事件类型232和第五事件类型234相关联的事件的第三事件流、第四事件流和第五事件流。

基于与特定事件类型相对应的阈值的事件风暴的检测使得能够准确地检测事件风暴。例如,如果和与第四事件类型232相关联的事件相比,与第五事件类型234相关联的事件消耗更多的资源,则与第四事件类型232相对应的阈值相比,可以将与第五事件类型234相对应的阈值保持在较低的值。因此,本主题甚至可以用于检测不是在短时间段内以突发事件的形式发生而是以持续和中频事件流的形式发生的事件风暴。此外,针对不同事件类型保持不同的阈值还可以防止有关事件风暴的错误警报。例如,如果和与第四事件类型232相对应的阈值相比,与第五事件类型234相对应的阈值被保持为较低的值,则确保可以接收到与第四事件类型232相关联的更多事件,而不会被检测为事件风暴的一部分。

此外,如上所述,基于多个时间窗口和多个阈值的事件风暴的检测使得能够检测否则可能未被检测到的事件风暴。例如,如果仅将第一时间窗口304和第一阈值用于检测事件风暴,则可能无法检测到第一事件流的事件是事件风暴的一部分。例如,参考图3(a),即使第一事件流的事件到达的模式使得任何第一时间窗口304中的事件的数目不超过第一阈值,若干第一时间窗口(304-2、304-3、304-4和304-5)中的事件的数目也始终较高,诸如等于第一阈值。通过提供第二时间窗口306并且通过监测第二时间窗口306中的事件的第二数目,可以检测到这样的事件风暴。

在检测到事件流的事件是事件风暴的一部分之后,系统100可以采取补救动作以防止系统100过载。这种补救动作可以包括例如抑制事件流的事件,如参考图4所解释的。

图4示出了根据本主题的示例实现的用于检测事件流的事件是否是事件风暴的一部分的方法400。方法400可以由系统100执行。

描述方法400的顺序并不旨在理解为限制,并且任何数目的所描述的方法框可以以任何顺序组合以实现方法400或备选方法。此外,方法400可以由(多个)处理器或(多个)计算设备通过任何合适的硬件、非暂态机器可读指令或其组合来实现。

可以理解,方法400的步骤可以由编程的计算设备执行,并且可以基于存储在非暂态计算机可读介质中的指令来执行。非暂态计算机可读介质可以包括例如数字存储器、磁存储介质(诸如一个或多个磁盘和磁带)、硬盘驱动器或光学可读数字数据存储介质。

参考方法400,在框402,确定由系统100在诸如第一时间窗口304等第一时间窗口中接收的诸如第一事件流等事件流的事件的第一数目。随后,在框404,可以将事件的第一数目与第一阈值进行比较,并且可以确定事件的第一数目是否大于第一阈值。如参考图3(a)所解释的,第一阈值可以是与第一时间窗口相关联的阈值。事件的第一数目与第一阈值的比较可以被称为第一比较。

如果确定事件的第一数目大于第一阈值,则在框406,系统100可以确定在第一时间窗口中接收的诸如第一事件流等事件流的事件是事件风暴的一部分。否则,如果确定事件的第一数目不大于第一阈值,则在框408,系统100可以确定在第一时间窗口中接收的事件流的事件不是事件风暴的一部分。

在框410,确定由系统100在诸如第二时间窗口306等第二时间窗口中接收的事件流的事件的第二数目。随后,在框412,可以将事件的第二数目与第二阈值进行比较,并且可以确定事件的第二数目是否大于第二阈值,该第二阈值可以是与第二时间窗口相关联的阈值。事件的第二数目与第二阈值的比较可以被称为第二比较。

如果确定事件的第二数目大于第二阈值,则在框406,系统100可以确定在第二时间窗口中接收的事件流的事件是事件风暴的一部分。否则,如果确定事件的第二数目不大于第二阈值,则在框408,系统100可以确定在第二时间窗口中接收的事件流的事件不是事件风暴的一部分。

在一个示例中,第一比较和第二比较是同时执行的,而不是顺序执行的。此外,这样的比较可以连续地(即,对于连续的时间窗口)执行。因此,如果第一比较和第二比较中的任何一个指示在时间窗口中接收的事件的数目大于相应阈值,则可以将事件流的事件检测为事件风暴的一部分。此外,可以针对每个事件流执行比较。因此,可以检测到任何事件流中的事件风暴。

在框406确定事件流的事件是事件风暴的一部分之后,在框414,系统100可以抑制事件流的事件。由系统100对事件流的事件的抑制可以包括:由系统100忽略事件流的事件,由系统100对事件流的多个事件中的单个事件采取行动,等等。对事件流的事件的抑制确保了系统100不会因事件而过载。在一个示例中,事件的抑制可以继续,直到事件风暴平息。为了确定事件风暴是否已经平息,系统100可以利用第一比较和第二比较的结果。例如,如果事件的第一数目小于第一阈值并且事件的第二数目小于第二阈值,则可以认为事件风暴已经平息,并且可以停止事件的抑制。

图5示出了根据本主题的示例实现的检测事件风暴的方法500。

描述方法500的顺序并不旨在理解为限制,并且任何数目的所描述的方法框可以以任何顺序组合以实现方法500或备选方法。此外,方法500可以由(多个)处理资源或(多个)计算设备通过任何合适的硬件、非暂态机器可读指令或其组合来实现。

可以理解,方法500的步骤可以由编程的计算设备执行,并且可以基于存储在非暂态计算机可读介质中的指令来执行。非暂态计算机可读介质可以包括例如数字存储器、磁存储介质(诸如一个或多个磁盘和磁带)、硬盘驱动器或光学可读数字数据存储介质。此外,尽管方法500可以在多种系统中实现,但是为了便于说明,关于前述系统100来描述方法500。在一个示例中,方法500可以由诸如处理器102等处理资源来执行。

在框502,接收第一时间窗口和与第一事件类型和第一时间窗口相关联的第一阈值。第一事件类型对应于第一事件属性集合,并且是多个事件类型之一。每个事件类型可以对应于由对应事件消耗的资源量。例如,每个事件类型在与它们关联的事件的资源消耗方面可以不同于另一种事件类型。第一事件类型可以是例如第一事件类型226。因此,第一事件属性集合可以包括第一类型值对212。此外,第一时间窗口可以是例如第一时间窗口304。

在框504,可以确定在第一时间窗口中接收的与第一事件类型相关联的事件的第一数目是否超过第一阈值。这样的确定可以被称为第一确定。在一个示例中,响应于事件具有第一事件属性集合的每个事件属性,事件被确定为与第一事件类型相关联。

在框506,基于第一确定,检测在第一时间窗口中接收的与第一事件类型相关联的事件是否是事件风暴的一部分。例如,如果事件的第一数目大于第一阈值,则在第一时间窗口中接收的与第一事件类型相关联的事件被确定为事件风暴的一部分。

除了第一确定和基于第一确定的事件风暴的检测,本主题可以利用附加确定来检测事件风暴。例如,方法500可以包括接收第二时间窗口和与第一事件类型相关联的第二阈值。第二时间窗口可以是例如第二时间窗口306。第二时间窗口可以大于第一时间窗口,并且可以与第一时间窗口重叠。

方法500还可以包括执行关于在第二时间窗口中接收的与第一事件类型相关联的事件的第二数目是否超过第二阈值的第二确定。基于第二确定,检测在第二时间窗口中接收的与第一事件类型相关联的事件是否是事件风暴的一部分。

方法500还可以包括执行关于在第三时间窗口中接收的与第二事件类型相关联的事件的第三数目是否超过第三阈值的第三确定。基于第三确定,检测在第三时间窗口中接收的与第二事件类型相关联的事件是否是事件风暴的一部分。在一个示例中,第三时间窗口可以不同于第一时间窗口,并且第三阈值可以不同于第一阈值。此外,在一个示例中,诸如与第一事件类型相关联的事件和与第二事件类型相关联的事件等每个事件可以从诸如数据中心等计算环境来接收。

图6示出了根据本主题的示例实现的实现用于检测事件风暴的非暂态计算机可读介质602的计算环境600。

在一个示例中,非暂态计算机可读介质602可以由诸如系统100等系统利用。系统100可以在公共联网环境或私有联网环境中实现。在一个示例中,计算环境600可以包括通过通信链路606通信地耦合到非暂态计算机可读介质602的处理资源604。

在一个示例中,处理资源604可以在诸如系统100等系统中实现。处理资源604可以是处理器102。非暂态计算机可读介质602可以是例如内部存储器设备或外部存储器设备。在一个实现中,通信链路606可以是直接通信链路,诸如任何存储器读/写接口。在另一实现中,通信链路606可以是间接通信链路,诸如网络接口。在这种情况下,处理资源604可以通过网络608访问非暂态计算机可读介质602。网络608可以是单个网络或多个网络的组合,并且可以使用各种不同的通信协议。

处理资源604和非暂态计算机可读介质602还可以通过网络608通信地耦合到计算环境610。计算环境可以是例如计算环境202。

在一个示例实现中,非暂态计算机可读介质602包括用于检测事件风暴的一组计算机可读指令。该组计算机可读指令可以由处理资源604通过通信链路606来访问,并且随后被执行以执行用于检测事件风暴的动作。

参考图6,在一个示例中,非暂态计算机可读介质602包括指令612,指令612引起处理资源604在第一时间窗口中接收的多个事件中确定与第一事件类型关联的事件的第一数目。第一事件类型可以是多个事件类型之一,并且该确定可以基于每个事件的事件属性并且基于与第一事件类型相对应的第一事件属性集合来执行。例如,响应于事件具有第一事件属性集合中的每个事件属性,事件可以被确定为与第一事件类型相关联。在一个示例中,每个事件类型对应于由与该事件类型相关联的事件消耗的资源量。第一事件类型可以是例如第一事件类型226。

非暂态计算机可读介质602包括指令614,指令614引起处理资源604基于事件的第一数目和与第一事件类型相关联的第一阈值来检测在第一时间窗口中接收的与第一事件类型相关联的事件是否是事件风暴的一部分。例如,如果事件的第一数目超过第一阈值,则可以将在第一时间窗口中接收的与第一事件类型相关联的事件确定为事件风暴的一部分。

在一个示例中,非暂态计算机可读介质602包括用于在第二时间窗口中接收的多个事件中确定与第一事件类型相关联的事件的第二数目的指令。第二时间窗口大于第一时间窗口并且与第一时间窗口重叠。例如,第一时间窗口可以是第一时间窗口304,并且第二时间窗口可以是第二时间窗口306。基于事件的第二数目和与第一事件类型相关联的第二阈值,可以检测在第二时间窗口中接收的与第一事件类型关联的事件是否是事件风暴的一部分。

在一个示例中,多个事件类型包括第二事件类型,第二事件类型可以具有与其自身相关联的第三时间窗口、第四时间窗口、第三阈值和第四阈值。第四时间窗口可以大于第三时间窗口并且可以与第三时间窗口重叠。第三时间窗口、第四时间窗口、第三阈值和第四阈值可以分别不同于第一时间窗口、第二时间窗口、第一阈值和第二阈值。

本主题将事件分类为不同的事件类型,每个事件类型对应于特定资源消耗量或范围,从而使得能够确定由于所接收的事件而导致的资源消耗。此外,通过提供与每个事件类型相对应的阈值事件数目,可以提高对消耗大量资源的事件的敏感性。更进一步,本主题可以用于检测涉及以相对较小的频率生成但是消耗相对大量资源的事件的事件风暴。

本主题的技术没有利用模式匹配技术来检测事件风暴,并且可以仅通过配置各种时间窗口和相关联的阈值来实现。因此,本主题易于实现,并且可以在生产环境中以很少的开销来实现。

尽管已经以特定于结构特征和/或方法的语言描述了事件风暴的检测的实现,但是应当理解,本主题不必限于所描述的特定特征或方法。相反,具体特征和方法被公开和解释作为示例实现。


技术特征:

1.一种系统,包括:

处理器;以及

机器可读存储介质,包括指令,所述指令由所述处理器可执行以:

基于在第一时间窗口中接收的每个事件的事件属性,确定在所述第一时间窗口中接收的与第一事件类型相关联的事件的第一数目,其中所述第一事件类型是多个事件类型之一,并且其中所述多个事件类型中的每个事件类型对应于由与所述事件类型相关联的事件消耗的资源量;以及

基于所述事件的第一数目与第一阈值之间的比较,检测在所述第一时间窗口中接收的与所述第一事件类型相关联的事件是否是事件风暴的一部分,所述第一阈值与所述第一事件类型和所述第一时间窗口相关联。

2.根据权利要求1所述的系统,其中所述指令由所述处理器可执行以:

基于在第二时间窗口中接收的每个事件的事件属性,确定在所述第二时间窗口中接收的与所述第一事件类型相关联的事件的第二数目;以及

基于所述事件的第二数目与第二阈值之间的比较,检测在所述第二时间窗口中接收的与所述第一事件类型相关联的事件是否是事件风暴的一部分,所述第二阈值与所述第一事件类型和所述第二时间窗口相关联。

3.根据权利要求2所述的系统,其中所述第二时间窗口大于所述第一时间窗口并且与所述第一时间窗口重叠。

4.根据权利要求1所述的系统,其中所述指令由所述处理器可执行以:

基于在第三时间窗口中接收的每个事件的事件属性,确定在所述第三时间窗口中接收的与第二事件类型相关联的事件的第三数目;以及

基于所述事件的第三数目与第三阈值之间的比较,检测在所述第三时间窗口中接收的与所述第二事件类型相关联的事件是否是事件风暴的一部分,其中

与所述第二事件类型相关联的事件的资源消耗不同于与所述第一事件类型相关联的事件的资源消耗,

所述第三阈值与所述第二事件类型和所述第三时间窗口相关联,

所述第三时间窗口不同于所述第一时间窗口,以及

所述第三阈值不同于所述第一阈值。

5.根据权利要求1所述的系统,其中所述第一事件类型对应于第一事件属性,并且所述指令由所述处理器可执行以响应于所述事件具有所述第一事件属性而确定所述事件与所述第一事件类型相关联。

6.根据权利要求5所述的系统,其中

所述第一事件属性包括第一事件属性类型和所述第一事件属性类型的第一事件属性值的配对,其中所述第一事件属性值是所述第一事件属性类型的多个可能值之一;以及

所述指令由所述处理器可执行以:如果对于所述事件,所述第一事件属性类型的值是所述第一事件属性值,则确定所述事件具有所述第一事件属性。

7.根据权利要求6所述的系统,其中所述第一事件属性类型是以下之一:

事件源自于的设备,其中所述设备的所述多个可能值包括第一服务器和第一交换机,

所述事件所涉及的所述设备的组件,其中所述设备的所述组件的所述多个可能值包括所述第一服务器的基板管理控制器(bmc)和所述第一交换机的第一端口,以及

所述事件的事件重要性,其中所述事件重要性的所述多个可能值包括信息和生命周期。

8.根据权利要求1所述的系统,其中响应于检测到在所述第一时间窗口中接收的与所述第一事件类型相关联的所述事件是事件风暴的一部分,所述指令由所述处理器可执行以抑制所述第一数目的事件中的每个事件。

9.根据权利要求1所述的系统,其中每个事件与计算环境相关联。

10.根据权利要求1所述的系统,其中由每个事件消耗的资源是处理器资源和存储器资源之一。

11.一种方法,包括:

由处理资源接收第一时间窗口和与第一事件类型和所述第一时间窗口相关联的第一阈值,其中所述第一事件类型对应于第一事件属性集合,其中所述第一事件类型是多个事件类型之一,并且其中每个事件类型对应于由与所述事件类型相关联的事件消耗的资源量;

由所述处理资源执行关于在所述第一时间窗口中接收的与所述第一事件类型相关联的事件的第一数目是否超过所述第一阈值的第一确定,其中响应于事件具有所述第一事件属性集合中的每个事件属性,所述事件被确定为与所述第一事件类型相关联;以及

由所述处理资源基于所述第一确定来检测在所述第一时间窗口中接收的与所述第一事件类型相关联的事件是否是事件风暴的一部分。

12.根据权利要求11所述的方法,包括:

接收第二时间窗口和与所述第一事件类型相关联的第二阈值;

执行关于在所述第二时间窗口中接收的与所述第一事件类型相关联的事件的第二数目是否超过所述第二阈值的第二确定;以及

基于所述第二确定,检测在所述第二时间窗口中接收的与所述第一事件类型相关联的事件是否是事件风暴的一部分。

13.根据权利要求12所述的方法,其中所述第二时间窗口大于所述第一时间窗口并且与所述第一时间窗口重叠。

14.根据权利要求11所述的方法,包括:

接收第三时间窗口和与所述第二事件类型相关联的第三阈值;

执行关于在所述第三时间窗口中接收的与所述第二事件类型相关联的事件的第三数目是否超过所述第三阈值的第三确定;以及

基于所述第三确定,检测在所述第三时间窗口中接收的与所述第二事件类型相关联的事件是否是事件风暴的一部分,其中

与所述第二事件类型相关联的事件的资源消耗不同于与所述第一事件类型相关联的事件的资源消耗,

所述第三阈值与所述第二事件类型和所述第三时间窗口相关联,

所述第三时间窗口不同于所述第一时间窗口,以及

所述第三阈值不同于所述第一阈值。

15.根据权利要求11所述的方法,其中每个事件是从数据中心接收的。

16.一种非暂态计算机可读介质,包括用于检测事件风暴的指令,所述指令由处理资源可执行以:

基于每个事件的事件属性并且基于与第一事件类型相关联的第一事件属性集合,在第一时间窗口中接收的多个事件中确定与多个事件类型中的第一事件类型相关联的事件的第一数目,其中每个事件类型对应于由与所述事件类型相关联的事件消耗的资源量;以及

基于所述事件的第一数目和与所述第一事件类型相关联的第一阈值,检测在所述第一时间窗口中接收的与所述第一事件类型相关联的事件是否是事件风暴的一部分。

17.根据权利要求16所述的非暂态计算机可读介质,其中所述指令由所述处理资源可执行以:

在大于所述第一时间窗口并且与所述第一时间窗口重叠的第二时间窗口中接收的多个事件中确定与所述第一事件类型相关联的事件的第二数目;以及

基于所述事件的第二数目和与所述第一事件类型相关联的第二阈值,检测在所述第二时间窗口中接收的与所述第一事件类型相关联的事件是否是事件风暴的一部分。

18.根据权利要求16所述的非暂态计算机可读介质,其中所述指令由所述处理资源可执行以响应于事件具有所述第一事件属性集合中的每个事件属性而确定所述事件与所述第一事件类型相关联。

19.根据权利要求16所述的非暂态计算机可读介质,其中

所述多个事件类型包括第二事件类型,

与所述第二事件类型相关联的事件的资源消耗不同于与所述第一事件类型相关联的事件的资源消耗,

所述第一时间窗口、所述第二时间窗口、所述第一阈值和所述第二阈值分别不同于与所述第二事件类型相关联的第三时间窗口、第四时间窗口、第三阈值和第四阈值。

20.根据权利要求19所述的非暂态计算机可读介质,其中所述第二时间窗口大于所述第一时间窗口并且与所述第一时间窗口重叠,并且其中所述第四时间窗口大于所述第三时间窗口并且与所述第三时间窗口重叠。

技术总结
在一个示例中,将在第一时间窗口中接收的与第一事件类型相关联的事件的第一数目与第一阈值进行比较。第一事件类型是多个事件类型之一,并且每个事件类型对应于由与该事件类型相关联的事件消耗的资源量。基于事件的第一数目和第一阈值,检测在第一时间窗口中接收的与第一事件类型相关联的事件是否是事件风暴的一部分。

技术研发人员:N·凯德拉亚;M·K·本迪加纳瓦尔
受保护的技术使用者:慧与发展有限责任合伙企业
技术研发日:2019.11.29
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-27066.html

最新回复(0)