赛博坦套件开发平台和Flink

头条 精帖
收藏
0 1823
Sunny912
cybertron 站长 2019-02-18 10:26:06
付费话题:0 积分

   随着阿里大手笔收购Flink所属公司的新闻曝光,Flink一时间成为大数据流式处理领域的明星,而实际上对于大数据的开发者来说,也确实到了一定要重视Flink的时候。

          Flink是什么?就不用详细说明了,可以参见Flink官网和阿里云的中文文档介绍。

          FlinkKafka结合,在信息安全数据处理领域可以有广泛的用途,尤其是在日志分析和流量分析方面,几乎可以贯穿数据处理的整个周期,包括数据传输,数据标准化,数据统计,数据分析等等。那么针对我们赛博坦平台来说,我们重点探讨一下关联分析和行为分析。我们都知道,赛博坦平台自主开发了分布式关联分析引擎和行为分析引擎,和Flink的技术看似矛盾,实则不矛盾,我们一直强调一个理念,没有最好的技术,只有最合适的技术,因此赛博坦平台作为一个安全管理领域的开发平台,一个很重要的一点就是适应性,也就是大家所说的弹性扩展。

   赛博坦平台自身就具备完备的流式处理,关联分析,行为分析,报表引擎等,在绝大多数用户的环境中,用户和开发者也无需了解流式处理,关联分析等这些原理,平台本身是全部具备的,安装和配置也是相当简单,极大地降低了用户的使用成本。

   当用户的数据量确实比较大的时候,赛博坦平台也完全支持对接KafkaFlinkHadoop,每个系统的应用目标不同,Kafka负责数据传输,Flink负责实时分析,包括关联分析和行为分析,Hadoop负责历史分析,处理大规模的报表。对于最终用户来说,可能没有什么不同,仍然是相同的界面。对于开发者来说,肯定就有不同,需要部署KafkaFlinkHadoop,学习了解相关的开发知识。

   我们这里重点谈一下赛博坦平台如何使用Flink来进行实时分析。对于安全领域的实时分析来说,主要就是用FlinkCEPSQL部分。

        FlinkCEP开发时间并不长,仍然存在比较大的问题:

        1)CEP比较适合固定的分析场景,分析模式和规则采用java代码开发,无法动态更新,对于经常变化的安全分析场景,就显得不足了,目前也有人提出了各种方案,例如和Drools结合,动态编译等等,但还是比较复杂,成本高,作为一个产品来说,尚不具备落地能力。

        2)CEP的性能和数据缓存方式对于大数据量仍然稍显不足,很难处理一些涉及长时间段的复杂关联场景。

        Flink的实时SQL支持也很不错,目前阿里云网站上有中文文档,写的很详细,SQL也有优缺点:

        1)SQL编写灵活,可以适合各种变化场景,动态更新就更不是问题了。

        2)SQL缺点就是大数据量下的性能问题,理论上支持无限制时间窗口,但是实际运用肯定要有技巧。

   

  那么针对以上问题,赛博坦平台采用了一个综合运用的方案,综合采用CEP和实时SQL

        1)对于行为分析,一般不涉及到用户需要动态自定义规则,只需要根据需求配置不同的参数,实际上非常适合CEP来做,因此我们用CEP来做行为分析。

        2)对于需要配置规则的关联分析,采用SQL来做,通过性能优化,处理能力也是完全足够的。

  3)  对于特定需求的场景,采用专项分析,可以做成小程序动态编译,放到Flink中来运行,可以用单独用CEPSQL,或者综合CEPSQL来做,这就非常灵活了。


回帖
  • 消灭零回复