一种告警聚合方法、系统、设备及计算机可读存储介质与流程

未命名 07-14 阅读:124 评论:0


1.本技术涉及计算机技术领域,更具体地说,涉及一种告警聚合方法、系统、设备及计算机可读存储介质。


背景技术:

2.随着互联网+和信息化的发展,网络攻击越来越普遍,造成的威胁也来越严重。企业为了减少损失,也开始重视和大量投入安全建设。企业根据不同需求购买多种不同功能的安全软件,例如防火墙、上网行为管理、终端安全、数据库安全等等。这些系统及系统中的程序在运作时都会产生记录事件的日志或告警,每一条日志都记载着日期、时间、运行事件、事件发起方等相关信息的描述。此外,无论多么复杂的病毒,在入侵电脑或者系统的时候总归会在日志中留下蛛丝马迹,因此,运维人员对日志进行分析有利于发现攻击,保护网络上的设备。
3.但是,随着企业对微服务架构、云原生的运用日渐成熟,it架构越来越复杂,日志产生速度加快、数据量巨大,无法靠人工分析如此巨量的数据,也不能靠人工直接识别日志数据中的大多数独特的内容。造成了对日志内容进行分析发现问题越来越困难。
4.综上所述,如何快速对告警进行处理是目前本领域技术人员亟待解决的问题。


技术实现要素:

5.本技术的目的是提供一种告警聚合方法,其能在一定程度上解决如何快速对告警进行处理的技术问题。本技术还提供了一种告警聚合系统、设备及计算机可读存储介质。
6.为了实现上述目的,本技术提供如下技术方案:
7.一种告警聚合方法,包括:
8.获取目标告警信息;
9.提取所述目标告警信息的目标命令行;
10.对所述目标命令行进行语法解析,生成目标语法树;
11.获取已有告警信息簇的已有语法树;
12.判断所述已有语法树与所述目标语法树是否相似,若是,则将所述目标告警信息归入所述已有告警信息簇。
13.优选的,所述对所述目标命令行进行语法解析,生成目标语法树,包括:
14.对所述目标命令行进行词法分析和语法分析,生成所述目标语法树。
15.优选的,所述对所述目标命令行进行语法解析,生成目标语法树,包括:
16.对所述目标命令行进行词法分析、语法分析和语义分析,生成所述目标语法树。
17.优选的,所述判断所述已有语法树与所述目标语法树是否相似,包括:
18.计算所述已有语法树与所述目标语法树的相似度值;
19.判断所述相似度值是否大于预设阈值,若是,则判定所述已有语法树与所述目标语法树相似。
20.优选的,所述计算所述已有语法树与所述目标语法树的相似度值具体为tree kernels算法。
21.优选的,所述判断所述已有语法树与所述目标语法树是否相似之前,还包括:
22.确定所述已有告警信息簇的已有命令行;
23.判断所述目标命令行与所述已有命令行是否相等;
24.若所述目标命令行与所述已有命令行不相等,则执行所述判断所述已有语法树与所述目标语法树是否相似的步骤。
25.优选的,所述判断所述目标命令行与所述已有命令行是否相等之后,还包括:
26.若所述目标命令行与所述已有命令行相等,则将所述目标告警信息归入所述已有告警信息簇。
27.优选的,所述判断所述已有语法树与所述目标语法树是否相似之后,还包括:
28.若所述已有语法树与所述目标语法树不相似,则判断是否存在其他已有告警信息簇;
29.若存在所述其他已有告警信息簇,则将所述已有告警信息簇更新为所述其他已有告警信息簇,并返回执行所述获取已有告警信息簇的已有语法树的步骤;
30.若不存在所述其他已有告警信息簇,则将所述目标告警信息作为新的告警信息簇。
31.一种告警聚合系统,包括:
32.第一获取模块,用于获取目标告警信息;
33.第一提取模块,用于提取所述目标告警信息的目标命令行;
34.第一解析模块,用于对所述目标命令行进行语法解析,生成目标语法树;
35.第二获取模块,用于获取已有告警信息簇的已有语法树;
36.第一判断模块,用于判断所述已有语法树与所述目标语法树是否相似,若是,则将所述目标告警信息归入所述已有告警信息簇。
37.一种电子设备,包括:
38.存储器,用于存储计算机程序;
39.处理器,用于执行所述计算机程序时实现如上任一所述告警聚合方法的步骤。
40.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述告警聚合方法的步骤。
41.本技术提供的一种告警聚合方法,获取目标告警信息;提取目标告警信息的目标命令行;对目标命令行进行语法解析,生成目标语法树;获取已有告警信息簇的已有语法树;判断已有语法树与目标语法树是否相似,若是,则将目标告警信息归入已有告警信息簇。本技术可以根据目标告警信息的目标命令行生成目标语法树,并基于目标语法树及已有语法树的相似性快速将目标告警信息聚和至已有告警信息簇中,可以快速对目标告警信息进行分类,进而便于快速对目标告警信息进行处理。本技术提供的一种告警聚合系统、设备及计算机可读存储介质也解决了相应技术问题。
附图说明
42.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
43.图1为本技术实施例提供的一种告警聚合方法的流程图;
44.图2为一种命令行的语法树示意图;
45.图3为本技术实施例提供的一种告警聚合方法的另一流程图;
46.图4为本技术实施例提供的一种告警聚合方法的另一流程图;
47.图5为本技术实施例提供的一种告警聚合系统的结构示意图;
48.图6为本发明实施例电子设备的硬件组成结构示意图。
具体实施方式
49.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
50.随着互联网+和信息化的发展,网络攻击越来越普遍,造成的威胁也来越严重。企业为了减少损失,也开始重视和大量投入安全建设。企业根据不同需求购买多种不同功能的安全软件,例如防火墙、上网行为管理、终端安全、数据库安全等等。这些系统及系统中的程序在运作时都会产生记录事件的日志或告警,每一条日志都记载着日期、时间、运行事件、事件发起方等相关信息的描述。此外,无论多么复杂的病毒,在入侵电脑或者系统的时候总归会在日志中留下蛛丝马迹,因此,运维人员对日志进行分析有利于发现攻击,保护网络上的设备。但是,随着企业对微服务架构、云原生的运用日渐成熟,it架构越来越复杂,日志产生速度加快、数据量巨大,无法靠人工分析如此巨量的数据,也不能靠人工直接识别日志数据中的大多数独特的内容。造成了对日志内容进行分析发现问题越来越困难。因此,为了快速对告警进行处理,本技术提供了一种告警聚合方案。
51.请参阅图1,图1为本技术实施例提供的一种告警聚合方法的流程图。
52.本技术实施例提供的一种告警聚合方法,可以包括以下步骤:
53.步骤s101:获取目标告警信息。
54.实际应用中,可以先获取目标告警信息,目标告警信息的类型可以根据实际需要确定,本技术在此不做具体限定。
55.需要说明的是,本技术中的告警指的是记载着日期、时间、运行事件、事件发起方等相关信息的描述,比如告警信息可以为“{“主机”:“127.0.0.1”,“命令行”:“ping www.abc.com”}”等。
56.步骤s102:提取目标告警信息的目标命令行。
57.实际应用中,在获取目标告警信息之后,便可以提取目标告警信息的目标命令行,以便后续根据目标命令行确定目标告警信息的类型。
58.需要说明的是,目标命令行的语言类型可以根据实际需要确定,比如目标命令行的语言可以为bash语言、shell语言、powershell语言、python语言、c语言、c++语言、自然语言、自定义的语言等,本技术在此不做具体限定。
59.步骤s103:对目标命令行进行语法解析,生成目标语法树。
60.实际应用中,在提取目标告警信息的目标命令行之后,还需对目标命令行进行语法解析,生成目标语法树,以便后续在语法层面上对目标告警信息进行分类。
61.需要说明的是,本技术中的“语法解析”是一个模糊名称,可以为词法分析+语法分析、词法分析+语法分析+语义分析,并且可以为程序语言的“语法解析”、自然语言的“语法解析”、自定义语言的“语法解析”等;语法树(syntax tree)又称抽象语法树(abstract syntax tree,ast)、解析树、语法解析树、语法分析树等,其以树状的形式表现编程语言的语法结构,且其内容可以根据实际需要确定。由目标命令行生成目标语法树的过程可以根据实际需要确定,比如目标命令行为1+3*(4-1)+2,则其对应的语法树可以如图2所示。
62.步骤s104:获取已有告警信息簇的已有语法树。
63.实际应用中,已有告警信息簇指的是相似的已有告警信息聚合在一起后形成的信息簇,也即已有告警信息簇中的告警信息均为相似告警信息,簇的数目即为告警信息的类别数。
64.具体应用场景中,已有告警信息簇中可以直接储存告警信息;也可以存储告警信息的索引等,此时,便需要根据索引来获取相应的告警信息。
65.步骤s105:判断已有语法树与目标语法树是否相似,若是,则执行步骤s106:将目标告警信息归入已有告警信息簇。
66.实际应用中,在对目标命令行进行语法解析,生成目标语法树之后,便可以获取已有告警信息簇的已有语法树,并判断已有语法树与目标语法树是否相似,若是,则可以直接将目标告警信息归入已有告警信息簇,这样,便可以确定目标告警信息的类别。
67.需要说明的是,在获取已有告警信息簇的已有语法树的过程中,可以将已有告警信息簇中一个或多个代表性日志的语法树作为已有语法树,比如将已有告警信息簇中最长的语法树作为已有语法树,将最长的命令行对应的语法树作为已有语法树等,也可以将已有告警信息簇中语法树的共同部分作为已有语法树等,本技术在此不做具体限定。此外,还需说明,已有告警信息簇中最长的语法树与已有告警信息簇中最长命令行对应的语法树间并无直接关联,也即通过将已有告警信息簇中最长的语法树作为已有语法树,或者将最长的命令行对应的语法树作为已有语法树所得到的已有语法树可能并不相同,通过两种方式最终得到的已有语法树的结果可以根据具体应用场景来确定,本技术在此不做具体限定。
68.本技术提供的一种告警聚合方法,获取目标告警信息;提取目标告警信息的目标命令行;对目标命令行进行语法解析,生成目标语法树;获取已有告警信息簇的已有语法树;判断已有语法树与目标语法树是否相似,若是,则将目标告警信息归入已有告警信息簇。本技术可以根据目标告警信息的目标命令行生成目标语法树,并基于目标语法树及已有语法树的相似性快速将目标告警信息聚和至已有告警信息簇中,可以快速对目标告警信息进行分类,进而便于快速对目标告警信息进行处理。
69.本技术提供的一种告警聚合方法中,在对目标命令行进行语法解析,生成目标语法树的过程中,可以直接对目标命令行进行词法分析和语法分析,生成目标语法树。
70.具体应用场景中,在对目标命令行进行语法解析,生成目标语法树的过程中,还可以对目标命令行进行词法分析、语法分析和语义分析,生成目标语法树等。
71.需要说明的是,词法分析(lexical analysis)是计算机科学中将字符序列转换为
单词(token)序列的过程,进行词法分析的程序或者函数叫作词法分析器(lexical analyzer,简称lexer);语法分析(syntax analysis或parsing)是编译过程的一个逻辑阶段,语法分析的任务是在词法分析的基础上将单词序列组合成各类语法短语,如“程序”,“语句”,“表达式”等等,进行语法分析的程序或者函数叫作词法分析器(简称parser);语义分析(syntax analysis)是编译过程的一个逻辑阶段,语义分析的任务是在语法分析的基础上对结构上正确的源程序进行上下文有关性质的审查,进行类型审查。
72.请参阅图3,图3为本技术实施例提供的一种告警聚合方法的另一流程图。
73.本技术实施例提供的一种告警聚合方法,可以包括以下步骤:
74.步骤s201:获取目标告警信息。
75.步骤s202:提取目标告警信息的目标命令行。
76.步骤s203:对目标命令行进行语法解析,生成目标语法树。
77.步骤s204:获取已有告警信息簇的已有语法树。
78.步骤s205:计算已有语法树与目标语法树的相似度值。
79.步骤s206:判断相似度值是否大于预设阈值,若是,则执行步骤s207:将目标告警信息归入已有告警信息簇。
80.本技术提供的一种告警聚合方法中,在判断已有语法树与目标语法树是否相似的过程中,可以计算已有语法树与目标语法树的相似度值;判断相似度值是否大于预设阈值,若是,则判定已有语法树与目标语法树相似。
81.需要说明的是,计算已有语法树与目标语法树的相似度值的方法可以根据实际需要确定,比如采用余弦相似度、曼哈顿距离、莱文斯坦距离等方法来计算已有语法树与目标语法树的相似度值等,本技术在此不做具体限定。
82.具体应用场景中,在计算已有语法树与目标语法树的相似度值的过程中,可以采用已有的tree kernels算法,详情参考alessandro moschitti所发表的文献《efficient convolution kernels for dependency and constituent syntactic trees》。通过该算法可以达到较为优异的技术效果,可参见后续表1及其相关描述。
83.下面对tree kernels算法的大致过程简单描述,详细内容可参考《efficient convolution kernels for dependency and constituent syntactic trees》。
84.tree kernels所披露的语法树相似度运算公式包括:
[0085][0086][0087][0088]dp
(k,l)=δ
p-1
(s1[1:k],s2[1:l])+λd
p
(k,l-1)+λd
p
(k-1,l)-λ2d
p
(k-1,l-1);
[0089]
其中,k(ta,tb)表示相似度值;ta表示已有语法树;tb表示目标语法树;na表示已有语法树中以节点a为根节点的第一子树;na表示第一子树中以节点a为根节点的第二子树;nb表示目标语法树中以节点b为根节点的第三子树;nb表示第三子树中以节点b为根节点的第
四子树;d表示第二子树的最后一个子节点,s1表示第二子树中节点d的父节点集合;g表示第四子树的最后一个子节点,s2表示第四子树中节点g的父节点集合;μ表示树高的惩罚因子;λ表示树宽的惩罚因子;p表示树的长度值;lm表示的长度和的长度中的最小值;|s1|表示s1的序列长度;|s2|表示s2的序列长度;s1[1:k]表示s1的1到k的子节点序列;s2[1:l]表示s2的1到l的子节点序列。
[0090]
需要说明的是,在计算d
p
(|s1|,|s2|)的过程中,需应用d
p
(k,l)的运算公式进行迭代,其过程可以根据具体需要进行展开;此外,基于语法树相似度运算公式计算得到的k(ta,tb)的值可能不在[0,1]之间,此时可以进一步对k(ta,tb)进行归一化处理,使得最终得到的相似度值在[0,1]之间,具体所用的归一化公式可以为:
[0091][0092]
其中,k'(ta,tb)表示归一化后的相似度值。
[0093]
请参阅图4,图4为本技术实施例提供的一种告警聚合方法的另一流程图。
[0094]
本技术实施例提供的一种告警聚合方法,可以包括以下步骤:
[0095]
步骤s301:获取目标告警信息。
[0096]
步骤s302:提取目标告警信息的目标命令行。
[0097]
步骤s303:对目标命令行进行语法解析,生成目标语法树。
[0098]
步骤s304:确定已有告警信息簇的已有命令行。
[0099]
步骤s305:判断目标命令行与已有命令行是否相等;若目标命令行与已有命令行不相等,则执行步骤s306,若目标命令行与已有命令行相等,则执行步骤s308。
[0100]
具体应用场景中,在判断已有语法树与目标语法树是否相似之前,还可以确定已有告警信息簇的已有命令行;判断目标命令行与已有命令行是否相等;若目标命令行与已有命令行不相等,则执行判断已有语法树与目标语法树是否相似的步骤。
[0101]
具体应用场景中,在判断目标命令行与已有命令行是否相等之后,若目标命令行与已有命令行相等,则可以将目标告警信息归入已有告警信息簇。
[0102]
步骤s306:获取已有告警信息簇的已有语法树。
[0103]
步骤s307:判断已有语法树与目标语法树是否相似,若是,则执行步骤s308:将目标告警信息归入已有告警信息簇。
[0104]
具体应用场景中,在判断已有语法树与目标语法树是否相似之后,若已有语法树与目标语法树不相似,则可以判断是否存在其他已有告警信息簇;若存在其他已有告警信息簇,则将已有告警信息簇更新为其他已有告警信息簇,并返回执行获取已有告警信息簇的已有语法树的步骤;若不存在其他已有告警信息簇,则将目标告警信息作为新的告警信息簇。
[0105]
为了便于理解本方案,现对本方案的效果进行验证,在第一种验证方式中,将已有告警信息簇中最长的语法树作为已有语法树、以上述具体实施例记载的语法树相似度计算方法计算已有语法树与目标语法树的相似度值来执行本方案,实验结果如表1所示;在第二种验证方式中,在保证语法树相似度计算方法不变,而将已有告警信息簇中最长命令行的语法树作为已有语法树进行实验后,发现相同数据下,第二种验证方式的告警减少比例会
比第一种验证方式降低1%左右。所以结合表1及以上验证过程可知,本方案在语义层面将相似告警聚合在一起,运维人员只需要从聚合后的每类告警中选取一个或多个代表性告警分析即可,大大减少了需要分析的告警数,减少了99%的告警,减少了人力成本、减轻了运维压力,利于聚焦有价值的攻击事件,投入产出比更高;并且由于通过计算语义相似度的方式聚合告警,所以不存在人工提取关键词造成日志分类效率低的问题和随机选取聚类中心造成分类结果可用性低的问题,以及部存在对新型攻击的效果不好的问题。
[0106]
表1本方案实验结果
[0107][0108]
请参阅图5,图5为本技术实施例提供的一种告警聚合系统的结构示意图。
[0109]
本技术实施例提供的一种告警聚合系统,可以包括:
[0110]
第一获取模块101,用于获取目标告警信息;
[0111]
第一提取模块102,用于提取目标告警信息的目标命令行;
[0112]
第一解析模块103,用于对目标命令行进行语法解析,生成目标语法树;
[0113]
第二获取模块104,用于获取已有告警信息簇的已有语法树;
[0114]
第一判断模块105,用于判断已有语法树与目标语法树是否相似,若是,则将目标告警信息归入已有告警信息簇。
[0115]
本技术实施例提供的一种告警聚合系统,第一解析模块可以包括:
[0116]
第一解析单元,用于对目标命令行进行词法分析和语法分析,生成目标语法树。
[0117]
本技术实施例提供的一种告警聚合系统,第一解析模块可以包括:
[0118]
第二解析单元,用于对目标命令行进行词法分析、语法分析和语义分析,生成目标语法树。
[0119]
本技术实施例提供的一种告警聚合系统,第一判断模块可以包括:
[0120]
第一计算单元,用于计算已有语法树与目标语法树的相似度值;
[0121]
第一判断单元,用于判断相似度值是否大于预设阈值,若是,则判定已有语法树与
目标语法树相似。
[0122]
本技术实施例提供的一种告警聚合系统,第一计算单元可以具体用于:
[0123]
基于teee kernels算法,计算已有语法树与目标语法树的相似度值。
[0124]
本技术实施例提供的一种告警聚合系统,还可以包括:
[0125]
第二判断模块,用于第一判断模块判断已有语法树与目标语法树是否相似之前,确定已有告警信息簇的已有命令行;判断目标命令行与已有命令行是否相等;若目标命令行与已有命令行不相等,则执行判断已有语法树与目标语法树是否相似的步骤。
[0126]
本技术实施例提供的一种告警聚合系统,第二判断模块还具体用于:判断目标命令行与已有命令行是否相等之后,若目标命令行与已有命令行相等,则将目标告警信息归入已有告警信息簇。
[0127]
本技术实施例提供的一种告警聚合系统,第一判断单元还具体用于:判断已有语法树与目标语法树是否相似之后,若已有语法树与目标语法树不相似,则判断是否存在其他已有告警信息簇;若存在其他已有告警信息簇,则将已有告警信息簇更新为其他已有告警信息簇,并返回执行获取已有告警信息簇的已有语法树的步骤;若不存在其他已有告警信息簇,则将目标告警信息作为新的告警信息簇。
[0128]
基于上述程序模块的硬件实现,且为了实现本发明实施例的方法,本发明实施例还提供了一种电子设备,图6为本发明实施例电子设备的硬件组成结构示意图,如图6所示,电子设备包括:
[0129]
通信接口1,能够与其它设备比如网络设备等进行信息交互;
[0130]
处理器2,与通信接口1连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的告警聚合方法。而所述计算机程序存储在存储器3上。
[0131]
当然,实际应用时,电子设备中的各个组件通过总线系统4耦合在一起。可理解,总线系统4用于实现这些组件之间的连接通信。总线系统4除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线系统4。
[0132]
本发明实施例中的存储器3用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
[0133]
可以理解,存储器3可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除可编程只读存储器(eprom,erasable programmable read-only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read-only memory)、磁性随机存取存储器(fram,ferromagnetic random access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,compact disc read-only memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random access memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronous static random access memory)、动态随机存取存储器(dram,
dynamic random access memory)、同步动态随机存取存储器(sdram,synchronous dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本发明实施例描述的存储器2旨在包括但不限于这些和任意其它适合类型的存储器。
[0134]
上述本发明实施例揭示的方法可以应用于处理器2中,或者由处理器2实现。处理器2可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2可以是通用处理器、dsp,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器2可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器3,处理器2读取存储器3中的程序,结合其硬件完成前述方法的步骤。
[0135]
处理器2执行所述程序时实现本发明实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
[0136]
在示例性实施例中,本发明实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器3,上述计算机程序可由处理器2执行,以完成前述方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flash memory、磁表面存储器、光盘、或cd-rom等存储器。
[0137]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置、终端和方法,可以通过其它的方式实现。以上所描述的设备实施例仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0138]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0139]
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0140]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0141]
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品
销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0142]
本技术实施例提供的告警聚合系统、设备及计算机可读存储介质中相关部分的说明请参见本技术实施例提供的告警聚合方法中对应部分的详细说明,在此不再赘述。另外,本技术实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
[0143]
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0144]
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种告警聚合方法,其特征在于,包括:获取目标告警信息;提取所述目标告警信息的目标命令行;对所述目标命令行进行语法解析,生成目标语法树;获取已有告警信息簇的已有语法树;判断所述已有语法树与所述目标语法树是否相似,若是,则将所述目标告警信息归入所述已有告警信息簇。2.根据权利要求1所述的方法,其特征在于,所述对所述目标命令行进行语法解析,生成目标语法树,包括:对所述目标命令行进行词法分析和语法分析,生成所述目标语法树。3.根据权利要求1所述的方法,其特征在于,所述对所述目标命令行进行语法解析,生成目标语法树,包括:对所述目标命令行进行词法分析、语法分析和语义分析,生成所述目标语法树。4.根据权利要求1至3任一项所述的方法,其特征在于,所述判断所述已有语法树与所述目标语法树是否相似,包括:计算所述已有语法树与所述目标语法树的相似度值;判断所述相似度值是否大于预设阈值,若是,则判定所述已有语法树与所述目标语法树相似。5.根据权利要求4所述的方法,其特征在于,所述计算所述已有语法树与所述目标语法树的相似度值,包括:基于tree kernels算法,计算所述已有语法树与所述目标语法树的所述相似度值。6.根据权利要求4所述的方法,其特征在于,所述判断所述已有语法树与所述目标语法树是否相似之前,还包括:确定所述已有告警信息簇的已有命令行;判断所述目标命令行与所述已有命令行是否相等;若所述目标命令行与所述已有命令行不相等,则执行所述判断所述已有语法树与所述目标语法树是否相似的步骤。7.根据权利要求6所述的方法,其特征在于,所述判断所述目标命令行与所述已有命令行是否相等之后,还包括:若所述目标命令行与所述已有命令行相等,则将所述目标告警信息归入所述已有告警信息簇。8.根据权利要求4所述的方法,其特征在于,所述判断所述已有语法树与所述目标语法树是否相似之后,还包括:若所述已有语法树与所述目标语法树不相似,则判断是否存在其他已有告警信息簇;若存在所述其他已有告警信息簇,则将所述已有告警信息簇更新为所述其他已有告警信息簇,并返回执行所述获取已有告警信息簇的已有语法树的步骤;若不存在所述其他已有告警信息簇,则将所述目标告警信息作为新的告警信息簇。9.一种告警聚合系统,其特征在于,包括:第一获取模块,用于获取目标告警信息;
第一提取模块,用于提取所述目标告警信息的目标命令行;第一解析模块,用于对所述目标命令行进行语法解析,生成目标语法树;第二获取模块,用于获取已有告警信息簇的已有语法树;第一判断模块,用于判断所述已有语法树与所述目标语法树是否相似,若是,则将所述目标告警信息归入所述已有告警信息簇。10.一种电子设备,其特征在于,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如权利要求1至8任一项所述告警聚合方法的步骤。11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述告警聚合方法的步骤。

技术总结
本申请公开了一种告警聚合方法、系统、设备及计算机可读存储介质,获取目标告警信息;提取目标告警信息的目标命令行;对目标命令行进行语法解析,生成目标语法树;获取已有告警信息簇的已有语法树;判断已有语法树与目标语法树是否相似,若是,则将目标告警信息归入已有告警信息簇。本申请可以根据目标告警信息的目标命令行生成目标语法树,并基于目标语法树及已有语法树的相似性快速将目标告警信息聚和至已有告警信息簇中,可以快速对目标告警信息进行分类,进而便于快速对目标告警信息进行处理。本申请提供的一种告警聚合系统、设备及计算机可读存储介质也解决了相应技术问题。计算机可读存储介质也解决了相应技术问题。计算机可读存储介质也解决了相应技术问题。


技术研发人员:董枫 曹锦新
受保护的技术使用者:深信服科技股份有限公司
技术研发日:2021.12.27
技术公布日:2023/7/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐