[發明專利]一種收集日志的方法及系統在審
| 申請號: | 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.szxzyx.cn/pat/books/201611021611.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:檢索方法、裝置和系統
- 下一篇:一種智能匹配銷售顧問和用戶的方法及設備





