一种日志管理系统、方法及装置制造方法及图纸

技术编号:15652254 阅读:35 留言:0更新日期:2017-06-17 05:34
本发明专利技术实施例公开了一种日志管理方法、装置及系统。该方法包括:Kafka根据不同的业务定义日志格式和Hbase表,并根据所述日志格式将日志数据发送到KafkaCluster的Topic中;Flume和Jstorm从所述Topic中读取日志数据;所述Flume和所述Jstorm读取所述日志数据并进行HDFS的数据持久化操作。本发明专利技术采用了Kafka这一高吞吐量的分布式发布订阅消息系统与Flume海量日志采集、聚合和传输的系统;采用的所有组件都采用了Master/Slave模式保证了当有个别节点宕机的情况下不会影响业务的正常运行,并且Flume与Kafka都有Wal机制,保证日志不会丢失。

【技术实现步骤摘要】
一种日志管理系统、方法及装置
本专利技术实施例涉及互联网的
,尤其涉及一种日志管理系统、方法及装置。
技术介绍
过去十年来,随着分布式系统的发展,日志数据管理起来更加复杂。如今,系统中可以容纳数以千计的服务器实例或者微服务容器,而所有这些实例或容器又会生成自己的日志数据。随着以云为基础的系统快速出现并占据主导地位,由机器所生成的日志数据呈爆炸性增长。目前传统的收集日志方法,在后端生成日志后,通过scp命令上传、下载或通过rsync命令定时同步等方式收集汇总,然后通过机器脚本分析、或者人工观察统计、或者图形绘制等方式来分析,这种方法的实时性较差。而日志管理随之成为现代化IT运营中的重要任务,为包括调试、生产监控、性能监控、支持援助与故障查找之类的许多用例提供辅助支撑。处理这些日志需要特定的日志管理解决方案,一般而言,日志管理解决方案需要解决以下特征:(1)低耦合:构建应用系统和分析系统的桥梁,并将它们之间的关联解耦;(2)高吞吐:支持高吞吐、低延迟、近实时数据持久化操作和大量小文件的存储;(3)具有高可扩展性:即:当系统操作量增加时,可以通过增加节点进行水平扩展;(4)具有高可用:当节点出现故障时,日志能够被传送到其他节点上而不会丢失。
技术实现思路
本专利技术实施例的目的在于提出一种日志管理系统、方法及装置,旨在解决如何快速、准确地收集用户行为日志,并快速、准确地获取与关注用户行为相关的信息。为达此目的,本专利技术实施例采用以下技术方案:第一方面,一种日志管理系统,所述系统包括:Kafka、Flume和Jstorm;所述Kafka,用于根据不同的业务定义日志格式和Hbase表,并根据所述日志格式将日志数据发送到KafkaCluster的Topic中;所述Flume,用于从所述Topic中读取日志数据,读取所述日志数据并进行HDFS的数据持久化操作;所述Jstorm,用于从所述Topic中读取日志数据,读取所述日志数据并进行HDFS的数据持久化操作。第二方面,一种日志管理方法,所述方法包括:Kafka根据不同的业务定义日志格式和Hbase表,并根据所述日志格式将日志数据发送到KafkaCluster的Topic中;Flume和Jstorm从所述Topic中读取日志数据;所述Flume和所述Jstorm读取所述日志数据并进行HDFS的数据持久化操作;优选地,所述根据不同的业务定义日志格式和Hbase表,包括:根据不同的业务定义日志格式,并在所述Kafka中定义不同的Topic,所述Topic用于收发日志;根据业务需要定义所述Hbase表,所述Hbase表用于避免造成热点写\读。优选地,所述Flume读取所述日志数据并进行HDFS的数据持久化操作,包括:从所述Flume中读取所述日志数据并传输到Hbase表中,未做ETL的数据需数据持久化操作到HDFS中。优选地,所述Jstorm读取所述日志数据并进行HDFS的数据持久化操作,包括:所述JStorm从所述KafkaCluster中获取所述日志数据并通过预设算法计算后将复杂业务逻辑数据持久化操作到RDBMS中;从所述Jstorm中分析的日志数据持久化操作到所述RDBMS中后,由Sqoop组件进行所述HDFS的数据持久化操作。优选地,所述Flume和所述Jstorm读取所述日志数据并进行HDFS的数据持久化操作之后,包括:采用MapReduce进行分析提取数据持久化操作后的数据;若所述数据持久化操作后的数据量小于预设第一数据量阈值,则采用Sqoop重新提交到RDBMS中;若所述数据持久化操作后的数据量大于预设第二数据阈值,则采用Solr、ES全文数据库做查询支撑。第三方面,一种日志管理装置,所述装置包括:定义模块,用于根据不同的业务定义日志格式和Hbase表;发送模块,用于根据所述日志格式将日志数据发送到KafkaCluster的Topic中;读取模块,用于从所述Topic中读取日志数据;第一处理模块,用于读取所述日志数据并进行HDFS的数据持久化操作;优选地,所述定义模块,具体用于:根据不同的业务定义日志格式,并在所述Kafka中定义不同的Topic,所述Topic用于收发日志;根据业务需要定义所述Hbase表,所述Hbase表用于避免造成热点写\读。优选地,所述第一处理模块,具体用于:从Flume中读取所述日志数据并传输到Hbase表中,未做ETL的数据需数据持久化操作到HDFS中;所述第一处理模块,还具体用于:从所述KafkaCluster中获取所述日志数据并通过预设算法计算后将复杂业务逻辑数据持久化操作到RDBMS中;从Jstorm中分析的日志数据持久化操作到所述RDBMS中后,由Sqoop组件进行所述HDFS的数据持久化操作。优选地,所述装置还包括:第二处理模块,用于在所述Flume和所述Jstorm读取所述日志数据并进行HDFS的数据持久化操作之后,采用MapReduce进行分析提取数据持久化操作后的数据;若所述数据持久化操作后的数据量小于预设第一数据量阈值,则采用Sqoop重新提交到RDBMS中;若所述数据持久化操作后的数据量大于预设第二数据阈值,则采用Solr、ES全文数据库做查询支撑。本专利技术实施例提供一种日志管理方法、装置及系统,Kafka根据不同的业务定义日志格式和Hbase表,并根据所述日志格式将日志数据发送到KafkaCluster的Topic中;Flume和Jstorm从所述Topic中读取日志数据;所述Flume和所述Jstorm读取所述日志数据并进行HDFS的数据持久化操作。本专利技术采用了Kafka这一高吞吐量的分布式发布订阅消息系统与Flume海量日志采集、聚合和传输的系统;当系统操作量增加时,可以通过增加节点进行水平扩展;采用的所有组件都采用了Master/Slave模式保证了当有个别节点宕机的情况下不会影响业务的正常运行,并且Flume与Kafka都有Wal机制,保证日志不会丢失。附图说明图1是本专利技术实施例提供的一种日志管理系统的结构示意图;图2是本专利技术实施例提供的另一种日志管理系统的结构示意图;图3是本专利技术实施例提供的一种日志管理方法的流程示意图;图4是本专利技术实施例提供的另一种日志管理方法的流程示意图;图5是本专利技术实施例提供的一种日志管理装置的功能模块示意图。具体实施方式下面结合附图和实施例对本专利技术实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术实施例,而非对本专利技术实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术实施例相关的部分而非全部结构。参考图1,图1是本专利技术实施例提供的一种日志管理系统的结构示意图。如图1所示,所述日志管理系统包括:Kafka、Flume和Jstorm;Kafka,用于根据不同的业务定义日志格式和Hbase表,并根据所述日志格式将日志数据发送到KafkaCluster(ApacheKafkaCluster)的Topic中;Flume,用于从所述Topic中读取日志数据,读取所述日志数据并进行HDFS的数据持久化操作;Jstorm,用于从所述Topic中读取日志数据,读取所述日志数据并进行HDFS的数据持久化操作。本专利技术实施例提供一种日志管理系统,所本文档来自技高网...
一种日志管理系统、方法及装置

【技术保护点】
一种日志管理系统,其特征在于,所述系统包括:Kafka、Flume和Jstorm;所述K afka,用于根据不同的业务定义日志格式和Hbase表,并根据所述日志格式将日志数据发送到KafkaCluster的Topic中;所述Flume,用于从所述Topic中读取日志数据,读取所述日志数据并进行HDFS的数据持久化操作;所述Jstorm,用于从所述Topic中读取日志数据,读取所述日志数据并进行HDFS的数据持久化操作。

【技术特征摘要】
1.一种日志管理系统,其特征在于,所述系统包括:Kafka、Flume和Jstorm;所述Kafka,用于根据不同的业务定义日志格式和Hbase表,并根据所述日志格式将日志数据发送到KafkaCluster的Topic中;所述Flume,用于从所述Topic中读取日志数据,读取所述日志数据并进行HDFS的数据持久化操作;所述Jstorm,用于从所述Topic中读取日志数据,读取所述日志数据并进行HDFS的数据持久化操作。2.一种日志管理方法,其特征在于,所述方法包括:Kafka根据不同的业务定义日志格式和Hbase表,并根据所述日志格式将日志数据发送到KafkaCluster的Topic中;Flume和Jstorm从所述Topic中读取日志数据;所述Flume和所述Jstorm读取所述日志数据并进行HDFS的数据持久化操作。3.根据权利要求2所述的方法,其特征在于,所述根据不同的业务定义日志格式和Hbase表,包括:根据不同的业务定义日志格式,并在所述Kafka中定义不同的Topic,所述Topic用于收发日志;根据业务需要定义所述Hbase表,所述Hbase表用于避免造成热点写\读。4.根据权利要求2所述的方法,其特征在于,所述Flume读取所述日志数据并进行HDFS的数据持久化操作,包括:从所述Flume中读取所述日志数据并传输到Hbase表中,未做ETL的数据需数据持久化操作到HDFS中。5.根据权利要求2所述的方法,其特征在于,所述Jstorm读取所述日志数据并进行HDFS的数据持久化操作,包括:所述JStorm从所述KafkaCluster中获取所述日志数据并通过预设算法计算后将复杂业务逻辑数据持久化操作到RDBMS中;从所述Jstorm中分析的日志数据持久化操作到所述RDBMS中后,由Sqoop组件进行所述HDFS的数据持久化操作。6.根据权利要求1至5任意一项所述的方法,其特征在于,所述Flume和所述Jstorm读取所述日志数据...

【专利技术属性】
技术研发人员:肖力文
申请(专利权)人:北京锐安科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1