发明内容
本发明提出一种基于告警特征的智能告警分析和展示方法,该方案可以对大量相同特征的告警进行聚类分析,使得安全管理员看到的告警条数不会随着告警事件个数的增多而增多;同时提出一种对智能分析的结果进行展示的方法,有效的解决了上面提出的问题,目前已成功应用于实际项目中。
为解决上述现有技术的缺陷,本发明实施例提供一种基于告警特征的智能告警分析和展示方法和***,本发明提出一种基于告警特征的智能告警分析和展示方法,该方案可以对大量相同特征的告警进行聚类分析,使得安全管理员看到的告警条数不会随着告警事件个数的增多而增多;同时提出一种对智能分析的结果进行展示的方法,有效的解决了上面提出的问题,目前已成功应用于实际项目中。
本发明提供了一种报警智能分析和展示的方法,其特征在于,包括:Step1 接收采集到的引擎告警数据;Step2,所述引擎告警数据聚合分析后提取指定属性数据;Step3:将聚类结果持久化到第三方全文检索引擎的接口,并提供 Web前端展示聚类数据的数据过滤接口;Step4输出聚类告警消息。
优选的,该方法还包括:如果告警数据已存在,则进行更新,如果有新的类型,则将这些数据***数据库中。
优选的,该方法所述数据库是全文检索数据库ElasticSearch。
优选的,该方法步骤S2中的聚合分析具体包括:
Step21:将所述引擎告警***全文检索数据库ElasticSearch,ElasticSearch数据库按照所述指定字段对原始数据建立索引并编码,并将该编码和告警数据建立映射表;
Step22:根据告警数据的所述指定字段进行匹配,并进行分类;
Step23:将全部所述指定字段分别形成桶单元,所述桶单元内含满足条件告警集合,以及所有告警的总数;
Step24:在所述单元内部,分别根据告警记录的时间做最大值和最小值聚合;
Step25:获取聚类分析的结果。
本发明还提供了一种报警智能分析和展示的***,包括:接收模块,接收采集到的引擎告警数据;聚合分析模块,对所述引擎告警数据聚合分析后提取指定属性数据;聚类结果持久化和检索模块;告警模块,输出聚类告警消息。
优选的,该***还包括:更新单元,如果告警数据已存在,则进行更新,如果有新的类型,则将这些数据***数据库中。
优选的,该***所述数据库是全文检索数据库ElasticSearch。
优选的,该***所述聚合分析模块具体包括:
索引和映射单元,将所述引擎告警***全文检索数据库ElasticSearch,ElasticSearch数据库按照所述指定字段对原始数据建立索引并编码,并将该编码和告警数据建立映射表;
匹配分类单元,根据告警数据的所述指定字段进行匹配,并进行分类;
告警集合单元,将全部所述指定字段分别形成桶单元,所述桶单元内含满足条件告警集合,以及所有告警的总数;
内部聚合单元,在所述单元内部,分别根据告警记录的时间做最大值和最小值聚合;
获取结果单元,获取聚类分析的结果。
本发明还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述任一方法的步骤。
本发明还提供了计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如上述任一方法的步骤。
本发明提供的报警智能分析和展示的***和方法,与现有技术相比,本发明的优点如下:
1.提出一种新的智能告警聚类分析方法,化繁为简,将大量重复告警进行归类,这样会大大减少告警的数量,从存储角度能够节省空间,从检索角度能够提高性能,从实用角度能更加聚焦关键问题;
2.提出一种新的告警聚类数据展示方法,可操作性强,效率高,更便于安全人员处理网络告警;
3.告警数据存储使用全文检索引擎,检索效率比传统的关系型数据库更加高效,且支持多字段分词智能检索;
4.信息展示锁定化,可用于快速高效的展示了所需信息,可根据其他功能更快的查找到产品内容,定位更快捷。
具体实施方式
为了使本发明的目的、技术方案以及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
在下述介绍中,术语“第一”、“第二”仅用于描述的目的,而不能理解为暗示其相对重要性。
下述介绍提供了本发明的多个实施例,不同实施例之间可以替换或者合并组合,因此本发明也可认为包含所记载的相同和/或不同实施例的所有可能组合。因而,如果一个实施例包含特征A、B、C,另一个实施例包含特征B、 D,那么本发明也应视为包括含有A、B、C、D的一个或多个所有其他可能的组合的实施例,尽管该实施例可能并未在以下内容中有明确的文字记载。
本发明涉及的网络***中,如何避免报警事件频次过高和大量重复报警问题。
实施例1
参照图1,本实施例给出一种报警智能分析和展示的方法的示意。
一种报警智能分析和展示的方法包括以下步骤:
Step1:接收采集到的引擎告警数据;
本实施例中,引擎原始告警数据来源是网络告警监测采集引擎,引擎将原始告警以Json数据发送给后台服务的告警采集模块。引擎原始告警数据例如参见附图7。
附图7所示属性名中,最重要的属性是tag属性,该属性主要用于聚类分析,相同tag的告警认为是同一类的告警。
Step2:对所述引擎告警数据聚合分析后提取指定属性数据;
从采集模块消费数据后,定时(间隔5秒钟,可配置)检索相同种类的告警信息,并将聚合分析的结果通过调用聚合持久化接口保存到检索引擎。
将数据批量***到全文检索引擎,这些数据是后续智能分析的数据源。
优选的,所述数据库是全文检索数据库ElasticSearch。
优选的,聚类分析功能与原始告警存储异步执行。
告警智能分析的关键设计有两个,一个是告警特征的涉及,一个是聚类告警结构设计。典型的告警特征tag为如下拼接结构的字符串:
Tag={deviceId}–{policyId}–{RuleId}–{src}–{dst}
上面结构中各个字段前面已经描述过,如果原始告警中的tag完全相同则认为他们归属于一类告警。
聚类告警结构除了含有原始告警的所有字段之外,还包含下面字段:
GroupAlert数据格式定义
序号 |
属性名 |
描述 |
1 |
StartTime |
告警起始时间 |
2 |
EndTime |
告警终止时间 |
Step3:将聚类结果持久化到第三方全文检索引擎的接口,并提供Web 前端展示聚类数据的数据过滤接口;
所述数据过滤接口支持所有字段的过滤,且支持多个字段的与或组合等复杂条件的过滤功能。
所述检索引擎例如全文检索引擎,一种开源的第三方全文检索引擎。
Step4:输出聚类告警消息。
可以以各种方式输出聚类告警消息,例如采用告警页面方式,例如附图 8。
优选的,将聚合告警数据以列表形式渲染到页面左侧,包括聚合的时间, ip地址,总条数和所属类型。
优选的,通过后台传输的关联信息,渲染到右侧页面的详情信息上,包括头部的简易图形模拟,柱状图显示和tab切换显示不同设备三大部分
优选的,头部简易图形模拟包括了源地址,目的地址和设备名称,通过图像分布,简单明了的展示
优选的,柱状图是以最早聚合时间和最新聚合时间筛选的数据,在24 小时内的数据会展示各个小时的数据,超过24小时30天内则会展示每天的数据。时间可筛选,具体小时和天数的数据展示。
优选的,.tab切换关联了拓扑图信息,展示了MAC地址,IP地址,资产类型,资产位置,供应商名称,生产商名称和用户备注信息。
综上,在本发明基础实施例中,Web前端查询的告警数据是新的聚类之后的告警数据,这些数据更能重点体现告警发生的频次,起止时间,发生的位置,协议,告警的策略规则等信息,同时也提供了对同类告警数据一键归档功能,使得安全管理员可以对相同特征的告警一次性的对其确认删除。
参照图2,本实施例给出一种报警智能分析和展示的框图的示意。
一种报警智能分析和展示的***,包括:
接收模块,接收采集到的引擎告警数据;
聚合分析模块,对所述引擎告警数据聚合分析后提取指定属性数据;
检索模块,将指定属性数据输入检索引擎;
告警模块,输出聚类告警消息。
实施例2
该实施例考虑到聚类分析算法的更新。该优选实施例与基础实施例1相同之处,不再赘述。
如图3所示,该实施例的一种报警智能分析和展示方法,所述Step2还包括:
Step21:如果告警数据已存在,则进行更新,如果有新的类型,则将这些数据***数据库中。
相应的,该实施例的一种报警智能分析和展示***,如图4所示,所述聚合分析模块还包括:
更新单元,如果告警数据已存在,则进行更新,如果有新的类型,则将这些数据***数据库中。
如果告警数据已经存在过则用新的数据进行更新,如果是新的告警数据 (tag没有出现过),则将这些数据***到数据库中。
实施例3
该实施例考虑到适合工控平台聚合功能的需求,选择一种聚类算法的优选实施例。该优选实施例与基础实施例1相同之处,不再赘述。
如图5所示,该实施例的一种报警智能分析和展示方法,所述聚合分析具体包括:
Step21:将所述引擎告警***全文检索数据库ElasticSearch,ElasticSearch 数据库按照所述指定字段对原始数据建立索引并编码,并将该编码和告警数据建立映射表;
***数据库时,数据库按照上文中的告警特征Tag字段对原始数据建立索引(倒排索引),也就是对Tag进行编码,并将该编码和告警数据建立映射表,目的是在做聚合的时候可以快速检索到该条告警数据。
Step22:根据告警数据的所述指定字段进行匹配,并进行分类;
聚合时,指定按照告警数据的Tag字段全字段匹配,进行分类。
Step23:将全部所述指定字段分别形成桶单元,所述桶单元内含满足条件告警集合,以及所有告警的总数;
分类时,将所有tag相同的做为一个桶Bucket,桶内含满足条件告警集合,以及所有告警的总数;
Step24:在所述单元内部,分别根据告警记录的时间做最大值和最小值聚合;
在桶内部,再分别按照告警记录的时间做一次最大值和最小值聚合,目的是计算出一段时间内所有告警发生的其实和终止时间。
Step25:获取聚类分析的结果。
获取聚类分析的结果,也就是所有的Bucket,以及Bucket内部的数目,最早时间,最晚时间,以及Bucket的标识符(也就是tag)。
相应的,该实施例的一种报警智能分析和展示***,如图6所示,还包括:
索引和映射单元,将所述引擎告警***全文检索数据库 ElasticSearch,ElasticSearch数据库按照所述指定字段对原始数据建立索引并编码,并将该编码和告警数据建立映射表;
匹配分类单元,根据告警数据的所述指定字段进行匹配,并进行分类;
告警集合单元,将全部所述指定字段分别形成桶单元,所述桶单元内含满足条件告警集合,以及所有告警的总数;
内部聚合单元,在所述单元内部,分别根据告警记录的时间做最大值和最小值聚合;
获取结果单元,获取聚类分析的结果。
本说明书中的“模块”和“单元”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是FPGA(Field- Programmable Gate Array,现场可编程门阵列)、IC(Integrated Circuit,集成电路)等。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述用于授权管理控制请求的方法的步骤。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、 DVD、CD-ROM、微型驱动器以及磁光盘、ROM、RAM、EPROM、EEPROM、 DRAM、VRAM、闪速存储器设备、磁卡或光卡、纳米***(包括分子存储器IC),或适合于存储指令和/或数据的任何类型的媒介或设备。
本发明还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行程序时实现用于授权管理控制请求的方法的步骤。在本发明实施例中,处理器为计算机***的控制中心,可以是实体机的处理器,也可以是虚拟机的处理器。
以上介绍仅为本发明的优选实施例而已,并非对本发明作任何实质和形式上的限制。虽然本发明已以较佳实施例揭示如上,然而并非用以限定本发明,对于本领域的技术人员来说,在不脱离本发明技术方案范围内,可以利用上述揭示的技术内容作出各种更改和变化的等效实施例。但凡未脱离本发明的精神和原则,依据本发明的技术实质对以上实施例所作的任何简单修改、等同替换、改进等,均应包含在本发明的保护范围之内。