首页 / 专利库 / 人工智能 / 莱文斯坦距离 / 聚合事件消息的方法、应用及系统

聚合事件消息的方法、应用及系统

阅读:686发布:2020-05-29

专利汇可以提供聚合事件消息的方法、应用及系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了聚合事件消息的方法、应用和系统。其中,聚合事件消息的应用适于驻留在聚合 服务器 中。该应用包括消息获取单元、消息合并单元和消息聚合单元。消息获取单元适于获取由至少一个性能监控设备对至少一个计算设备进行监控而生成的多条原始事件消息。消息合并单元适于根据第二标识和第三标识对多条原始事件消息进行分组,并分别将每组第二标识和第三标识相同的原始事件消息合并为一条合并事件消息。消息聚合单元适于根据合并事件消息的相似度执行聚类操作,分别将每类相似度超过 阈值 的合并事件消息聚合为一簇事件消息。,下面是聚合事件消息的方法、应用及系统专利的具体信息内容。

1.一种聚合事件消息的方法,适于在聚合服务器中执行,该方法包括:
获取由至少一个性能监控设备对至少一个计算设备进行监控而生成的多条原始事件消息,其中每条原始事件消息包括所对应的性能监控设备的第一标识、标识触发该事件的计算设备的第二标识、标识该事件的第三标识、标识这条原始事件消息所对应的计算设备所处集群的第四标识和该事件所对应的触发时间点;
根据第二标识和第三标识对所述多条原始事件消息进行分组,并分别将每组第二标识和第三标识相同的原始事件消息合并为一条合并事件消息,每条合并事件消息还包括其所对应的一组原始事件消息的所有触发时间点所处的触发时间段;
分别计算所述合并事件消息中两两之间相似度,包括:
对所述合并事件消息中任意两条合并事件消息,
计算这两条合并事件消息之间的时间段相似度;
计算这两条合并事件消息之间的第二标识的相似度;
计算这两条合并事件消息之间的第四标识的相似度;
将这两条合并事件消息的时间段相似度、第二标识的相似度和第四标识的相似度的权重平均值作为这两条合并事件消息的相似度;
将两两之间相似度的平均值超过阈值的一组合并事件消息聚合为一簇事件消息。
2.如权利要求1所述的方法,其中,所述获取由至少一个性能监控设备对至少一个计算设备进行监控而生成的多条原始事件消息的步骤包括下述中任一种:
接收驻留在每个性能监控设备中的事件采集应用所采集并传输的原始事件消息;和接收所述至少一个性能监控设备中每一个所发送的原始事件消息。
3.如权利要求1或2所述的方法,还包括:
继续获取来自所述至少一个性能监控设备的一条原始事件消息,
计算本次获取的原始事件消息与每簇事件消息的相似度,并将该原始事件消息聚合到与其相似度最高且超过所述阈值的一簇事件消息中。
4.如权利要求1所述的方法,其中,所述计算这两条合并事件消息之间的时间段相似度的步骤包括:
其中,sim1(X1,X2)为合并事件消息X1与X2的时间段相似度,ts(X1)表示X1的触发时间段的开始时间点,ts(X2)表示X2的触发时间段的开始时间点,te(X1)表示X1的触发时间段的结束时间点,te(X2)表示X2的触发时间段的结束时间点,T为时间阈值。
5.如权利要求1所述的方法,其中,所述计算这两条合并事件消息之间的第二标识的相似度的步骤包括:
sim2(X1,X2)=(SUM-LDIST)/SUM
其中,sim2(X1,X2)为合并消息X1和X2之间的第二标识的相似度,SUM为X1和X2的字符串的长度总和,LDIST为X1和X2之间的第二标识的莱文斯坦距离
6.如权利要求1所述的方法,其中,所述计算这两条合并事件消息之间的第四标识的相似度的步骤包括:
sim3(X1,X2)=len(X1∩X2)/max(len(X1),len(X2))
其中,sim3(X1,X2)为X1和X2之间的第四标识的相似度,len(X1∩X2)为X1和X2之间字符串交集的长度。
7.如权利要求1所述的方法,其中,所述时间段相似度、第二标识的相似度和第四标识的相似度的权重相同,所述将这两条合并事件消息的时间段相似度、第二标识的相似度和第四标识的相似度的权重平均值作为这两条合并事件消息的相似度的步骤包括:
其中,sim(X1,X2)为合并事件消息X1和X2之间的相似度,sim1(X1,X2)为X1和X2之间的时间段相似度,sim2(X1,X2)为X1和X2之间的第二标识的相似度,sim3(X1,X2)为X1和X2之间的第四标识的相似度。
8.如权利要求3所述的方法,其中所述计算本次获取的原始事件消息与每簇事件消息的相似度的步骤包括:
计算本次获取的原始事件消息与这簇事件消息中每一个的相似度,并将与这簇事件消息中每一个的相似度的平均值作为该原始事件消息与这簇事件消息的相似度。
9.一种聚合事件消息的应用,适于驻留在聚合服务器中,该应用包括:
消息获取单元,适于获取由至少一个性能监控设备对至少一个计算设备进行监控而生成的多条原始事件消息,其中每条原始事件消息包括所对应的性能监控设备的第一标识、标识触发该事件的计算设备的第二标识、标识该事件的第三标识、标识这条原始事件消息所对应的计算设备所处集群的第四标识和该事件所对应的触发时间点;
消息合并单元,适于根据第二标识和第三标识对所述多条原始事件消息进行分组,并分别将每组第二标识和第三标识相同的原始事件消息合并为一条合并事件消息,每条合并事件消息还包括其所对应的一组原始事件消息的所有触发时间点所处的触发时间段;以及消息聚合单元,适于通过下述方式以根据合并事件消息的相似度执行聚类操作,分别将每类相似度超过阈值的合并事件消息聚合为一簇事件消息:
分别计算所述合并事件消息中两两之间相似度,包括:
对所述合并事件消息中任意两条合并事件消息,
计算这两条合并事件消息之间的时间段相似度;
计算这两条合并事件消息之间的第二标识的相似度;
计算这两条合并事件消息之间的第四标识的相似度;
将这两条合并事件消息的时间段相似度、第二标识的相似度和第四标识的相似度的权重平均值作为这两条合并事件消息的相似度;
将两两之间相似度的平均值超过阈值的一组合并事件消息聚合为一簇事件消息。
10.如权利要求9所述的应用,其中,所述消息获取单元适于根据下述中任一种方式来获取由至少一个性能监控设备对至少一个计算设备进行监控而生成的多条原始事件消息:
接收驻留在每个性能监控设备中的事件采集应用所采集并传输的原始事件消息;和接收所述至少一个性能监控设备中每一个所发送的原始事件消息。
11.如权利要求9或10所述的应用,其中,所述消息获取单元还适于继续获取来自至少一个性能监控设备的一条原始事件消息;
所述消息聚合单元还适于计算本次获取的原始事件消息与每簇事件消息的相似度,并将该原始事件消息聚合到与其相似度最高且超过所述阈值的一簇事件消息中。
12.如权利要求9所述的应用,其中,所述消息聚合单元适于根据下述方式计算这两条合并事件消息之间的时间段相似度:
其中,sim1(X1,X2)为合并事件消息X1与X2的时间段相似度,ts(X1)表示X1的触发时间段的开始时间点,ts(X2)表示X2的触发时间段的开始时间点,te(X1)表示X1的触发时间段的结束时间点,te(X2)表示X2的触发时间段的结束时间点,T为时间阈值。
13.如权利要求9所述的应用,其中,所述消息聚合单元适于根据下述方式计算这两条合并事件消息之间的第二标识的相似度:
sim2(X1,X2)=(SUM-LDIST)/SUM
其中,sim2(X1,X2)为合并消息X1和X2之间的第二标识的相似度,SUM为X1和X2的字符串的长度总和,LDIST为X1和X2之间的第二标识的莱文斯坦距离。
14.如权利要求9所述的应用,其中,所述消息聚合单元适于根据下述方式计算这两条合并事件消息之间的第四标识的相似度:
sim3(X1,X2)=len(X1∩X2)/max(len(X1),len(X2))
其中,sim3(X1,X2)为X1和X2之间的第四标识的相似度,len(X1∩X2)为X1和X2之间字符串交集的长度。
15.如权利要求9所述的应用,其中,所述时间段相似度、第二标识的相似度和第四标识的相似度的权重相同,所述消息聚合单元适于根据下述公式计算这两条合并事件消息的相似度:
其中,sim(X1,X2)为合并事件消息X1和X2之间的相似度,sim1(X1,X2)为X1和X2之间的时间段相似度,sim2(X1,X2)为X1和X2之间的第二标识的相似度,sim3(X1,X2)为X1和X2之间的第四标识的相似度。
16.如权利要求11所述的应用,其中,所述消息聚合单元适于根据下述方式计算本次获取的原始事件消息与每簇事件消息的相似度:
计算本次获取的原始事件消息与这簇事件消息中每一个的相似度,并将与这簇事件消息中每一个的相似度的平均值作为该原始事件消息与这簇事件消息的相似度。
17.一种聚合事件消息的系统,包括:
至少一个性能监控设备,每个性能监控设备适于对至少一个计算设备进行监控并而生成原始事件消息;以及
聚合服务器,驻留有如权利要求9-16中任一项所述的聚合事件消息的应用。

说明书全文

聚合事件消息的方法、应用及系统

技术领域

[0001] 本发明涉及互联网领域,尤其涉及聚合事件消息的方法、应用及系统。

背景技术

[0002] 随着互联网的发展,IT技术已应用到多个领域。ITOM(IT Operation Mangement,IT运营管理)已成为IT设备管理的重要环节。IT运营管理例如可以包括监控和告警。在面对大量的运维工作时,ITOM通常会采用诸如zabbix、nagios等监控工具。
[0003] 现有的这些监控工具通常基于单次监控内容(服务或指标)而产生告警。例如,告警和通知之间基本上是1对1的关系。具体而言,监控工具基于阈值线等,在触发一个原始告警事件时进行一次通知,容易引发告警暴。大量的原始告警事件会产生干扰,消耗运维人员精,可能引发狼来了的疲劳效应。
[0004] 因此,缺少一种降低大量告警消息冗余度的方案。

发明内容

[0005] 为此,本发明提供一种新的聚合事件消息的技术方案,有效的解决了上述至少一个问题。
[0006] 根据本发明的一个方面,提供了一种聚合事件消息的方法,适于在聚合服务器中执行。该方法包括如下步骤。获取由至少一个性能监控设备对至少一个计算设备进行监控而生成的多条原始事件消息。其中,每条原始事件消息包括所对应的性能监控设备的第一标识、标识触发该事件的计算设备的第二标识、标识该事件的第三标识和该事件所对应的触发时间点。根据第二标识和第三标识对多条原始事件消息进行分组,并分别将每组第二标识和第三标识相同的原始事件消息合并为一条合并事件消息。每条合并事件消息还包括其所对应的一组原始事件消息的所有触发时间点所处的触发时间段。根据合并事件消息的相似度执行聚类操作,分别将每类相似度超过阈值的合并事件消息聚合为一簇事件消息。
[0007] 可选地,在根据本发明聚合事件消息的方法中,获取由至少一个性能监控设备对至少一个计算设备进行监控而生成的多条原始事件消息的步骤包括下述中任一种:接收驻留在每个性能监控设备中的事件采集应用所采集并传输的原始事件消息;接收所述至少一个性能监控系统中每一个所发送的原始事件消息。
[0008] 可选地,根据本发明聚合事件消息的方法还包括,继续获取来自所述至少一个性能监控设备的一条原始事件消息。以及,计算本次获取的原始事件消息与每簇事件消息的相似度,并将该原始事件消息聚合到与其相似度最高且超过阈值的一簇事件消息中。
[0009] 可选地,在根据本发明聚合事件消息的方法中,根据合并事件消息的相似度执行聚类操作,分别将每类相似度超过阈值的合并事件消息聚合为一簇事件消息的步骤包括:分别计算所述合并事件消息中两两之间相似度;将两两之间相似度的平均值超过阈值的一组合并事件消息聚合为一簇事件消息。
[0010] 可选地,在根据本发明聚合事件消息的方法中,每条原始事件消息还包括标识这条原始事件消息所对应的计算设备所处集群的第四标识。分别计算所述合并事件消息中两两之间相似度的步骤包括:对所述合并事件消息中任意两条合并事件消息,计算这两条合并事件消息之间的时间段相似度。计算这两条合并事件消息之间的第二标识的相似度。计算这两条合并事件消息之间的第四标识的相似度。将这两条合并事件消息的时间段相似度、第二标识的相似度和第四标识的相似度的权重平均值作为这两条合并事件消息的相似度。
[0011] 可选地,在根据本发明聚合事件消息的方法中,计算这两条合并事件消息之间的时间段相似度的步骤包括:
[0012]
[0013] 其中,sim1(X1,X2)为合并事件消息X1与X2的时间段相似度,ts(X1)表示X1的触发时间段的开始时间点,ts(X2)表示X2的触发时间段的开始时间点,te(X1)表示X1的触发时间段的结束时间点,te(X2)表示X2的触发时间段的结束时间点,T为时间阈值。
[0014] 可选地,在根据本发明聚合事件消息的方法中,计算这两条合并事件消息之间的第二标识的相似度的步骤包括:sim2(X1,X2)=(SUM-LDIST)/SUM其中,sim2(X1,X2)为合并消息X1和X2之间的第二标识的相似度,SUM为X1和X2的字符串的长度总和,LDIST为X1和X2之间的第二标识的莱文斯坦距离
[0015] 可选地,在根据本发明聚合事件消息的方法中,计算这两条合并事件消息之间的第四标识的相似度的步骤包括:
[0016] sim3(X1,X2)=len(X1∩X2)/max(len(X1),len(X2))其中,sim3(X1,X2)为X1和X2之间的第四标识的相似度,len(X1∩X2)为X1和X2之间字符串交集的长度。
[0017] 可选地,在根据本发明聚合事件消息的方法中,时间段相似度、第二标识的相似度和第四标识的相似度的权重相同。将这两条合并事件消息的时间段相似度、第二标识的相似度和第四标识的相似度的权重平均值作为这两条合并事件消息的相似度的步骤包括:
[0018]
[0019] 其中,sim(X1,X2)为合并事件消息X1和X2之间的相似度,sim1(X1,X2)为X1和X2之间的时间段相似度,sim2(X1,X2)为X1和X2之间的第二标识的相似度,sim3(X1,X2)为X1和X2之间的第四标识的相似度。
[0020] 可选地,在根据本发明聚合事件消息的方法中,计算本次获取的原始事件消息与每簇事件消息的相似度的步骤包括:计算本次获取的原始事件消息与这簇事件消息中每一个的相似度,并将与这簇事件消息中每一个的相似度的平均值作为该原始事件消息与这簇事件消息的相似度。
[0021] 根据本发明又一个方面,提供一种聚合事件消息的应用,适于驻留在聚合服务器中。该应用包括消息获取单元、消息合并单元和消息聚合单元。消息获取单元适于获取由至少一个性能监控设备对至少一个计算设备进行监控而生成的多条原始事件消息。其中,每条原始事件消息包括所对应的性能监控设备的第一标识、标识触发该事件的计算设备的第二标识、标识该事件的第三标识和该事件所对应的触发时间点。消息合并单元适于根据第二标识和第三标识对多条原始事件消息进行分组,并分别将每组第二标识和第三标识相同的原始事件消息合并为一条合并事件消息。每条合并事件消息还包括其所对应的一组原始事件消息的所有触发时间点所处的触发时间段。消息聚合单元适于根据合并事件消息的相似度执行聚类操作,分别将每类相似度超过阈值的合并事件消息聚合为一簇事件消息。
[0022] 可选地,在根据本发明的聚合事件消息的应用中,消息获取单元适于根据下述中任一种方式来获取由至少一个性能监控设备对至少一个计算设备进行监控而生成的多条原始事件消息:接收驻留在每个性能监控设备中的事件采集应用所采集并传输的原始事件消息;接收至少一个性能监控系统中每一个所发送的原始事件消息。
[0023] 可选地,在根据本发明的聚合事件消息的应用中,消息获取单元还适于继续获取来自至少一个性能监控设备的一条原始事件消息。消息聚合单元还适于计算本次获取的原始事件消息与每簇事件消息的相似度,并将该原始事件消息聚合到与其相似度最高且超过阈值的一簇事件消息中。
[0024] 可选地,在根据本发明的聚合事件消息的应用中,消息聚合单元适于通过下述方式以根据合并事件消息的相似度执行聚类操作,分别将每类相似度超过阈值的合并事件消息聚合为一簇事件消息:分别计算所述合并事件消息中两两之间相似度。将两两之间相似度的平均值超过所述阈值的合并事件消息聚合为一簇事件消息。
[0025] 可选地,在根据本发明的聚合事件消息的应用中,每条原始事件消息还包括标识这条原始事件消息所对应的计算设备所处集群的第四标识。消息聚合单元适于根据下述方式分别计算所述合并事件消息中两两之间相似度。对所述合并事件消息中任意两条合并事件消息,计算这两条合并事件消息之间的时间段相似度。计算这两条合并事件消息之间的第二标识的相似度。计算这两条合并事件消息之间的第四标识的相似度。将这两条合并事件消息的时间段相似度、第二标识的相似度和第四标识的相似度的权重平均值作为这两条合并事件消息的相似度。
[0026] 可选地,在根据本发明的聚合事件消息的应用中,消息聚合单元适于根据下述方式计算这两条合并事件消息之间的时间段相似度:
[0027]
[0028] 其中,sim1(X1,X2)为合并事件消息X1与X2的时间段相似度,ts(X1)表示X1的触发时间段的开始时间点,ts(X2)表示X2的触发时间段的开始时间点,te(X1)表示X1的触发时间段的结束时间点,te(X2)表示X2的触发时间段的结束时间点,T为时间阈值。
[0029] 可选地,在根据本发明的聚合事件消息的应用中,消息聚合单元适于根据下述方式计算这两条合并事件消息之间的第二标识的相似度:
[0030] sim2(X1,X2)=(SUM-LDIST)/SUM
[0031] 其中,sim2(X1,X2)为合并消息X1和X2之间的第二标识的相似度,SUM为X1和X2的字符串的长度总和,LDIST为X1和X2之间的第二标识的莱文斯坦距离。
[0032] 可选地,在根据本发明的聚合事件消息的应用中,消息聚合单元适于根据下述方式计算这两条合并事件消息之间的第四标识的相似度:
[0033] sim3(X1,X2)=len(X1∩X2)/max(len(X1),len(X2))
[0034] 其中,sim3(X1,X2)为X1和X2之间的第四标识的相似度,len(X1∩X2)为X1和X2之间字符串交集的长度。
[0035] 可选地,在根据本发明的聚合事件消息的应用中,时间段相似度、第二标识的相似度和第四标识的相似度的权重相同。消息聚合单元适于根据下述公式计算这两条合并事件消息的相似度:
[0036]
[0037] 其中,sim(X1,X2)为合并事件消息X1和X2之间的相似度,sim1(X1,X2)为X1和X2之间的时间段相似度,sim2(X1,X2)为X1和X2之间的第二标识的相似度,sim3(X1,X2)为X1和X2之间的第四标识的相似度。
[0038] 可选地,在根据本发明的聚合事件消息的应用中,消息聚合单元适于根据下述方式计算本次获取的原始事件消息与每簇事件消息的相似度:计算本次获取的原始事件消息与这簇事件消息中每一个的相似度,并将与这簇事件消息中每一个的相似度的平均值作为该原始事件消息与这簇事件消息的相似度。
[0039] 根据本发明又一个方面,提供一种聚合事件消息的系统,包括至少一个性能监控设备和聚合服务器。每个性能监控设备适于对至少一个计算设备进行监控并而生成原始事件消息。聚合服务器驻留有根据本发明的聚合事件消息的应用。
[0040] 根据本发明的聚合事件消息的方案,可以获取一个或多个性能监控设备(例如,zabbix或nagios等)的多条原始事件消息(例如针对集群中每个节点的原始告警消息)。这样,本发明的方案可以将现有的大量分散在不同性能监控设备的原始事件消息进行汇集。另外,本发明的方案通过对大量的原始事件消息进行聚合,实现了对原始事件消息的压缩,并且对事件消息建立;了精准关联。这样,本发明的方案可以极大节省运维人员的精力,提高解决事件消息对应的设备故障的效率。
附图说明
[0041] 为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
[0042] 图1示出了根据本发明一些实施例的聚合事件消息的系统100的示意图;
[0043] 图2示出了根据本发明的一些实施例的聚合事件消息的应用200的示意图;
[0044] 图3示出了根据本发明一个实施例的多簇事件消息的显示界面;以及
[0045] 图4示出了根据本发明一些实施例的聚合事件消息的方法400的流程图

具体实施方式

[0046] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0047] 图1示出了根据本发明一些实施例的聚合事件消息的系统100的示意图。
[0048] 如图1所示,系统100包括性能监控设备110-1、...、110-N和聚合服务器120。每个性能监控设备(110-N)是指驻留有例如zabbix、nagios、阿里或者solarwinds等监控工具的平台,但不限于此。通常,性能监控设备适于对计算设备进行性能监控。这里,计算设备可以是单个物理实体的计算装置,例如应用服务器数据库服务器或者超算中心节点等。计算设备也可以是分布式集群。换言之,计算设备可以包括多个分布式布置的服务节点或者数据库节点等。取决于期望的配置,性能监控设备可以对计算设备中内存占用、CPU占用、磁盘占用、网络数据吞吐、业务应用等各种性能数据进行监控。
[0049] 聚合服务器120既可以是单个物理实体,也可以是分布式应用,本发明对此不作过多限制。聚合服务器120可以与一个或者多个性能监控设备进行直接或间接通信,以从每个性能监控设备获取与监控相关的原始事件消息。通常原始事件消息可以是针对计算设备故障的告警事件消息,但不限于此。针对不同的性能监控设备,聚合服务器120可以采用多种方式来获取原始事件消息。
[0050] 在根据本发明一个实施例中,性能监控设备可以驻留一个事件采集应用,例如采集探针(agent)。采集探针可以从性能监控设备中驻留的监控工具获取原始事件消息。具体而言,采集探针可以被配置为定时(例如,周期为1分钟,但不限于此)访问监控工具,通过监控工具的公开API、数据文件或者相关数据库来获取事件消息。另外,采集探针还可以被配置为监听监控工具的通知消息。采集探针可以通过SNMP Trap(简单网络协议捕获)等监听方式来获取事件消息。
[0051] 在根据本发明又一个实施例中,性能监控设备的监控工具(例如Open-Falcon等)可以被配置为直接与告警服务器进行通信,并传输所生成的原始事件消息。又例如,性能监控设备可以将与其监控的计算设备相关的事件消息发布到一个消息队列(例如存储在一个分布式数据库)中。聚合服务器120可以从这个消息队列获取来自这个性能监控设备的原始事件消息。需要说明的是,除了上述对获取事件消息的示例性说明,根据本发明的实施例也可以采用其他公知的方式从一个或多个性能监控设备(也可以称为监控系统)获取原始事件消息,本发明对比不做过多限制。
[0052] 如上所述,根据本发明的聚合服务器120可以获取一个或多个性能监控设备的原始事件消息。在此基础上,本发明的聚合服务器120可以进一步对来自同一个性能监控设备的多条原始事件消息或者来自不同性能监控设备的多条原始事件消息进行聚合。
[0053] 下面将结合图2对聚合服务器120的聚合实现过程进行说明。
[0054] 图2示出了根据本发明的一些实施例的聚合事件消息的应用200的示意图。应用200适于驻留在聚合服务器(120)中。应用200包括消息获取单元210、消息合并单元220和消息聚合单元230。
[0055] 消息获取单元210适于获取由至少一个性能监控设备对至少一个计算设备进行监控而生成的多条原始事件消息。消息获取单元210获取原始事件消息的具体方式与图1说明中聚合服务器120的方式一致,这里不再赘述。每条原始事件消息可以包括所对应的性能监控设备的第一标识、标识触发该事件的计算设备的第二标识、标识该事件的第三标识和该事件所对应的触发时间点。但不限于此,原始事件消息还可以包括更多的信息内容。这里,第三标识可以是与事件内容(例如,故障类型标识和故障简述等)相关的标识。可选地,每条原始事件消息还包括标识所对应的计算设备所在的集群的第四标识。这里,计算设备所在的集群是该计算设备所在的网络分组。在根据本发明一个实施例中,原始事件消息的数据格式如下:
[0056]
[0057]
[0058] 关于上述数据格式的参数项说明如下:
[0059]
[0060]
[0061] 在采用上述数据格式的一个实施例中,第一标识为“app”,第二标识为“entityName”,第三标识为“eventId”,触发时间点(上述格式未示出)例如为性能监控设备监测到计算设备发生异常的时间点。
[0062] 在根据本发明一个实施例中,消息合并单元220适于根据第二标识和第三标识对多条原始事件消息进行分组。消息合并单元220分别将每组第二标识和第三标识相同的原始事件消息合并为一条合并事件消息。每条合并事件消息还包括其所对应的一组原始事件消息的所有触发时间点所处的触发时间段。每条合并事件消息可以通过开始和结束时间来表示触发时间段。另外,每条合并事件消息还可以包括所合并的原始事件消息的数量。除了根据第二、第三标识进行合并以外,根据本发明的实施例也可以基于原始事件消息其他的属性值来分组并合并为一条合并事件消息,本发明对此不做过多限制。根据本发明一个实施例,所生成的合并事件消息的部分属性值的数据示例如下:
[0063] 开始时间点结束时间点第四标识第二标识
[0064] [1460344041,1460344281,'product,mysql','mysql1'],
[0065] [1460344061,1460344301,'product,mysql','mysql5'],
[0066] [1460344081,1460344141,'main,class','test1'],
[0067] [1460344401,1460344521,'it,app','web1'],
[0068] [1460345841,1460347041,'it,app,product','web2'],
[0069] [1460350041,1460350641,'it,app,product','web3'],
[0070] [1460344066,1460345866,'product,mysql','mysql3'],
[0071] [1460354841,1460355561,'ct,nagiosmonitor','nagios1'],
[0072] [1460347641,1460348541,'saas,zabbixmonitor','zabbix1'],
[0073] [1460351241,1460352321,'paas,cluster','redis1']
[0074] 消息聚合单元230适于根据合并事件消息的相似度执行聚类操作,并分别将每类相似度超过阈值的合并事件消息聚合为一簇事件消息。具体而言,根据本发明一个实施例,消息聚合单元230首先计算所生成的合并事件消息两两之间的相似度。然后,消息聚合单元230将两两之间相似度的平均值超过阈值的合并事件消息聚合为一簇事件消息。这里,阈值例如为0.5。另外,消息聚合单元230也可以选择其他公知的聚类方式来实现对合并事件消息的聚类,本发明对此不做过多限制。
[0075] 下面对任意两条合并事件消息之间相似性的方式进行示例性说明。消息聚合单元230可以选定合并事件消息的属性参数项,并根据所选定的属性参数项对合并事件消息进行相似度计算。在根据本发明一个实施例中,聚合单元230选定的属性参数项包括触发时间段、第二和第四标识。消息聚合单元230可以先计算各属性参数项的相似度,然后计算各个属性参数项的相似度平均值。这样,消息聚合单元230可以将该相似度权重平均值作为这两条合并事件消息之间的相似度。例如时间段相似度、第二标识的相似度和第四标识的相似度的权重相同。消息聚合单元230适于根据下述公式计算这两条合并事件消息的相似度:
[0076]
[0077] 其中,sim(X1,X2)为合并事件消息X1和X2之间的相似度,sim1(X1,X2)为X1和X2之间的时间段相似度,sim2(X1,X2)为X1和X2之间的第二标识的相似度,sim3(X1,X2)为X1和X2之间的第四标识的相似度。
[0078] 下面对触发时间段、第二和第四标识中每一个属性参数项的相似度的计算过程进行示例性说明。
[0079] 在根据本发明一个实施例中,计算触发时间段相似度的公式如下:
[0080]
[0081] 其中,sim1(X1,X2)为合并事件消息X1与X2的时间段相似度。ts(X1)表示X1的触发时间段的开始时间点。ts(X2)表示X2的触发时间段的开始时间点。te(X1)表示X1的触发时间段的结束时间点。te(X2)表示X2的触发时间段的结束时间点。T为时间阈值,可以表示时间点之间的相关度。相似度值在[0,1]的区间上。sim1(X1,X2)的分别在3种情况下有不同的相似度值。
[0082] 消息聚合单元230计算第二标识相似度的方式如下:
[0083] sim2(X1,X2)=(SUM-LDIST)/SUM
[0084] 其中,sim2(X1,X2)为合并消息X1和X2之间的第二标识的相似度,SUM为X1和X2的字符串的长度总和,LDIST为X1和X2之间的第二标识的莱文斯坦距离。
[0085] 消息聚合单元230计算第四标识相似度的方式如下:
[0086] sim3(X1,X2)=len(X1∩X2)/max(len(X1),len(X2))
[0087] 其中,sim3(X1,X2)为X1和X2之间的第四标识的相似度,len(X1∩X2)为X1和X2之间字符串交集的长度。
[0088] 通过上述基于相似度的聚合过程,消息聚合单元230可以将多条合并事件消息聚合为多簇事件消息。下述的数据格式为前文所示的10条合并事件消息聚合为多簇事件消息后的数据示例:
[0089] 0:[[1460344041,1460344281,'product,mysql','mysql1'],
[0090] [1460344061,1460344301,'product,mysql','mysql5'],
[0091] [1460344066,1460345866,'product,mysql','mysql3']],
[0092] 1:[[1460344081,1460344141,'main,class','test1']],
[0093] 2:[[1460344401,1460344521,'it,app','web1']],
[0094] 3:[[1460345841,1460347041,'it,app,product','web2']],
[0095] 4:[[1460350041,1460350641,'it,app,product','web3']],
[0096] 5:[[1460354841,1460355561,'ct,nagiosmonitor','nagios1']],
[0097] 6:[[1460347641,1460348541,'saas,zabbixmonitor','zabbix1']],
[0098] 7:[[1460351241,1460352321,'paas,cluster','redis1']]
[0099] 如上所示,10条合并事件消息聚合为8个簇:0、1、2、3、4、5、6和7。经验证,mysql1所在的合并事件消息和mysql5所在的合并事件消息的相似度为0.94,mysql1和mysql3相似度为0.65,mysql5和mysql3的相似度为0.65。由此可见,第0簇中每条合并事件消息的两两相似度均大于阈值(例如为0.5)。
[0100] 另外,性能监控设备生成原始事件消息是一个持续的过程。相应地,消息获取单元210可以从性能监控设备持续获取新的原始事件消息。对于新获取的一条原始事件消息,消息聚合单元230适于计算这条原始事件消息与已有的每簇事件消息之间的相似度。消息聚合单元230适于将这条原始事件消息聚合到与其相似度最高且超过阈值的一簇事件消息中。具体而言,根据本发明一个实施例,消息聚合单元230在计算这条原始事件消息与一簇事件消息的相似度时,首先计算这条原始事件消息与这簇事件消息中每一个合并事件消息的相似度,然后将与每一个合并事件消息的相似度之间的平均值作为这条原始事件消息和该簇的相似度。这样,消息聚合单元230可以确定与这条原始事件消息相似度最高的一簇事件消息。如果最高相似度超过阈值,消息聚合单元230将这条原始告警消息聚合到该簇事件消息中。如果最高相似度未超过阈值,消息聚合单元230为这条原始事件消息消息创建一个新簇(类)。
[0101] 综上,根据本发明的聚合事件消息的应用200可以将来自一个或多个性能监控设备的多条原始事件消息进行聚合,从而极大降低了原始事件消息的数据量,并且将不同的原始事件消息进行了准确关联。为了便于本领域技术人员更直观理解聚合事件消息的应用的技术效果,下面以计算设备是MySQL数据库集群的应用场景为例进行说明。数据库集群包括多个数据库节点。当某个节点发生查询慢的性能事件后,引发了其他节点出现性能、负载故障,甚至引发数据库集群性能负载高故障。而数据库集群故障,又会引发业务服务故障。这样,性能监控设备(110-N)会针对每个节点的每个指标项(对应一项故障)生成一条原始事件消息(这里主要是告警消息)。本发明的聚合事件消息的应用可以将这些大量的事件消息进行聚合,从而将异构的数据库集群的故障事件进行精准关联和压缩。这将极大节省运维人员的精力和提高运维效率。图3示出了根据本发明一个实施例的多簇事件消息的显示界面。如图3所示,10.127.11.192服务器所在的一簇事件消息310包括5个合并事件消息
320。这5个合并事件消息包括1个HTTP告警、一个MySQL数据库告警和2个网络Ping告警类型。
[0102] 图4示出了根据本发明一些实施例的聚合事件消息的方法400的流程图。方法400始于在聚合服务器(120)中执行。如图4所示,方法400始于步骤S410。在步骤S410中,获取由至少一个性能监控设备对至少一个计算设备进行监控而生成的多条原始事件消息。其中,每条原始事件消息包括所对应的性能监控设备的第一标识、标识触发该事件的计算设备的第二标识、标识该事件的第三标识和该事件所对应的触发时间点。可选地,原始事件消息还可以包括标识计算设备所在集群的第四标识,但不限于此。具体而言,根据本发明一个实施例,在步骤S410中,接收驻留在每个性能监控设备中的事件采集应用所采集并传输的原始事件消息。又例如,接收至少一个性能监控设备中每一个所发送的原始事件消息。步骤S410更具体的实现方式与图2说明中消息获取单元210一致,这里不再赘述。
[0103] 对于步骤S410中获取的多条原始告警消息,方法400可以通过执行步骤S420来进行相同告警事件的合并操作。根据本发明一个实施例,在步骤S420中,根据第二标识和第三标识对所述多条原始事件消息进行分组,并分别将每组第二标识和第三标识相同的原始事件消息合并为一条合并事件消息。每条合并事件消息还可以包括其所对应的一组原始事件消息的所有触发时间点所处的触发时间段和这组原始事件消息的消息总数。应注意,步骤S420也可以选择除第二和第三标识之外的其他属性参数项作为是否合并的依据,这里不再一一列举。
[0104] 方法400通过执行步骤S430来对步骤S420所生成的合并事件消息进行聚合。在步骤S430中,根据合并事件消息的相似度执行聚类操作,分别将每类相似度超过阈值的合并事件消息聚合为一簇事件消息。根据本发明一个实施例,在步骤S430中,首先分别计算合并事件消息中两两之间相似度,然后将两两之间相似度的平均值超过阈值(例如0.5)的合并事件消息聚合为一簇事件消息。对于任意两条合并事件消息,步骤S430可以通过计算这两条合并事件消息的属性参数项来计算相似度。例如,分别计算时间段相似度、第二标识的相似度和第四标识的相似度,然后将这两条合并事件消息的时间段相似度、第二标识的相似度和第四标识的相似度的权重平均值作为这两条合并事件消息的相似度。
[0105] 步骤S430中时间段相似度的计算可以采用下述公式进行计算。
[0106]
[0107] 其中,sim1(X1,X2)为合并事件消息X1与X2的时间段相似度。ts(X1)表示X1的触发时间段的开始时间点。ts(X2)表示X2的触发时间段的开始时间点。te(X1)表示X1的触发时间段的结束时间点。te(X2)表示X2的触发时间段的结束时间点。T为时间阈值。
[0108] 另外,步骤S430中第二标识的相似度可以采用下述公式进行计算:
[0109] sim2(X1,X2)=(SUM-LDIST)/SUM
[0110] 其中,sim2(X1,X2)为合并消息X1和X2之间的第二标识的相似度。SUM为X1和X2的字符串的长度总和。LDIST为X1和X2之间的第二标识的莱文斯坦距离。
[0111] 步骤S430中第四标识的相似度可以采用下述公式进行计算:
[0112] sim3(X1,X2)=len(X1∩X2)/max(len(X1),len(X2))
[0113] 其中,sim3(X1,X2)为X1和X2之间的第四标识的相似度,len(X1∩X2)为X1和X2之间字符串交集的长度。
[0114] 在根据本发明一个实施例中,时间段相似度、第二标识的相似度和第四标识的相似度的权重相同。步骤S430计算两条合并事件消息的相似度方式如下:
[0115]
[0116] 其中,sim(X1,X2)为合并事件消息X1和X2之间的相似度,sim1(X1,X2)为X1和X2之间的时间段相似度,sim2(X1,X2)为X1和X2之间的第二标识的相似度,sim3(X1,X2)为X1和X2之间的第四标识的相似度。步骤S430更具体的实现方式与图2说明中消息聚合单元230一致,这里不再赘述。
[0117] 另外,性能监控设备生成事件消息是一个持续的过程。可选地,方法400还包括步骤S440和步骤S450。在步骤S430,继续获取来自至少一个性能监控设备的一条原始事件消息。随后,在步骤S440中,计算本次获取的原始事件消息与每簇事件消息的相似度,并将该原始事件消息聚合到与其相似度超过阈值且最高的一簇事件消息。这里,计算该原始事件消息与任一簇事件消息过程为:计算本次获取的原始事件消息与这簇事件消息中每一个的相似度,并将与这簇事件消息中每一个的相似度的平均值作为该原始事件消息与这簇事件消息的相似度。另外,如果这条原始事件消息与每簇事件消息的相似度都没有超过阈值,则可以这条原始事件生成为一簇新的事件消息。
[0118] A9、如A5所述的方法,其中,所述时间段相似度、第二标识的相似度和第四标识的相似度的权重相同,所述将这两条合并事件消息的时间段相似度、第二标识的相似度和第四标识的相似度的权重平均值作为这两条合并事件消息的相似度的步骤包括:
[0119]
[0120] 其中,sim(X1,X2)为合并事件消息X1和X2之间的相似度,sim1(X1,X2)为X1和X2之间的时间段相似度,sim2(X1,X2)为X1和X2之间的第二标识的相似度,sim3(X1,X2)为X1和X2之间的第四标识的相似度。
[0121] A10、如A3所述的方法,其中所述计算本次获取的原始事件消息与每簇事件消息的相似度的步骤包括:计算本次获取的原始事件消息与这簇事件消息中每一个的相似度,并将与这簇事件消息中每一个的相似度的平均值作为该原始事件消息与这簇事件消息的相似度。A12、如A11所述的方法,其中,所述消息获取单元适于根据下述中任一种方式来获取由至少一个性能监控设备对至少一个计算设备进行监控而生成的多条原始事件消息:接收驻留在每个性能监控设备中的事件采集应用所采集并传输的原始事件消息;接收所述至少一个性能监控系统中每一个所发送的原始事件消息。A13、如A11或A12所示的应用,其中,所述消息获取单元还适于继续获取来自至少一个性能监控设备的一条原始事件消息;所述消息聚合单元还适于计算本次获取的原始事件消息与每簇事件消息的相似度,并将该原始事件消息聚合到与其相似度最高且超过所述阈值的一簇事件消息中。A14、如A11-A13中任一项所述的应用,其中,所述消息聚合单元适于通过下述方式以根据合并事件消息的相似度执行聚类操作,分别将每类相似度超过阈值的合并事件消息聚合为一簇事件消息:分别计算所述合并事件消息中两两之间相似度;将两两之间相似度的平均值超过所述阈值的合并事件消息聚合为一簇事件消息。A15、如A14所述的应用,其中,所述每条原始事件消息还包括标识这条原始事件消息所对应的计算设备所处集群的第四标识,所述消息聚合单元适于根据下述方式分别计算所述合并事件消息中两两之间相似度:
[0122] 对所述合并事件消息中任意两条合并事件消息,
[0123] 计算这两条合并事件消息之间的时间段相似度;
[0124] 计算这两条合并事件消息之间的第二标识的相似度;
[0125] 计算这两条合并事件消息之间的第四标识的相似度;以及
[0126] 将这两条合并事件消息的时间段相似度、第二标识的相似度和第四标识的相似度的权重平均值作为这两条合并事件消息的相似度。A16、如A15所述的应用,其中,所述消息聚合单元适于根据下述方式计算这两条合并事件消息之间的时间段相似度:
[0127]
[0128] 其中,sim1(X1,X2)为合并事件消息X1与X2的时间段相似度,ts(X1)表示X1的触发时间段的开始时间点,ts(X2)表示X2的触发时间段的开始时间点,te(X1)表示X1的触发时间段的结束时间点,te(X2)表示X2的触发时间段的结束时间点,T为时间阈值。A17、如A15所述的应用,其中,所述消息聚合单元适于根据下述方式计算这两条合并事件消息之间的第二标识的相似度:
[0129] sim2(X1,X2)=(SUM-LDIST)/SUM
[0130] 其中,sim2(X1,X2)为合并消息X1和X2之间的第二标识的相似度,SUM为X1和X2的字符串的长度总和,LDIST为X1和X2之间的第二标识的莱文斯坦距离。
[0131] A18、如A15所述的应用,其中,所述消息聚合单元适于根据下述方式计算这两条合并事件消息之间的第四标识的相似度:
[0132] sim3(X1,X2)=len(X1∩X2)/max(len(X1),len(X2))
[0133] 其中,sim3(X1,X2)为X1和X2之间的第四标识的相似度,len(X1∩X2)为X1和X2之间字符串交集的长度。A19、如A15所述的应用,其中,所述时间段相似度、第二标识的相似度和第四标识的相似度的权重相同,所述消息聚合单元适于根据下述公式计算这两条合并事件消息的相似度:
[0134]
[0135] 其中,sim(X1,X2)为合并事件消息X1和X2之间的相似度,sim1(X1,X2)为X1和X2之间的时间段相似度,sim2(X1,X2)为X1和X2之间的第二标识的相似度,sim3(X1,X2)为X1和X2之间的第四标识的相似度。A20、如A13所述的应用,其中,所述消息聚合单元适于根据下述方式计算本次获取的原始事件消息与每簇事件消息的相似度:计算本次获取的原始事件消息与这簇事件消息中每一个的相似度,并将与这簇事件消息中每一个的相似度的平均值作为该原始事件消息与这簇事件消息的相似度。
[0136] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0137] 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0138] 本领域那些技术人员应当理解在本文所公开的示例中的设备的模或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
[0139] 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0140] 此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0141] 此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
[0142] 如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
[0143] 尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈