1.本发明涉及大数据领域,尤其是涉及一种告警分析的方法、系统及存储介质。
背景技术:2.随着边缘集群中监控以及告警功能的日渐完善,目前的监控和告警系统能够根据配置检测到系统中各项指标的异常,并发出对应的告警。
3.通过对来自不同集群的海量告警进行分析,提取其中有用的信息,可以快速找到导致大量告警的根本原因,减少告警数量,从而提升告警的准确性。而在告警分析方法中常用的分析方法包括相关性分析,其基本原理是利用频繁项集挖掘的方法,挖掘告警之间的相关性,但是这种方法通常会损失告警之间原本的序列相关性信息,从而损失了部分信息,导致难以获得更有价值的信息。
4.鉴于此,如何准确的对告警信息进行相关性分析,成为一个亟待解决的技术问题。
技术实现要素:5.本发明提供一种告警分析的方法、系统及存储介质,用以解决现有技术中存在的告警信息的相关性分析不够准确的技术问题。
6.第一方面,为解决上述技术问题,本发明实施例提供的一种告警分析的方法的技术方案如下:
7.接收按时间顺序排列的原始告警序列;其中,所述原始告警序列中包括至少一个告警信息;
8.标记所述原始告警序列中来源于同一对象的连续告警信息,获得至少一类对象对应的当前告警序列;其中,所述连续告警信息是由时间上连续,且来自同一对象的多个告警信息组成的,所述当前告警序列中同一元素由来自同一对象的至少一个告警信息组成;
9.将获得的每个当前告警序列,存储到对应类对象的时间段序列中;其中,所述当前告警序列的产生时间在所述时间段序列对应的时间段内;
10.对连续存储的至少一个时间段对应的至少一类对象的时间段序列进行频繁序列分析,获得所述至少一个时间段内对应类对象包含的对象间的告警传递关系。
11.一种可能的实施方式,标记所述原始告警序列中来源于同一对象的连续告警信息,获得至少一类对象对应的当前告警序列,包括:
12.针对每类来源对象,确定所述原始告警序列中每个告警信息来源的对象;
13.将所述原始告警序列中,来自同一对象的连续告警信息标记为一个子集合,获得对应类对象的当前告警序列。
14.一种可能的实施方式,所述来源对像的类型,包括:
15.多集群、单集群、单主机;
16.其中,所述多集群对应的来源对象为多个集群,所述单集群对应的来源对象为多个主机、所述单主机对应的来源对象为单个主机;所述单个主机对应的当前告警序列为所
述单个主机的原始告警序列。
17.一种可能的实施方式,将获得的每个当前告警序列,存储到对应类对象的时间段序列中,包括:
18.确定所述每个当前告警序列的产生时间所属的时间段;
19.获取所述每个当前告警序列的产生时间所属的时间段中,与所述每个当前告警序列对应的同类对象的时间段序列;
20.将所述每个当前告警序列追加到对应类对象的时间段序列中。
21.一种可能的实施方式,对连续存储的至少一个时间段对应的至少一类对象的时间段序列进行频繁序列分析,获得所述至少一个时间段内对应类对象包含的对象间的告警传递关系,包括:
22.获取指定时间区间内每个时间段对应的至少一类来源对象包含的时间段序列;
23.将所述指定时间区间内同一类对象的所有时间段序列,按时间顺序组成连续时间段序列;
24.用前缀投影的模式挖掘算法,分析所述连续时间段序列中对象间告警的频繁序列关系,获得所述告警传递关系。
25.一种可能的实施方式,用前缀投影的模式挖掘算法,分析所述连续时间段序列中对象间告警的频繁序列关系,获得所述告警传递关系,包括:
26.若所述来源的类型为所述多集群,则用前缀投影的模式挖掘算法,挖掘所述连续时间段序列中集群间告警的频繁序列关系,获得所述连续时间段内集群间的告警传递关系。
27.一种可能的实施方式,用前缀投影的模式挖掘算法,分析所述连续时间段序列中对象间告警的频繁序列关系,获得所述告警传递关系,包括:
28.若所述来源的类型为所述单集群,则用前缀投影的模式挖掘算法,挖掘所述连续时间段序列中单个集群中主机间告警的频繁序列关系,获得所述连续时间段内单个集群中主机间的告警传递关系。
29.一种可能的实施方式,用前缀投影的模式挖掘算法,分析所述连续时间段序列中对象间告警的频繁序列关系,获得所述告警传递关系,包括:
30.若所述来源的类型为所述单主机,则用前缀投影的模式挖掘算法,挖掘所述连续时间段序列中单个主机中告警信息间的频繁序列关系,获得所述连续时间段内单主机中告警信息间的告警传递关系。
31.第二方面,本发明实施例提供了一种告警分析的系统,包括:
32.接收模块,用于接收按时间顺序排列的原始告警序列;其中,所述原始告警序列中包括至少一个告警信息;
33.标记模块,用于标记所述原始告警序列中来源于同一对象的连续告警信息,获得至少一类对象对应的当前告警序列;其中,所述连续告警信息是由时间上连续,且来自同一对象的多个告警信息组成的,所述当前告警序列中同一元素由来自同一对象的至少一个告警信息组成;
34.存储模块,用于将获得的每个当前告警序列,存储到对应类对象的时间段序列中;其中,所述当前告警序列的产生时间在所述时间段序列对应的时间段内;
35.分析模块,用于对连续存储的至少一个时间段对应的至少一类对象的时间段序列进行频繁序列分析,获得所述至少一个时间段内对应类对象包含的对象间的告警传递关系。
36.一种可能的实施方式,标记所述原始告警序列中来源于同一对象的连续告警信息,获得至少一类对象对应的当前告警序列,包括:
37.针对每类来源对象,确定所述原始告警序列中每个告警信息来源的对象;
38.将所述原始告警序列中,来自同一对象的连续告警信息标记为一个子集合,获得对应类对象的当前告警序列。
39.一种可能的实施方式,所述来源对像的类型,包括:
40.多集群、单集群、单主机;
41.其中,所述多集群对应的来源对象为多个集群,所述单集群对应的来源对象为多个主机、所述单主机对应的来源对象为单个主机;所述单个主机对应的当前告警序列为所述单个主机的原始告警序列。
42.一种可能的实施方式,将获得的每个当前告警序列,存储到对应类对象的时间段序列中,包括:
43.确定所述每个当前告警序列的产生时间所属的时间段;
44.获取所述每个当前告警序列的产生时间所属的时间段中,与所述每个当前告警序列对应的同类对象的时间段序列;
45.将所述每个当前告警序列追加到对应类对象的时间段序列中。
46.一种可能的实施方式,对连续存储的至少一个时间段对应的至少一类对象的时间段序列进行频繁序列分析,获得所述至少一个时间段内对应类对象包含的对象间的告警传递关系,包括:
47.获取指定时间区间内每个时间段对应的至少一类来源对象包含的时间段序列;
48.将所述指定时间区间内同一类对象的所有时间段序列,按时间顺序组成连续时间段序列;
49.用前缀投影的模式挖掘算法,分析所述连续时间段序列中对象间告警的频繁序列关系,获得所述告警传递关系。
50.一种可能的实施方式,用前缀投影的模式挖掘算法,分析所述连续时间段序列中对象间告警的频繁序列关系,获得所述告警传递关系,包括:
51.若所述来源的类型为所述多集群,则用前缀投影的模式挖掘算法,挖掘所述连续时间段序列中集群间告警的频繁序列关系,获得所述连续时间段内集群间的告警传递关系。
52.一种可能的实施方式,用前缀投影的模式挖掘算法,分析所述连续时间段序列中对象间告警的频繁序列关系,获得所述告警传递关系,包括:
53.若所述来源的类型为所述单集群,则用前缀投影的模式挖掘算法,挖掘所述连续时间段序列中单个集群中主机间告警的频繁序列关系,获得所述连续时间段内单个集群中主机间的告警传递关系。
54.一种可能的实施方式,用前缀投影的模式挖掘算法,分析所述连续时间段序列中对象间告警的频繁序列关系,获得所述告警传递关系,包括:
55.若所述来源的类型为所述单主机,则用前缀投影的模式挖掘算法,挖掘所述连续时间段序列中单个主机中告警信息间的频繁序列关系,获得所述连续时间段内单主机中告警信息间的告警传递关系。
56.第三方面,本发明实施例还提供一种可读存储介质,包括:
57.存储器,
58.所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如上述第一方面所述的方法。
59.通过本发明实施例的上述一个或多个实施例中的技术方案,本发明实施例至少具有如下技术效果:
60.在本发明提供的实施例中,通过接收按时间顺序排列的原始告警序列;并标记原始告警序列中来源于同一对象的连续告警信息,获得至少一类对象对应的当前告警序列;进而将获得的每个当前告警序列,存储到对应类对象的时间段序列中;并对连续存储的至少一个时间段对应的至少一类对象的时间段序列进行频繁序列分析,获得至少一个时间段内对应类对象包含的对象间的告警传递关系;从而能够更加有效的利用告警原本的时序关系信息,而无需任何转换或减少信息的损耗,就能一次性挖掘多个集群之间、单集群多个主机之间以及单个主机上的多种告警之间的相关性关系,并得到更加全面的分析结果,进而更好的对造成大量告警的原因进行分析,减少告警的数量。
附图说明
61.图1为本发明实施例提供的一种告警分析方法的流程图;
62.图2为本发明实施例提供的一种边缘系统的架构示意图;
63.图3为本发明实施例提供的一种告警分析系统的结构示意图。
具体实施方式
64.本发明实施列提供一种告警分析的方法、系统及存储介质,用以解决现有技术中存在的告警信息的相关性分析不够准确的技术问题。
65.为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
66.请参考图1,本发明实施例提供一种告警分析的方法,该方法的处理过程如下。
67.步骤101:接收按时间顺序排列的原始告警序列;其中,原始告警序列中包括至少一个告警信息。
68.边缘集群可以是一个集群,也可以是由多个集群组成的,每个集群可以包括多个主机,在每个主机中可以产生发现主机中被配置的指标出现异常的告警信息。
69.在一些实施例中,可以是从主机中直接接收主机产生的告警信息,也可以集群接收整个集群包含的主机产生的告警信息。
70.在一些实施例中,为了减少对主机、集群的访问频次,可以周期性的接收对应周期内的所有告警信息,此周期内的所有告警信息按时间顺序组成的序列为上述原始告警序
列。
71.在一些实施例中,原始告警序列的接收可以是基于预先配置好的信息进行接收,如预先配置好的信息可以是预先指定的来源对象、来源对象中的特定端口,这样可以对预先指定的来源对象中的特定端口进行监听。
72.在另一些实施例中,原始告警序列的接收还可以是主动适配特殊的告警源,如主动获取某类或某几类告警信息,还获取到告警信息后还可以对告警信息进行解析,这样便于后续进行相关处理。
73.在接收到原始告警序列后,便可执行步骤102。
74.步骤102:标记原始告警序列中来源于同一对象的连续告警信息,获得至少一类对象对应的当前告警序列;其中,连续告警信息是由时间上连续,且来自同一对象的多个告警信息组成的,当前告警序列中同一元素由来自同一对象的至少一个告警信息组成。
75.在一些实施例中,若来源的类型为多集群,则多集群的成员(即来源的对象)为集群;若来源的类型为单集群,则单集群的成员(即来源的对象)为主机;若来源的类型为单主机,则单主机的成员为告警信息。
76.在一些实施例中,标记原始告警序列中来源于同一对象的连续告警信息,获得至少一类对象对应的当前告警序列,可以通过下列方式实现:
77.针对每类对象,确定原始告警序列中每个告警信息来源的对象;将原始告警序列中,来自同一对象的连续告警信息标记为一个子集合,获得对应类对象的当前告警序列。
78.在一些实施例中,以来源的类型为多集群为例,假设目前有三类告警信息a、b、c分别来自三个集群c1、c2、c3,将来自集群ci的告警信息记为x
ci
,其中,x的取值范围为息a、b、c,i的取值范围为1~3,假设接收到的原始告警序列为origin_seq:
79.origin_seq={b
c2
,a
c1
,b
c1
,c
c2
,c
c3
,a
c3
};
80.可以确定上述原始告警序列中告警信息b
c2
来源的对象为集群c2,告警信息a
c2
来源的对象为集群c2,告警信息b
c1
来源的对象为集群c1,告警信息c
c2
来源的对象为集群c2,告警信息c
c3
来源的对象为集群c3,告警信息a
c3
来源的对象为集群c3。
81.在原始告警序列中,告警信息b
c2
后的告警信息a
c2
非来自集群c2,因此告警信息b
c2
与告警信息a
c2
不能组成一个连续告警信息;告警信息a
c1
和告警信息b
c1
均来自集群c1,但它们前后的告警信息均来自集群c2,故告警信息a
c1
和告警信息b
c1
为集群c1的一个连续告警信息,将其标记为集群c1的一个子集合;同理可以标记处其余子集合,在此不再一一赘述,标记后的原始告警序列(即多集群对应的当前告警序列)为mul_cluster_seq={b
c2
,(a
c1
,b
c1
),c
c2
,(c
c3
,a
c3
)}。上述子集合内的告警信息视为无序,即不存在先后顺序。
82.在另一些实施例中,以来源的类型为单集群为例,假设目前有三类告警信息a、b、c分别来自一个集群c中的三个主机n1、n2、n3,将来自主机ni的告警信息记为x
ci
,其中,x的取值范围为息a、b、c,i的取值范围为1~3,假设接收到的原始告警序列为origin_seqc:
83.origin_seqc={a
n1
,a
n2
,b
n2
,c
n2
,c
n3
,b
n1
};
84.可以确定上述原始告警序列中告警信息a
n1
来源的对象为主机n1,告警信息a
n2
来源的对象为主机n2,告警信息b
n2
来源的对象为主机n2,告警信息c
n2
来源的对象为主机n2,告警信息c
n3
来源的对象为主机n3,告警信息b
n1
来源的对象为主机n1。
85.在原始告警序列中,告警信息a
n1
后的告警信息a
n2
非来自主机n1,因此告警信息a
n1
与告警信息a
n2
不能组成一个连续告警信息;告警信息a
n2
和告警信息b
n2
及告警信息c
n2
均来自主机n2,但它们前后的告警信息均非来自主机n2,故告警信息a
n2
和告警信息b
n2
及告警信息c
n2
为主机n2的一个连续告警信息,将其标记为主机n2的一个子集合;同理可以标记处其余子集合,在此不再一一赘述,标记后的原始告警序列(即单集群对应的当前告警序列)为cluster_cluster_seqc={a
n1
,(a
n2
,b
n2
,c
n2
),c
n3
,b
n1
}。上述子集合内的告警信息视为无序,即不存在先后顺序。
86.在另一些实施例中,以来源的类型为单主机为例,假设目前有四类告警信息a、b、c、d,接收到集群c中的单主机n的原始告警序列为origin_seq
c,n
={a
c,n
、b
c,n
、c
c,n
、d
c,n
},由于这些告警消息都是来自同一个主机n,因此将原始告警序列origin_seq
c,n
作为当前告警序列node_seq
c,n
={a
c,n
、b
c,n
、c
c,n
、d
c,n
}。
87.在上述实施例中,原始告警序列中的告警信息只是以来源于同一类对象为例,而在实际应用中原始告警序列的告警信息可能来源于不同类对象,此时可以形成每类对象的当前告警序列。
88.例如,边缘系统中告警信息的类型包括a、b、c三种,边缘系统具有3个集群(c1、c2、c3),且每个集群中都有3台主机(n1、n2、n3),边缘系统中的告警信息记为x
ci,nj
,x的取值范围为a、b、c,i、j的取值范围为1~3,告警信息记为x
ci,nj
表示来自集群ci中主机nj的告警信息x。
89.假设接收到的原始告警序列为:origin_seq={a
c1,n2
,b
c1,n1
,a
c2,n3
,b
c1,n1
,a
c1,n2
,a
c2,n3
,a
c3,n1
,d
c3,n2
,d
c3,n2
}。
90.采用前述介绍的方式,分别针对来源于多集群类的对象、单集群类的对象、但主机类的对象,对原始告警序列中对应各类对象的连续告警信息进行标记,可以得到:
91.针对来源于多集群类的当前告警序列为:mul_seq={(a
c1,n2
,b
c1,n1
),a
c2,n3
,(b
c1,n1
,a
c1,n2
),a
c2,n3
,(a
c3,n1
,d
c3,n2
,d
c3,n2
)};
92.针对来源于单集群类,以集群c1为例,原始告警序列中来自集群c1的告警序列为{a
c1,n2
,b
c1,n1
,b
c1,n1
,a
c1,n2
},基于前述单集群对应的当前告警序列的标识方式,可以获得针对集群c1的当前告警序列cluster_seq
c1
={a
c1,n2
,(b
c1,n1
,b
c1,n1
),a
c1,n2
}。
93.同理,可以获得针对集群c2的当前告警序列cluster_seq
c2
={a
c2,n3
,a
c2,n3
};针对集群c3的当前告警序列cluster_seq
c3
={a
c3,n1
,(d
c3,n2
,d
c3,n2
)}。
94.针对来源于单主机类,以集群c1中主机n1为例,原始告警序列中来自集群c1中主机n1的告警序列为{a
c1,n2
,b
c1,n1
,b
c1,n1
,a
c1,n2
},基于前述单集群对应的当前告警序列的标识方式,可以获得针对集群c1中主机n1的当前告警序列node_seq
c1,n1
={b
c1,n1
,b
c1,n1
}。
95.同理,可以获得针对其余主机的当前告警序列:
96.node_seq
c1,n2
={a
c1,n2
};
97.node_seq
c1,n3
={a
c1,n3
};
98.node_seq
c2,n3
={a
c2,n3
,a
c2,n3
};
99.node_seq
c3,n1
={a
c3,n1
};
100.node_seq
c3,n2
={d
c3,n2
,d
c3,n2
}。
101.在获得每类对象对应的当前告警序列后便可执行步骤103。
102.步骤103:将获得的每个当前告警序列,存储到对应类对象的时间段序列中;其中,
当前告警序列的产生时间在时间段序列对应的时间段内。
103.在一些实施例中,将获得的每个当前告警序列,存储到对应类对象的时间段序列中,可以通过下列方式实现:
104.确定每个当前告警序列的产生时间所属的时间段;获取每个当前告警序列的产生时间所属的时间段中,与每个当前告警序列对应的同类对象的时间段序列;将每个当前告警序列追加到对应类来源对象的时间段序列中。
105.例如,假设时间段t=[t
start
,t
end
],t
start
为起始时刻,t
end
为结束时刻,当前告警序列产生的时刻为t,若t
start
≤t≤t
end
,则当前告警序列产生的时刻t所属的时间段为时间段t。
[0106]
假设t时刻产生了一个多集群对应的当前告警序列(记为mul_cluster_seq
(t)
),由于t∈t,故将当前告警序列mul_cluster_seq
(t)
存入t时间段的多集群的时间序列(记为mul_cluster_storage
(t)
)中,可以通过下式表示上述存储过程:
[0107]
mul_cluster_storage
(t)
←
append(mul_cluster_storage
(t)
,mul_cluster_seq
(t)
);
[0108]
其中,append(mul_cluster_storage
(t)
,mul_cluster_seq
(t)
)为在mul_cluster_storage
(t)
的最后追加mul_cluster_seq
(t)
。
[0109]
同理,t时刻产生的集群c的当前告警序列数据由于t∈t,故将当前告警序列数据存储到时间段t对应的集群c的时间序列(记为),即:
[0110][0111]
t时刻产生的集群c中主机n的当前告警序列数据由于t∈t,故将当前告警序列数据存储到时间段t对应的主机n的时间序列(记为),即:
[0112][0113]
在实际应用中,t时刻产生了多类对象各自对应的当前告警序列时,每类对象对应的当前告警序列的存储方式,与前述单类对象对应告警序列的存储方式相同。
[0114]
以步骤102中边缘系统包括3个集群、每个集群包括3个主机的例子为例,假设得到的多个集群对应的当前告警序列、每个集群对应的当前告警序列,以及每个主机对应的当前告警序列产生的时间段都属于当前时间段t,存储上述各类对象对应的当前告警序列到t时间段在对应类对象的时间段序列中,假设在存入上述当前告警序列前,各时间段序列为空,则在各时间段序列存入对应的当前告警序列后各时间段序列可以表示为:
[0115]
时间段t中多集群对应的时间段序列:
[0116]
mul_cluster_storage
(t)
={(a
c1,n2
,b
c1,n1
),a
c2,n3
,(b
c1,n1
,a
c1,n2
),a
c2,n3
,(a
c3,n1
,d
c3,n2
,d
c3,n2
)};
[0117]
时间段t中集群c1对应的时间段序列:
[0118]
[0119]
时间段t中集群c2对应的时间段序列:
[0120][0121]
时间段t中集群c3对应的时间段序列:
[0122][0123]
时间段t中集群c1主机n1对应的时间段序列:
[0124][0125]
时间段t中集群c1主机n2对应的时间段序列:
[0126][0127]
时间段t中集群c1主机n3对应的时间段序列:
[0128][0129]
时间段t中集群c2主机n3对应的时间段序列:
[0130][0131]
时间段t中集群c3主机n1对应的时间段序列:
[0132][0133]
时间段t中集群c3主机n2对应的时间段序列:
[0134][0135]
在存储完获得每个当前告警序列后,便可执行步骤104。
[0136]
步骤104:对连续存储的至少一个时间段对应的至少一类对象的时间段序列进行频繁序列分析,获得至少一个时间段内对应类来源包含的对象间的告警传递关系。
[0137]
请参见图2为本发明实施例提供的一种边缘系统的架构示意图。
[0138]
该边缘系统由多个集群,每个集群由多个主机组成,在该边缘系统中设置有告警分析系统,该告警分析系统具有的功能包括:数据收集功能、标记原始告警序列(包含多集群对应的序列标记、单集群对应的序列标记、单主机对应的序列标记)、存储(包含存储多集群对应的当前告警序列、存储单集群对应的当前告警序列、存储单主机对应的当前告警序列)、分析(构建不同类对象的连续告警序列、分析连续告警序列),最终根据分析结构可以输出集群间的告警传递关系、输出单集群中主机间的告警传递关系、输出单主机中的告警传递关系。
[0139]
在一些实施例中,对连续存储的至少一个时间段对应的至少一类对象的时间段序列进行频繁序列分析,获得至少一个时间段内对应类来源包含的对象间的告警传递关系,可以通过下列方式实现:
[0140]
获取指定时间区间内每个时间段对应的至少一类来源对象包含的时间段序列;将指定时间区间内同一类对象的所有时间段序列,按时间顺序组成连续时间段序列;用前缀投影的模式挖掘算法,分析连续时间段序列中对象间告警的频繁序列关系,获得告警传递关系。
[0141]
在一些实施例中,可以针对指定时间区间内,一类对象的告警传递关系进行分析,分别如下:
[0142]
针对多集群类:用前缀投影的模式挖掘算法,分析连续时间段序列中对象间告警的频繁序列关系,获得告警传递关系,可以通过下列方式实现:
[0143]
若来源的类型为多集群,则用前缀投影的模式挖掘算法,挖掘连续时间段序列中集群间告警的频繁序列关系,获得连续时间段内集群间的告警传递关系。
[0144]
例如,需要获得时间区间[m,n]中多集群类对象的告警传递关系,上述实际区间[m,n]即为指定时间区间;其中,m《n,假设时间区间[m,n]由3个连续的时间段[m,m]、[m,n]、[n,n]组成,则从本地分别获取时间段[m,m]、[m,n]、[n,n]中多集群类对应的3个时间段序列(如表1所示为3个时间段对应的3个多集群的时间段序列):
[0145]
表1
[0146]
时间段时间段序列[m,m]mul_cluster_storage
(m,m)
[m,n]mul_cluster_storage
(m,n)
[n,n]mul_cluster_storage
(n,n)
[0147]
将这三个时间段序列按时间顺序组成制定时间区间[m,n]多集群类对象的连续时间段序列,用前缀投影的模式挖掘(prefix-projected pattern growth,prefixspan)算法分析上述连续时间段序列中集群间告警的频繁序列关系,得到集群间告警传递关系。如集群a和集群b间共享网络或存在服务依赖,当集群a发生某种故障导致集群b也发生这种故障,用上述方案对集群间的频繁告警关系进行分析,得到告警集群间的告警传递关系,就能快速定位此类问题。
[0148]
针对单集群类:用前缀投影的模式挖掘算法,分析连续时间段序列中对象间告警的频繁序列关系,获得告警传递关系,可以通过下列方式实现:
[0149]
若来源的类型为单集群,则用前缀投影的模式挖掘算法,挖掘连续时间段序列中单个集群中主机间告警的频繁序列关系,获得连续时间段内单个集群中主机间的告警传递关系。
[0150]
如,需要获得时间区间[m,n]中单集群类对象的告警传递关系,时间区间的定义如上定义,从本地分别获取时间段[m,m]、[m,n]、[n,n]中集群类c对应的3个时间段序列(如表2所示为3个时间段对应的3个集群类c的时间段序列):
[0151]
表2
[0152][0153]
将这三个时间段序列按时间顺序组成制定时间区间[m,n]集群c的连续时间段序列,用,prefixspan算法分析上述连续时间段序列中集群c中主机间告警的频繁序列关系,得到集群c中主机间的告警传递关系。如:集群c内的某个主机n1的网络存在问题,常常会出现网络连接的问题,导致部署在其上的服务非常不稳定,而这些服务会影响到其它主机上
的服务,那么这种关联关系就可以通过上述集群内的频繁序列关系挖掘出来,从而根据挖掘出的集群中主机间的告警传递关系可以分析集群内各个主机之间的告警关联性,更好的解决集群内大规模的告警。
[0154]
针对单主机类:用前缀投影的模式挖掘算法,分析连续时间段序列中对象间告警的频繁序列关系,获得告警传递关系,可以通过下列方式实现:
[0155]
若来源的类型为单主机,则用前缀投影的模式挖掘算法,挖掘连续时间段序列中单个主机中告警信息间的频繁序列关系,获得连续时间段内单主机中告警信息间的告警传递关系。
[0156]
再如,需要获得时间区间[m,n]中单主机类对象的告警传递关系,时间区间的定义如上定义,从本地分别获取时间段[m,m]、[m,n]、[n,n]中集群c中主机n对应的3个时间段序列(如表3所示为3个时间段对应的3个集群类c中主机n的时间段序列):
[0157]
表3
[0158][0159][0160]
将这三个时间段序列按时间顺序组成制定时间区间[m,n]集群c中主机n的连续时间段序列,用prefixspan算法分析上述连续时间段序列中集群c中主机n内告警的频繁序列关系,得到集群c中主机n中的告警传递关系。如,主机n的硬件指标中网络或者硬盘出现了问题,导致了主机n上的其它服务出现了告警,通过上述方案可以快速分析主机n中的告警,从而更快的定位到问题,从而减少告警量。
[0161]
在一些实施例中,也可以同时针对多类对象的告警传递关系分别进行分析。如一个边缘系统由3个集群组成,可以对3个集群中集群间的告警传递关系进行分析,同时还可以针对每个集群中主机间的告警传递关系进行分析,并且还可以针对集群中每个主机内的告警传递关系进行分析,这样既能发现主机内存在的问题,还能发现引发问题的主机是如何将问题传递到其它主机上的,甚至传递到其它集群,从而能精准的定位问题,找出根因。
[0162]
在本发明提供的实施例中,通过接收按时间顺序排列的原始告警序列;并标记原始告警序列中来源于同一对象的连续告警信息,获得至少一类对象对应的当前告警序列;进而将获得的每个当前告警序列,存储到对应类对象的时间段序列中;并对连续存储的至少一个时间段对应的至少一类对象的时间段序列进行频繁序列分析,获得至少一个时间段内对应类对象包含的对象间的告警传递关系;从而能够更加有效的利用告警原本的时序关系信息,而无需任何转换或减少信息的损耗,就能一次性挖掘多个集群之间、单集群多个主机之间以及单个主机上的多种告警之间的相关性关系,并得到更加全面的分析结果,进而更好的对造成大量告警的原因进行分析,减少告警的数量。
[0163]
基于同一发明构思,本发明一实施例中提供一种告警分析的系统,该系统的告警
分析方法的具体实施方式可参见方法实施例部分的描述,重复之处不再赘述,请参见图3,该系统包括:
[0164]
接收模块301,用于接收按时间顺序排列的原始告警序列;其中,所述原始告警序列中包括至少一个告警信息;
[0165]
标记模块302,用于标记所述原始告警序列中来源于同一对象的连续告警信息,获得至少一类对象对应的当前告警序列;其中,所述连续告警信息是由时间上连续,且来自同一对象的多个告警信息组成的,所述当前告警序列中同一元素由来自同一对象的至少一个告警信息组成;
[0166]
存储模块303,用于将获得的每个当前告警序列,存储到对应类对象的时间段序列中;其中,所述当前告警序列的产生时间在所述时间段序列对应的时间段内;
[0167]
分析模块304,用于对连续存储的至少一个时间段对应的至少一类对象的时间段序列进行频繁序列分析,获得所述至少一个时间段内对应类对象包含的对象间的告警传递关系。
[0168]
一种可能的实施方式,标记所述原始告警序列中来源于同一对象的连续告警信息,获得至少一类对象对应的当前告警序列,包括:
[0169]
针对每类来源对象,确定所述原始告警序列中每个告警信息来源的对象;
[0170]
将所述原始告警序列中,来自同一对象的连续告警信息标记为一个子集合,获得对应类对象的当前告警序列。
[0171]
一种可能的实施方式,所述来源对像的类型,包括:
[0172]
多集群、单集群、单主机;
[0173]
其中,所述多集群对应的来源对象为多个集群,所述单集群对应的来源对象为多个主机、所述单主机对应的来源对象为单个主机;所述单个主机对应的当前告警序列为所述单个主机的原始告警序列。
[0174]
一种可能的实施方式,将获得的每个当前告警序列,存储到对应类对象的时间段序列中,包括:
[0175]
确定所述每个当前告警序列的产生时间所属的时间段;
[0176]
获取所述每个当前告警序列的产生时间所属的时间段中,与所述每个当前告警序列对应的同类对象的时间段序列;
[0177]
将所述每个当前告警序列追加到对应类对象的时间段序列中。
[0178]
一种可能的实施方式,对连续存储的至少一个时间段对应的至少一类对象的时间段序列进行频繁序列分析,获得所述至少一个时间段内对应类对象包含的对象间的告警传递关系,包括:
[0179]
获取指定时间区间内每个时间段对应的至少一类来源对象包含的时间段序列;
[0180]
将所述指定时间区间内同一类对象的所有时间段序列,按时间顺序组成连续时间段序列;
[0181]
用前缀投影的模式挖掘算法,分析所述连续时间段序列中对象间告警的频繁序列关系,获得所述告警传递关系。
[0182]
一种可能的实施方式,用前缀投影的模式挖掘算法,分析所述连续时间段序列中对象间告警的频繁序列关系,获得所述告警传递关系,包括:
drive,ssd)、磁性存储器(例如软盘、硬盘、磁带、磁光盘(magneto-optical disc,mo)等)、光学存储器(例如cd、dvd、bd、hvd等)。易失性存储器可以包括随机存取存储器(random access memory,ram),该ram可以充当外部高速缓存存储器。作为例子而非限制性的,ram可以以多种形式获得,比如动态ram(dynamic random access memory,dram)、同步dram(synchronous dynamic random-access memory,sdram)、双数据速率sdram(double data rate sdram,ddr sdram)、增强sdram(enhanced synchronous dram,esdram)、同步链路dram(sync link dram,sldram)。所公开的各方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
[0195]
本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机/处理器可用程序代码的可读存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的机程序产品的形式。
[0196]
本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0197]
这些程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的可读存储器中,使得存储在该可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0198]
这些程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机/处理器实现的处理,从而在计算机/处理器或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0199]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
技术特征:1.一种告警分析的方法,其特征在于,包括:接收按时间顺序排列的原始告警序列;其中,所述原始告警序列中包括至少一个告警信息;标记所述原始告警序列中来源于同一对象的连续告警信息,获得至少一类对象对应的当前告警序列;其中,所述连续告警信息是由时间上连续,且来自同一对象的多个告警信息组成的,所述当前告警序列中同一元素由来自同一对象的至少一个告警信息组成;将获得的每个当前告警序列,存储到对应类对象的时间段序列中;其中,所述当前告警序列的产生时间在所述时间段序列对应的时间段内;对连续存储的至少一个时间段对应的至少一类对象的时间段序列进行频繁序列分析,获得所述至少一个时间段内对应类对象包含的对象间的告警传递关系。2.如权利要求1所述的方法,其特征在于,标记所述原始告警序列中来源于同一对象的连续告警信息,获得至少一类对象对应的当前告警序列,包括:针对每类来源对象,确定所述原始告警序列中每个告警信息来源的对象;将所述原始告警序列中,来自同一对象的连续告警信息标记为一个子集合,获得对应类对象的当前告警序列。3.如权利要求2所述的方法,其特征在于,所述来源对像的类型,包括:多集群、单集群、单主机;其中,所述多集群对应的来源对象为多个集群,所述单集群对应的来源对象为多个主机、所述单主机对应的来源对象为单个主机;所述单个主机对应的当前告警序列为所述单个主机的原始告警序列。4.如权利要求1-3任一项所述的方法,其特征在于,将获得的每个当前告警序列,存储到对应类对象的时间段序列中,包括:确定所述每个当前告警序列的产生时间所属的时间段;获取所述每个当前告警序列的产生时间所属的时间段中,与所述每个当前告警序列对应的同类对象的时间段序列;将所述每个当前告警序列追加到对应类对象的时间段序列中。5.如权利要求4所述的方法,其特征在于,对连续存储的至少一个时间段对应的至少一类对象的时间段序列进行频繁序列分析,获得所述至少一个时间段内对应类对象包含的对象间的告警传递关系,包括:获取指定时间区间内每个时间段对应的至少一类来源对象包含的时间段序列;将所述指定时间区间内同一类对象的所有时间段序列,按时间顺序组成连续时间段序列;用前缀投影的模式挖掘算法,分析所述连续时间段序列中对象间告警的频繁序列关系,获得所述告警传递关系。6.如权利要求5所述的方法,其特征在于,用前缀投影的模式挖掘算法,分析所述连续时间段序列中对象间告警的频繁序列关系,获得所述告警传递关系,包括:若所述来源的类型为所述多集群,则用前缀投影的模式挖掘算法,挖掘所述连续时间段序列中集群间告警的频繁序列关系,获得所述连续时间段内集群间的告警传递关系。7.如权利要求5所述的方法,其特征在于,用前缀投影的模式挖掘算法,分析所述连续
时间段序列中对象间告警的频繁序列关系,获得所述告警传递关系,包括:若所述来源的类型为所述单集群,则用前缀投影的模式挖掘算法,挖掘所述连续时间段序列中单个集群中主机间告警的频繁序列关系,获得所述连续时间段内单个集群中主机间的告警传递关系。8.如权利要求5所述的方法,其特征在于,用前缀投影的模式挖掘算法,分析所述连续时间段序列中对象间告警的频繁序列关系,获得所述告警传递关系,包括:若所述来源的类型为所述单主机,则用前缀投影的模式挖掘算法,挖掘所述连续时间段序列中单个主机中告警信息间的频繁序列关系,获得所述连续时间段内单主机中告警信息间的告警传递关系。9.一种告警分析的系统,其特征在于,包括:接收模块,用于接收按时间顺序排列的原始告警序列;其中,所述原始告警序列中包括至少一个告警信息;标记模块,用于标记所述原始告警序列中来源于同一对象的连续告警信息,获得至少一类对象对应的当前告警序列;其中,所述连续告警信息是由时间上连续,且来自同一对象的多个告警信息组成的,所述当前告警序列中同一元素由来自同一对象的至少一个告警信息组成;存储模块,用于将获得的每个当前告警序列,存储到对应类对象的时间段序列中;其中,所述当前告警序列的产生时间在所述时间段序列对应的时间段内;分析模块,用于对连续存储的至少一个时间段对应的至少一类对象的时间段序列进行频繁序列分析,获得所述至少一个时间段内对应类对象包含的对象间的告警传递关系。10.一种可读存储介质,其特征在于,包括存储器,所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如权利要求1~8中任一项所述的方法。
技术总结本发明公开了一种告警分析的方法、系统及存储介质,用以解决现有技术中存在的告警信息的相关性分析不够准确的技术问题,该方法包括:接收按时间顺序排列的原始告警序列;标记原始告警序列中来源于同一对象的连续告警信息,获得至少一类对象对应的当前告警序列;其中,连续告警信息是由时间上连续,且来自同一对象的多个告警信息组成的;将获得的每个当前告警序列,存储到对应类对象的时间段序列中;其中,当前告警序列的产生时间在时间段序列对应的时间段内;对连续存储的至少一个时间段对应的至少一类对象的时间段序列进行频繁序列分析,获得至少一个时间段内对应类对象包含的对象间的告警传递关系。对象间的告警传递关系。对象间的告警传递关系。
技术研发人员:巩光乾 安雨顺
受保护的技术使用者:天翼云科技有限公司
技术研发日:2022.07.14
技术公布日:2022/11/1