基于flink和drool的实时日志处理

电脑杂谈  发布时间:2020-07-27 14:02:52  来源:网络整理

tomcat日志分类_日志系统管理分类_日志分类学生

ECharts5.0版本即将推出,让我们谈谈我与ECharts的关系! >>>

1,背景

连接到日志系统的日志类型很多,格式复杂多样. 主流日志包括以下类型:

以上通过各种渠道访问的日志有两个主要问题:

为解决以上两个问题,我们基于flink和drools规则引擎实现了实时日志处理服务.

2,系统架构

tomcat日志分类_日志系统管理分类_日志分类学生

结构比较简单,如下:

Kafka汇总了各种日志以进行日志传输.

Flink使用来自Kafka的数据,并通过API调用提取drools规则引擎. 解析日志后,解析后的数据将存储在Elasticsearch中以进行日志搜索和分析.

为了监视日志分析的实时状态,flink将写入日志处理的统计数据,例如每分钟处理的日志量,以及从每台机器IP到Redis的每个日志的日志量以进行监视统计信息.

3. 模块介绍

系统项目名为eagle.

tomcat日志分类_日志系统管理分类_日志分类学生

eagle-api: 基于springboot,是drools规则引擎的读写API服务.

eagle-common: 通用模块.

eagle-log: 基于flink的日志处理服务.

关注eagle-log:

与Kafka,ES和Redis联系

连接Kafka和ES相对简单. 使用了官方连接器(flink-connector-kafka-0.10和flink-connector-elasticsearch6). 有关详细信息,请参见代码.

日志系统管理分类_tomcat日志分类_日志分类学生

要连接到Redis,我首先使用org.apache.bahir提供的redis连接器,但后来发现它不够灵活,所以我使用Jedis.

将统计数据写入Redis时,分组后的数据将在初始键之后通过分组进行缓存,然后在中进行统计处理,参考代码如下:

后来发现这会消耗很多内存. 实际上,不需要缓存整个组的原始数据. 只需要一个统计数据. 优化后:

此处使用Flink的聚合函数和累加器,并通过flink的agg操作进行统计,从而减轻了内存消耗的压力.

使用广播来播放流口水规则引擎

1. 流口水规则流通过广播地图状态进行广播.

日志系统管理分类_日志分类学生_tomcat日志分类

2,Kafka的数据流连接规则流处理日志.

有关详细信息,请参阅开源代码.

4. 摘要

该系统提供了一个基于flink的实时数据处理参考,它与kafka,redis和elasticsearch相连接,并且数据处理逻辑是通过可配置的Drools规则引擎进行配置和动态的.

对于处理后的数据,它也可以连接到其他,以为其他各种业务平台提供数据分析日志系统管理分类,清理和标准化服务.

项目地址:

自成立以来,Mishu.com一直专注于软件项目,人才招聘,软件商城等日志系统管理分类,始终秉承“服务,易于使用的产品”的经营理念,以“提供高优质的服务和满足客户的需求,共同创造双赢局面是公司的目标,为中国国内企业提供国际,,个性化的软件项目解决方案. 我们公司拥有一流的项目经理团队,具有出色的软件项目设计和实施能力. 为全国不同行业的客户提供优质的产品和服务,受到了客户的广泛好评.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-288482-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 梁志苹
        梁志苹

        可怜了我父母攒钱攒了一辈子到头来

      • 伊势岛绫
        伊势岛绫

        请教一下

      • 贺朝
        贺朝

        期待你更好的作品

      热点图片
      拼命载入中...