[发明专利]一种收集日志的方法及系统在审
申请号: | 201611021611.X | 申请日: | 2016-11-16 |
公开(公告)号: | CN106776715A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 张飞翔;张翼;温宗臣;范卫卫 | 申请(专利权)人: | 北京集奥聚合科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京和信华成知识产权代理事务所(普通合伙)11390 | 代理人: | 胡剑辉 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 收集 日志 方法 系统 | ||
技术领域
本发明涉及大数据处理的技术领域,尤其涉及一种收集日志的方法,以及收集日志的系统。
背景技术
Flume以Event数据传送单位,默认把一行数据封装成一个Event,Sources端在flume-ng-core子项目中的org.apache.flume.serialization包下,有一个名为LineDeserializer的类,这个类负责把数据按行来读取,每一行封装成一个Event(实现方式:按字节读取,当遇到"/n"时封装成Event返回,下一次获取Event时继续获取下一字节并判断)。
Flume自带Source端拦截器Interceptors,利用Interceptors可以在在收集的数据的event的header中加入处理的时间戳、agent的主机或者IP、固定key-value等等。
现有技术的缺陷如下:
1、Flume中的数据按照Event的格式进行发送,一个Event对应原始文件的一行数据内容,主要实现方式:按字节读取,当遇到"/n"时封装成Event返回,下一次获取Event时继续获取下一字节并判断,Event中的body内容为一行数据,这样数据传送并发性较低,数据传送速度较慢,传送数据实时性差。
2、如果想根据Flume的Interceptors的指定内容把数据输出到相应hdfs路径下是可行的,但是,为了保持数据的通用性,企业中使用Flume一般是Flume+Kafka+Flume的架构,第一个Flume是收集日志入Kafka,第二个Fluem是读取Kafka中的日志入hdfs,使用kafka作为数据的中间存储介质,是考虑到下游使用kafka的数据还可以进行实时计算,分析日志。Flume中Haeder不能在Kafka中传递,因此Interceptors在这种应用场景下失效。
发明内容
为克服现有技术的缺陷,本发明要解决的技术问题是提供了一种收集日志的方法,其提高Flume中数据传输的速度,解决数据传送并发性较低、数据传送速度较慢、传送数据实时性差的问题,使得Fluem根据日志路径跨Kafka将日志输出到指定的hdfs。
本发明的技术方案是:这种收集日志的方法,该方法包括以下步骤:
(1)StringBuilder按照字符添加内容,遇到/n停止,n为整数,把n提取出让其为可配置参数在配置文件中配置,以便Flume传送一个Event内容相当于传送n个之前Event内容;
(2)数据经过kafka到flume,把接收到的日志进行切割,获取到日志路径,判断路径内容属于哪个hdfs路径,然后把日志发送到hdfs;
(3)准备配置文件;
(4)启动实时日志收集器,收集日志。
本发明把n提取出让其为可配置参数在配置文件中配置,Flume传送一个Event内容就相当于传送n个之前Event内容,因此提高Flume中数据传输的速度,解决数据传送并发性较低、数据传送速度较慢、传送数据实时性差的问题;把日志路径加在日志数据的后面,封装在body里面,这样做就可以通过Kafka传送数据,再到Flume把日志路径进行切割,获取到路径之后检查路径的内容,根据路径把日志输出到指定的hdfs路径下,因此使得Fluem根据日志路径跨Kafka将日志输出到指定的hdfs。
还提供了一种收集日志的系统,该系统包括:
配置n模块,其配置来StringBuilder按照字符添加内容,遇到/n停止,n为整数,把n提取出让其为可配置参数在配置文件中配置,以便Flume传送一个Event内容相当于传送n个之前Event内容;
日志发送模块,其配置来数据经过kafka到flume,把接收到的日志进行切割,获取到日志路径,判断路径内容属于哪个hdfs路径,然后把日志发送到hdfs;
准备模块,其配置来准备配置文件;
收集模块,其配置来启动实时日志收集器,收集日志。
附图说明
图1所示为根据本发明的收集日志的方法的流程图。
具体实施方式
如图1所示,这种收集日志的方法,该方法包括以下步骤:
(1)StringBuilder按照字符添加内容,遇到/n停止,n为整数,把n提取出让其为可配置参数在配置文件中配置,以便Flume传送一个Event内容相当于传送n个之前Event内容;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京集奥聚合科技有限公司,未经北京集奥聚合科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611021611.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:检索方法、装置和系统
- 下一篇:一种智能匹配销售顾问和用户的方法及设备