CN110659307A - 一种事件流的关联分析方法与系统 - Google Patents
一种事件流的关联分析方法与系统 Download PDFInfo
- Publication number
- CN110659307A CN110659307A CN201910840141.7A CN201910840141A CN110659307A CN 110659307 A CN110659307 A CN 110659307A CN 201910840141 A CN201910840141 A CN 201910840141A CN 110659307 A CN110659307 A CN 110659307A
- Authority
- CN
- China
- Prior art keywords
- rule
- association
- task
- data
- correlation analysis
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
Abstract
本发明公开了一种基于事件流的关联分析方法与系统,事件流的关联分析方法,包括:任务管理器以预设的轮询周期扫描任务队列,启用关联规则,加入任务队列后以子任务形式启动;所述子任务的进程,在预设的时间窗口内,实时监听数据源的事件流;当所述事件流在所述时间窗口内触犯所述关联规则,则产生告警并将告警信息入库。基于Flink框架的事件流关联分析方法与系统,海量数据的存储与处理能力得到较大提高,而且针对不同的业务需求减少了冗余数据,有利于提高关联分析效率。
Description
技术领域
本发明属于网络安全技术领域,尤其是涉及一种对各种网络资源的事件流进行关联分析的方法与系统。
背景技术
关联分析,是一种采用大数据采集、建模、分析技术,通过对各种网络资源的日志信息进行采集和自动化关联分析,及时发现网络当中的威胁和异常行为的网络安全工具,可以通过与防火墙、入侵防御、终端安全等产品的安全联动,实现对威胁和异常行为的有效处置,对各种情景做出预防响应,防患于未然。
随着互联网的发展,政府和企业信息化程度不断提高,各业务系统间联系越来越密切,数据交换越来越频繁,随之产生的海量的日志,对数据关联分析处理的实时性要求逐渐提高。传统的流数据处理框架其吞吐量和容错性存在先天的缺陷,不再适用于目前互联网行业的高速扩展的业务需求。因此对于流式数据的处理,以及多业务需求中快速存储的问题,需要设计一种数据流处理系统,准确实时地计算和处理相关业务数据,提高关联分析的效率。
发明内容
为了克服上述问题,提供一种基于事件流的关联分析方法与系统,加速对日志数据的采集、分流和关联分析。
首先,事件流的关联分析方法,包括:
任务管理器以预设的轮询周期扫描任务队列,启用关联规则,加入任务队列后以子任务形式启动;
所述子任务的进程,在预设的时间窗口内,实时监听数据源的事件流;
当所述事件流在所述时间窗口内触犯所述关联规则,则产生告警并将告警信息入库。
原始日志被采集存储后,分流至不同的消息队列作为所述被监听数据源。
所述原始日志采集采用Logstash收集引擎,所述数据存储采用Kafka存储机制,所述数据的分流处理采用Flink框架。
所述子任务的进程,根据不同需求选择不同的数据源进行事件流监听。
关联规则被启用或禁用时,在任务队列中删除或新增相应的子任务。
所述关联规则的加入,还包括以代码方式提交至任务管理器与以sql形式直接加入任务队列;前述两种方式加入的关联规则具有开启与禁用操作选择。
关联分析启动时,默认加载内置关联规则至任务队列,等待轮询执行。
优选的,还记录并保存被触犯规则的原始日志信息。
另一方面,事件流的关联分析系统,包括:
原始日志模块,用于对不同网络资源的原始日志进行采集解析并存储到第一级消息队列;
数据分流处理模块,从第一级消息队列取出日志数据,分流至第二级消息队列;
作业管理模块,包括以代码方式提交关联规则至任务管理器与以sql形式将关联规则直接加入任务队列;
规则模块,包括规则列表,所述规则列表内包括内置规则库与通过作业管理模块新增的关联规则;所述规则列表中的规则均可进行启用或禁用操作;
关联分析模块,包括关联分析引擎、任务管理器与任务队列;关联分析引擎启动后进行初始化,将启用状态的关联规则加载至任务队列;任务管理器轮询任务队列,启动任务,实时监听第二级消息队列的事件流。
所述关联分析模块,还包括告警信息存储单元与日志信息存储单元;当事件流触犯关联规则后,产生告警,告警信息存储在所述告警信息存储单元,被触犯规则的原始日志信息被存储至所述日志信息存储单元。
以上技术方案具有以下有益效果:采用针对流数据的Flink框架引擎和多级Kafka存储,对原始日志数据按照不同的业务需求进行分流,可以减轻关联分析的分析压力;关联分析可以根据不同的业务需求监听相应数据源的事件流,减小不必要的数据冗余,提高了数据存储、处理的计算能力;通过任务队列与任务管理器对关联分析任务进行轮询,优化任务处理;对关联分析的任务管理器和任务队列都提供代码编辑提交任务的方式,为及时响应个性化的用户需求提供了便利,也提高了产品的灵活性。
附图说明
图1为本发明实施例的事件流关联分析方法,原理框架与流程示意图;
图2为本发明实施例的事件流关联分析系统,组成结构示意图。
具体实施方式
在结合附图对本发明实施例的技术方案进行详细说明前,对涉及的技术进行解释。
Logstash是一个开源的数据收集引擎,它具有备实时数据传输能力。它可以统一过滤来自不同源的数据,并按照开发者的制定的规范输出到目的地。顾名思义,Logstash收集的数据对象就是日志文件。由于日志文件来源多(如:系统日志、服务器 日志等),且内容杂乱,不便于进行观察。因此,使用 Logstash 对日志文件进行收集和统一过滤,变成可读性高的内容,方便开发者或运维人员观察,从而有效的分析系统/项目运行的性能,做好监控和预警的准备工作等。
Kafka是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等。具有以下优点:高吞吐量、低延迟;可扩展性;持久性、可靠性;容错性;高并发。常用的场景,包括:日志收集,用户活动跟踪,流式处理等。
Flink核心是一个流式的数据流执行引擎,其针对数据流的分布式计算提供了数据分布、数据通信以及容错机制等功能。基于流执行引擎,Flink提供了诸多更高抽象层的API以便用户编写分布式任务,例如DataStream API,对数据流进行流处理操作,将流式的数据抽象成分布式的数据流,用户可以方便地对分布式数据流进行各种操作,支持Java和Scala。此外,Flink也可以方便地和Hadoop生态圈中其他项目集成,例如Flink可以读取存储在HDFS或HBase中的静态数据,以Kafka作为流式的数据源,直接重用MapReduce或Storm代码。
流处理系统与批处理系统最大不同在于节点间的数据传输方式。对于一个流处理系统,其节点间数据传输的标准模型是:当一条数据被处理完成后,序列化到缓存中,然后立刻通过网络传输到下一个节点,由下一个节点继续处理。而对于一个批处理系统,其节点间数据传输的标准模型是:当一条数据被处理完成后,序列化到缓存中,并不会立刻通过网络传输到下一个节点,当缓存写满,就持久化到本地硬盘上,当所有数据都被处理完成后,才开始将处理后的数据通过网络传输到下一个节点。这两种数据传输模式是两个极端,对应的是流处理系统对低延迟的要求和批处理系统对高吞吐量的要求。
Flink的执行引擎以固定的缓存块为单位进行网络数据传输,用户可以通过缓存块超时值指定缓存块的传输时机。如果缓存块的超时值为0,则Flink的数据传输方式类似上文所提到流处理系统的标准模型,此时系统可以获得最低的处理延迟。如果缓存块的超时值为无限大,则Flink的数据传输方式类似上文所提到批处理系统的标准模型,此时系统可以获得最高的吞吐量。同时缓存块的超时值也可以设置为0到无限大之间的任意值。缓存块的超时阈值越小,则Flink流处理执行引擎的数据处理延迟越低,但吞吐量也会降低,反之亦然。通过调整缓存块的超时阈值,用户可根据需求灵活地权衡系统延迟和吞吐量。
基于以上技术,本发明提出一种事件流的关联分析方法与系统,以加速对日志数据的采集、分流和分析,并进而优化关联分析过程,提高处理效率。
一方面,事件流的关联分析方法,主要包括:
任务管理器以预设的轮询周期扫描任务队列,启用关联规则,加入任务队列后以子任务形式启动;
所述子任务的进程,在预设的时间窗口内,实时监听数据源的事件流;
当所述事件流在所述时间窗口内触犯所述关联规则,则产生告警并将告警信息入库。
原始日志被采集存储后,分流至不同的消息队列作为所述被监听数据源。
所述原始日志采集采用Logstash收集引擎,所述数据存储采用Kafka存储机制,所述数据的分流处理采用Flink框架。
所述子任务的进程,根据不同需求选择不同的数据源进行事件流监听。
关联规则被启用或禁用时,在任务队列中删除或新增相应的子任务。
所述关联规则的加入,还包括以代码方式提交至任务管理器与以sql形式直接加入任务队列;前述两种方式加入的关联规则具有开启与禁用操作选择。
关联分析启动时,默认加载内置关联规则至任务队列,等待轮询执行。
优选的,还记录并保存被触犯规则的原始日志信息。
具体的说明本发明实施例的关联分析步骤,如图1所示。
Logstash收集引擎,采集网络资源的原始日志,以syslog形式存储到第一级Kafka消息队列,Flink主进程通过消费解析Kafka日志源,根据业务类型的不同(比如按照时间维度、事件类型维度进行数据的分流),将原始日志分流到不同的第二级Kafka存储队列,目的是为了减轻关联分析引擎的分析压力,起到按需消费的目的。
关联分析的任务队列内默认加载内置规则库,当启用规则列表内的规则时也会加入任务队列,而禁用状态的规则不会加入任务队列。所述的规则指关联分析规则,定义了各类安全事件或日志之间在发生序列、事后影响等方面的关联性,而实时关联分析即是根据预定义的关联分析规则,检测事件间的关联。
优选的,上述的关联规则会以规则列表的形式展示在Web界面,当用户启用或者禁用规则时,会通知关联分析引擎,从任务队列中删除或者新增规则,并等待轮训。
任务管理器,轮询上述任务队列中的任务,启动任务后,监听相对应业务的第二级Kafka消息队列中的实时事件流,以判断所述实时数据流是否触犯所述规则。例如在指定的时间窗口内,当多个第二级Kafka消息队列的数据流都符合特定的规则,则表示触犯了该规则。触犯规则后,记录对应的原始日志,并将原始日志存储在ES(Elasticsearch)数据库,以备后续调查取值。
根据预设的配置,触犯规则后判断是否进行告警,若进行告警则发出提示,包括但不限于防火墙阻断、、邮件、短信、弹窗等,并对告警进行分析后将告警信息存储到Mysql。
进一步的,关联规则加入,有两种形式,一是以代码的方式新建任务,即“打开IDE->了解flink语法写java代码->打包成jar->提交到任务管理器,此种方式适合开发人员进行后期的规则升级和维护。二是通过内置Flink sql编辑器,通过WEB控制台来创建库表、编辑并提交 SQL、设置作业参数、完成后点击提交按钮,作业会以sql的形式直接加入任务队列等待执行。该两种方式提交的作业都会以关联规则的形式在Web界面的规则列表展示,用户可以像内置规则一样对其进行启动或禁用操作。
另一方面,如图2所示,事件流的关联分析系统,包括:
原始日志模块,用于对不同网络资源的原始日志进行采集解析并存储到第一级消息队列;
数据分流处理模块,从第一级消息队列取出日志数据,分流至第二级消息队列;
作业管理模块,包括以代码方式提交关联规则至任务管理器与以sql形式将关联规则直接加入任务队列;
规则模块,包括规则列表,所述规则列表内包括内置规则库与通过作业管理模块新增的关联规则;所述规则列表中的规则均可进行启用或禁用操作;
关联分析模块,包括关联分析引擎、任务管理器与任务队列;关联分析引擎启动后进行初始化,将启用状态的关联规则加载至任务队列;任务管理器轮询任务队列,启动任务,实时监听第二级消息队列的事件流。
所述关联分析模块,还包括告警信息存储单元与日志信息存储单元;当事件流触犯关联规则后,产生告警,告警信息存储在所述告警信息存储单元,被触犯规则的原始日志信息被存储至所述日志信息存储单元。
本实施例中,原始日志采集采用Logstash收集引擎,所述数据存储采用Kafka存储机制,所述数据的分流处理采用Flink框架。
Flink在系统中主要用途:分流,即根据不同的业务类型对Kafka中已经解析的事件进行消费,分流后的数据存入不同的Kafka。关联分析,即关联分析引擎按照实际的业务需求,选择不同topic的数据流进行消费,减小不必要的数据冗余。统计分析,即按照一定的业务规则统计事件发生的情况。
综上,基于Flink框架的事件流关联分析方法与系统,海量数据的存储与处理能力得到较大提高,而且针对不同的业务需求减少了冗余数据,有利于提高关联分析效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如下步骤:(方法的步骤),所述的存储介质,如:ROM/RAM、磁碟、光盘等。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种事件流的关联分析方法,其特征在于,包括:
任务管理器以预设的轮询周期扫描任务队列,将关联规则加入任务队列后以子任务形式启动;
所述子任务的进程,在预设的时间窗口内,实时监听数据源的事件流;
当所述事件流在所述时间窗口内触犯所述关联规则,则产生告警并将告警信息入库。
2.根据权利要求1所述的关联分析方法,其特征在于,原始日志被采集存储后,分流至不同的消息队列作为所述被监听数据源。
3.根据权利要求2所述的关联分析方法,其特征在于,所述原始日志采集采用Logstash收集引擎,所述数据存储采用Kafka存储机制,所述数据的分流处理采用Flink框架。
4.根据权利要求1至3任一所述的关联分析方法,其特征在于,所述子任务的进程,根据不同需求选择不同的数据源进行事件流监听。
5.根据权利要求1至3所述的关联分析方法,其特征在于,关联规则被启用或禁用时,在任务队列中删除或新增相应的子任务。
6.根据权利要求5所述的关联分析方法,其特征在于,所述关联规则的加入,还包括以代码方式提交至任务管理器与以sql形式直接加入任务队列;前述两种方式加入的关联规则具有开启与禁用操作选择。
7.根据权利要求1所述的关联分析方法,其特征在于,关联分析启动时,默认加载内置关联规则至任务队列,等待轮询执行。
8.根据权利要求1所述的关联分析方法,其特征在于,记录并保存被触犯规则的原始日志信息。
9.事件流的关联分析系统,其特征在于,包括:
原始日志模块,用于对不同网络资源的原始日志进行采集解析并存储到第一级消息队列;
数据分流处理模块,从第一级消息队列取出日志数据,分流至第二级消息队列;
作业管理模块,包括以代码方式提交关联规则至任务管理器与以sql形式将关联规则直接加入任务队列;
规则模块,包括规则列表,所述规则列表内包括内置规则库与通过作业管理模块新增的关联规则;所述规则列表中的规则均可进行启用或禁用操作;
关联分析模块,包括关联分析引擎、任务管理器与任务队列;关联分析引擎启动后进行初始化,将启用状态的关联规则加载至任务队列;任务管理器轮询任务队列,启动任务,实时监听第二级消息队列的事件流。
10.根据权利要求9所述的关联分析系统,其特征在于,所述关联分析模块,还包括告警信息存储单元与日志信息存储单元;当事件流触犯关联规则后,产生告警,告警信息存储在所述告警信息存储单元,被触犯规则的原始日志信息被存储至所述日志信息存储单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910840141.7A CN110659307A (zh) | 2019-09-06 | 2019-09-06 | 一种事件流的关联分析方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910840141.7A CN110659307A (zh) | 2019-09-06 | 2019-09-06 | 一种事件流的关联分析方法与系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110659307A true CN110659307A (zh) | 2020-01-07 |
Family
ID=69038057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910840141.7A Pending CN110659307A (zh) | 2019-09-06 | 2019-09-06 | 一种事件流的关联分析方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110659307A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111241078A (zh) * | 2020-01-07 | 2020-06-05 | 网易(杭州)网络有限公司 | 数据分析系统、数据分析的方法及装置 |
CN111431926A (zh) * | 2020-04-02 | 2020-07-17 | 深信服科技股份有限公司 | 一种数据关联分析的方法、系统、设备及可读存储介质 |
CN111600898A (zh) * | 2020-05-22 | 2020-08-28 | 国网电力科学研究院有限公司 | 基于规则引擎的安全告警生成方法、装置及系统 |
CN112116790A (zh) * | 2020-08-13 | 2020-12-22 | 广州市中海达测绘仪器有限公司 | 一种基于流式框架的cors预警监控系统 |
CN112131877A (zh) * | 2020-09-21 | 2020-12-25 | 民生科技有限责任公司 | 一种海量数据下的实时中文文本分词方法 |
CN112289029A (zh) * | 2020-10-30 | 2021-01-29 | 上海炬宏信息技术有限公司 | 基于Flink架构的多数据源实时交通事件处理方法 |
CN113449290A (zh) * | 2021-06-16 | 2021-09-28 | 中国工程物理研究院计算机应用研究所 | 一款内网多元数据关联分析引擎软件 |
CN114661563A (zh) * | 2022-05-24 | 2022-06-24 | 恒生电子股份有限公司 | 基于流处理框架的数据处理方法以及系统 |
CN116436772A (zh) * | 2023-06-08 | 2023-07-14 | 上海观安信息技术股份有限公司 | 实时告警方法和装置、电子设备及存储介质 |
-
2019
- 2019-09-06 CN CN201910840141.7A patent/CN110659307A/zh active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111241078A (zh) * | 2020-01-07 | 2020-06-05 | 网易(杭州)网络有限公司 | 数据分析系统、数据分析的方法及装置 |
CN111431926B (zh) * | 2020-04-02 | 2022-11-22 | 深信服科技股份有限公司 | 一种数据关联分析的方法、系统、设备及可读存储介质 |
CN111431926A (zh) * | 2020-04-02 | 2020-07-17 | 深信服科技股份有限公司 | 一种数据关联分析的方法、系统、设备及可读存储介质 |
CN111600898A (zh) * | 2020-05-22 | 2020-08-28 | 国网电力科学研究院有限公司 | 基于规则引擎的安全告警生成方法、装置及系统 |
CN112116790A (zh) * | 2020-08-13 | 2020-12-22 | 广州市中海达测绘仪器有限公司 | 一种基于流式框架的cors预警监控系统 |
CN112116790B (zh) * | 2020-08-13 | 2024-04-12 | 广州市中海达测绘仪器有限公司 | 一种基于流式框架的cors预警监控系统 |
CN112131877A (zh) * | 2020-09-21 | 2020-12-25 | 民生科技有限责任公司 | 一种海量数据下的实时中文文本分词方法 |
CN112131877B (zh) * | 2020-09-21 | 2024-04-09 | 民生科技有限责任公司 | 一种海量数据下的实时中文文本分词方法 |
CN112289029A (zh) * | 2020-10-30 | 2021-01-29 | 上海炬宏信息技术有限公司 | 基于Flink架构的多数据源实时交通事件处理方法 |
CN113449290A (zh) * | 2021-06-16 | 2021-09-28 | 中国工程物理研究院计算机应用研究所 | 一款内网多元数据关联分析引擎软件 |
CN114661563A (zh) * | 2022-05-24 | 2022-06-24 | 恒生电子股份有限公司 | 基于流处理框架的数据处理方法以及系统 |
CN114661563B (zh) * | 2022-05-24 | 2022-10-04 | 恒生电子股份有限公司 | 基于流处理框架的数据处理方法以及系统 |
CN116436772A (zh) * | 2023-06-08 | 2023-07-14 | 上海观安信息技术股份有限公司 | 实时告警方法和装置、电子设备及存储介质 |
CN116436772B (zh) * | 2023-06-08 | 2023-08-11 | 上海观安信息技术股份有限公司 | 实时告警方法和装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110659307A (zh) | 一种事件流的关联分析方法与系统 | |
AU2005202442B2 (en) | System and method for auditing a network | |
US8954971B2 (en) | Data collecting method, data collecting apparatus and network management device | |
US20100070981A1 (en) | System and Method for Performing Complex Event Processing | |
CN110581773A (zh) | 一种自动化服务监控与报警管理系统 | |
JP2017515180A (ja) | ビッグ・データ・リポジトリにおけるデータ・セットの処理 | |
JP7254975B2 (ja) | 実行可能論理を用いて構造化データアイテムを処理するためのキーベースのロギング | |
US20080065588A1 (en) | Selectively Logging Query Data Based On Cost | |
US8380675B1 (en) | Mailbox archiving using adaptive patterns | |
US11113142B2 (en) | Early risk detection and management in a software-defined data center | |
CN111858251B (zh) | 一种基于大数据计算技术的数据安全审计方法及系统 | |
CN113448812A (zh) | 微服务场景下的监控告警方法及装置 | |
Sukhija et al. | Event management and monitoring framework for HPC environments using ServiceNow and Prometheus | |
CN110851324A (zh) | 基于日志的巡检处理方法、装置以及电子设备、存储介质 | |
EP3202091B1 (en) | Operation of data network | |
CN105069029B (zh) | 一种实时etl系统及方法 | |
CN114090529A (zh) | 一种日志管理方法、装置、系统和存储介质 | |
EP3011456B1 (en) | Sorted event monitoring by context partition | |
KR100992417B1 (ko) | 통합관리방법 및 통합관리시스템, 그 기록매체 | |
CN111211938B (zh) | 生物信息软件监控系统及方法 | |
CN115168297A (zh) | 绕行日志审计方法及装置 | |
US11416187B2 (en) | Information processing system, information processing apparatus, and non-transitory computer readable medium | |
CN117076508B (zh) | 一种流数据处理系统支持批数据处理的方法 | |
US20230229545A1 (en) | Intelligent log analysis and retention for microservices applications | |
CN115794602A (zh) | 一种项目数据反哺方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200107 |