CN105005549A - 一种自定义链式日志解析装置及方法 - Google Patents
一种自定义链式日志解析装置及方法 Download PDFInfo
- Publication number
- CN105005549A CN105005549A CN201510460871.6A CN201510460871A CN105005549A CN 105005549 A CN105005549 A CN 105005549A CN 201510460871 A CN201510460871 A CN 201510460871A CN 105005549 A CN105005549 A CN 105005549A
- Authority
- CN
- China
- Prior art keywords
- blocker
- daily record
- event
- data
- log
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种自定义链式日志解析装置,包括在event由Source向Channel传输的过程中插入的拦截器链,所述拦截器链包含若干个顺序设置的自定义拦截器,自定义拦截器对应一个或多个正则表达式,将日志数据进行正则表达式的匹配,匹配后将日志中解析出的关键数据进行封装。本发明利用拦截器链的方式进行日志解析,通过简单配置的方式来解析不同的日志。本发明还提供了一种可配置、可扩展且高性能的日志分类解析方法,通过这种方式可随时进行日志解析的扩展。通过简单的配置和使用高灵活度的正则表达式可进行几乎所有类型日志的解析。除了对日志数据的处理外,采用拦截器链的方式还可以对flume收集的其它数据的处理。
Description
技术领域
本发明属于计算机领域,涉及一种采用flume拦截器完成日志数据解析装置及方法。
背景技术
在使用flume进行海量日志数据处理的过程中,由于处理的日志数据都是以某种格式约定的字符串,并且日志的格式多种多样,如何在flume中解析多种多样的日志数据便成了一个难点。
传统的方式是在flume得到日志数据后通过判断数据中的关键词来进行日志的解析,但日志格式多种多样,每匹配解析一种日志便要在代码中修改一次。而且随着判断的情况增多,也会引起整体性能的下降。
发明内容
本申请提供了一种利用flume自定义拦截器组成拦截器链来进行日志数据解析装置及方法,使用该装置及方法可以对收集的日志数据进行解析,可以通过配置的形式完成。
为了实现上述目的,本发明采用如下技术方案。
flume工作原理是,Flume主要由Source、Channel和Sink三部分组成,Source是负责收集数据的组件,是数据的来源。Channel是一个缓冲区,是数据传输的通道。Sink是数据的去向,负责将数据持久化或将数据推向别处。数据以event(事件)的形式存在和传输,事件是flume的基本单位,它携带日志数据body(字节数组形式)并且携带头信息(header),flume的数据流由event(事件)贯穿始终。它的传输过程是Source负责收集数据并封装成event,然后传输到Channel,最后传输到Sink,如此完成一个周期。如图1所示。
一种自定义链式日志解析装置,包括在event由Source向Channel传输的过程中插入的拦截器链,所述拦截器链包含若干个顺序设置的自定义拦截器,自定义拦截器,自定义拦截器对应一个或多个正则表达式,将日志数据进行正则表达式的匹配,匹配后将日志中解析出的关键数据进行封装。
一种自定义链式日志解析方法,包括如下步骤:
日志数据event从Source进入一个拦截器,在该拦截器中进行正则表达式的匹配,如果匹配成功则event进入到Channel中,如果匹配失败,则event进入到下一个拦截器中,进行正则表达式的匹配,匹配成功则event进入Channel,失败则进入到下一个拦截器,依次类推,最终完成日志的解析。
自定义拦截器,是组成拦截器链的环节。自定义拦截器是通过实现flume拦截器接口来完成的一种能够满足自己需求的扩展拦截器,具有很强的灵活性。主要用来完成event的接收、处理和组装。过程是从上一个环节接收到event,将event分解为header和body,拿到header和body中的内容并处理。最后将处理后的日志数据封装到event传递到下一个处理环节。
正则表达式,它是拦截器的核心部分,每个拦截器对应一个或多个正则表达式。从event的body中拿到的日志数据进行正则表达式的匹配,匹配后将日志中解析出的关键数据进行封装。同时将在header中封装匹配结果,然后传递到下一个处理环节。Header中的结果将决定下一个环节是否对event再进行处理。
拦截器的组合,是拦截器链的骨架部分,它最终决定拦截器链的构成和数据在拦截器链中的传递顺序。拦截器的组成结构是:第一拦截器、第二拦截器、第三拦截器……第N拦截器,N为自然数,拦截器顺序代表数据传输顺序。
本发明的有益效果是,本发明利用拦截器链的方式进行日志解析,通过简单配置的方式来解析不同的日志。其提供了一种可配置、可扩展且高性能的日志分类解析方法,传统方式是在一个环节进行所有日志数据的分析,这样性能底下且扩展难度高。通过这种方式可随时进行日志解析的扩展。通过简单的配置和使用高灵活度的正则表达式可进行几乎所有类型日志的解析。除了对日志数据的处理外,采用拦截器链的方式还可以对flume收集的其它数据的处理。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
图1是flume工作原理图。
图2是拦截器链中完成日志数据的解析的原理图。
图3是拦截器链的结构示意图。
图4是拦截器链工作流程图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的自定义链式日志解析装置及方法,实现的最主要的部分就是在event由Source向Channel传输的过程中插入拦截器链,在拦截器链中完成日志数据的解析。如图2所示。
自定义拦截器,该部分是组成拦截器链的环节。主要用来完成event的接收、处理和组装。过程是从上一个环节接收到event,将event分解为header和body,拿到header和body中的内容并处理。最后将处理后的日志数据封装到event传递到下一个处理环节。
正则表达式,它是拦截器的核心部分,每个拦截器对应一个或多个正则表达式。从event的body中拿到的日志数据进行正则表达式的匹配,匹配后将日志中解析出的关键数据进行封装。同时将在header中封装匹配结果,然后传递到下一个处理环节。Header中的结果将决定下一个环节是否对event再进行处理。
如图3所示,拦截器的组合,是拦截器链的骨架部分,它最终决定拦截器链的构成和数据在拦截器链中的传递顺序。拦截器的组合结构是:拦截器1、拦截器2、拦截器3……拦截器N,N为自然数,拦截器顺序代表数据传输顺序。
如图4所示,整个拦截器链的工作过程是,日志数据event从Source进入拦截器1,在拦截器1中进行正则表达式regex1的匹配,如果匹配成功则event进入到Channel中,如果匹配失败则event进入到拦截器2中进行处理。拦截器2的处理和拦截器1处理一致,先进行正则表达式regex2的匹配,匹配成功则event进入Channel,失败则进入到下一个拦截器,依次类推,最终完成日志的解析。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (2)
1.一种自定义链式日志解析装置,其特征是,包括在event由Source向Channel传输的过程中插入的拦截器链,所述拦截器链包含若干个顺序设置的自定义拦截器,自定义拦截器,自定义拦截器对应一个或多个正则表达式,将日志数据进行正则表达式的匹配,匹配后将日志中解析出的关键数据进行封装。
2.一种自定义链式日志解析方法,其特征是,包括如下步骤:日志数据event从Source进入一个拦截器,在该拦截器中进行正则表达式的匹配,如果匹配成功则event进入到Channel中,如果匹配失败,则event进入到下一个拦截器中,进行正则表达式的匹配,匹配成功则event进入Channel,失败则进入到下一个拦截器,依次类推,最终完成日志的解析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510460871.6A CN105005549A (zh) | 2015-07-31 | 2015-07-31 | 一种自定义链式日志解析装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510460871.6A CN105005549A (zh) | 2015-07-31 | 2015-07-31 | 一种自定义链式日志解析装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105005549A true CN105005549A (zh) | 2015-10-28 |
Family
ID=54378225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510460871.6A Pending CN105005549A (zh) | 2015-07-31 | 2015-07-31 | 一种自定义链式日志解析装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105005549A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930379A (zh) * | 2016-04-14 | 2016-09-07 | 北京思特奇信息技术股份有限公司 | 一种利用拦截器进行日志数据收集的方法及系统 |
CN106250410A (zh) * | 2016-07-21 | 2016-12-21 | 广州安望信息科技有限公司 | 一种基于flume系统的数据处理方法及其装置 |
CN106446092A (zh) * | 2016-09-12 | 2017-02-22 | 浪潮软件股份有限公司 | 一种基于Flume的解析半结构化文本文件的数据的方法 |
CN106648722A (zh) * | 2016-05-10 | 2017-05-10 | 深圳前海信息技术有限公司 | 基于大数据的Flume接收端数据处理方法和装置 |
CN108595310A (zh) * | 2017-12-28 | 2018-09-28 | 北京兰云科技有限公司 | 一种日志处理方法及装置 |
US10599668B2 (en) | 2017-10-31 | 2020-03-24 | Secureworks Corp. | Adaptive parsing and normalizing of logs at MSSP |
CN111737091A (zh) * | 2020-08-27 | 2020-10-02 | 北京安帝科技有限公司 | 一种日志处理方法、装置及可读介质 |
CN112364285A (zh) * | 2020-11-23 | 2021-02-12 | 北京八分量信息科技有限公司 | 基于ueba建立异常侦测模型的方法、装置及相关产品 |
US11218500B2 (en) | 2019-07-31 | 2022-01-04 | Secureworks Corp. | Methods and systems for automated parsing and identification of textual data |
CN115048353A (zh) * | 2022-04-29 | 2022-09-13 | 拉卡拉支付股份有限公司 | 数据处理方法、装置、电子设备、存储介质及程序产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103399887A (zh) * | 2013-07-19 | 2013-11-20 | 蓝盾信息安全技术股份有限公司 | 一种海量日志的查询与统计分析系统 |
CN104111996A (zh) * | 2014-07-07 | 2014-10-22 | 山大地纬软件股份有限公司 | 基于hadoop平台的医保门诊大数据抽取系统及方法 |
CN104579777A (zh) * | 2015-01-06 | 2015-04-29 | 浪潮软件股份有限公司 | 日志管理系统和实现方法 |
-
2015
- 2015-07-31 CN CN201510460871.6A patent/CN105005549A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103399887A (zh) * | 2013-07-19 | 2013-11-20 | 蓝盾信息安全技术股份有限公司 | 一种海量日志的查询与统计分析系统 |
CN104111996A (zh) * | 2014-07-07 | 2014-10-22 | 山大地纬软件股份有限公司 | 基于hadoop平台的医保门诊大数据抽取系统及方法 |
CN104579777A (zh) * | 2015-01-06 | 2015-04-29 | 浪潮软件股份有限公司 | 日志管理系统和实现方法 |
Non-Patent Citations (2)
Title |
---|
宋密 等: "基于Flume的网络安全可视化系统", 《天津理工大学学报》 * |
玖疯: "Flume-NG源码阅读之Interceptor", 《HTTP://WWW.CNBLOGS.COM/LXF20061900/P/3664602.HTML》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930379A (zh) * | 2016-04-14 | 2016-09-07 | 北京思特奇信息技术股份有限公司 | 一种利用拦截器进行日志数据收集的方法及系统 |
CN106648722B (zh) * | 2016-05-10 | 2020-01-10 | 深圳前海信息技术有限公司 | 基于大数据的Flume接收端数据处理方法和装置 |
CN106648722A (zh) * | 2016-05-10 | 2017-05-10 | 深圳前海信息技术有限公司 | 基于大数据的Flume接收端数据处理方法和装置 |
CN106250410A (zh) * | 2016-07-21 | 2016-12-21 | 广州安望信息科技有限公司 | 一种基于flume系统的数据处理方法及其装置 |
CN106250410B (zh) * | 2016-07-21 | 2020-01-07 | 深圳软通动力信息技术有限公司 | 一种基于flume系统的数据处理方法及其装置 |
CN106446092A (zh) * | 2016-09-12 | 2017-02-22 | 浪潮软件股份有限公司 | 一种基于Flume的解析半结构化文本文件的数据的方法 |
US10977271B2 (en) | 2017-10-31 | 2021-04-13 | Secureworks Corp. | Adaptive parsing and normalizing of logs at MSSP |
US10599668B2 (en) | 2017-10-31 | 2020-03-24 | Secureworks Corp. | Adaptive parsing and normalizing of logs at MSSP |
CN108595310A (zh) * | 2017-12-28 | 2018-09-28 | 北京兰云科技有限公司 | 一种日志处理方法及装置 |
US11218500B2 (en) | 2019-07-31 | 2022-01-04 | Secureworks Corp. | Methods and systems for automated parsing and identification of textual data |
CN111737091A (zh) * | 2020-08-27 | 2020-10-02 | 北京安帝科技有限公司 | 一种日志处理方法、装置及可读介质 |
CN111737091B (zh) * | 2020-08-27 | 2020-12-08 | 北京安帝科技有限公司 | 一种日志处理方法、装置及可读介质 |
CN112364285A (zh) * | 2020-11-23 | 2021-02-12 | 北京八分量信息科技有限公司 | 基于ueba建立异常侦测模型的方法、装置及相关产品 |
CN112364285B (zh) * | 2020-11-23 | 2024-02-02 | 北京八分量信息科技有限公司 | 基于ueba建立异常侦测模型的方法、装置及相关产品 |
CN115048353A (zh) * | 2022-04-29 | 2022-09-13 | 拉卡拉支付股份有限公司 | 数据处理方法、装置、电子设备、存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105005549A (zh) | 一种自定义链式日志解析装置及方法 | |
CN105138593A (zh) | 一种利用正则表达式自定义提取日志关键信息的方法 | |
Mattson et al. | Whitebark pine, grizzly bears, and red squirrels | |
CN102043862B (zh) | 网页数据定向抓取方法 | |
CN101772760B (zh) | 计算机执行方法以及计算机执行装置 | |
WO2006120446A3 (en) | Method and apparatus for searching data in a plurality of heterogeneous databases | |
Blake et al. | An analysis of human behaviour during the WTC disaster of 9/11 based on published survivor accounts | |
CN101963988A (zh) | 一种规范自由裁量的智能引擎及其实现方法 | |
CN105354020A (zh) | 一种Json格式数据解析方法及数据接收端 | |
CN104537305B (zh) | 网站漏洞检测方法和系统 | |
CN108563629A (zh) | 一种日志解析规则自动生成方法和装置 | |
CN102567337A (zh) | 一种通过链接快速识别网页类型的方法及系统 | |
CN109656943A (zh) | 屏蔽异构数据库查询复杂度的数据服务方法 | |
CN104361121B (zh) | 一种web报表系统公式的批量解析方法 | |
CN105608201A (zh) | 一种支持多关键词表达式的文本匹配方法 | |
CN103714300A (zh) | 基于分布式gpu和彩虹表的加密分析系统及其方法 | |
CN103139207B (zh) | 解码方法和装置、报文解析方法和装置以及解析设备 | |
CN103631983B (zh) | 一种战术数据报文模拟方法及系统 | |
CN103377207B (zh) | 基于脚本引擎的微博用户关系采集方法 | |
Tamura et al. | A method for language‐specific Web crawling and its evaluation | |
CN102750392A (zh) | Web主题信息提取方法及系统 | |
CN110019495A (zh) | 基于事务日志分析的单导系统中mysql数据库同步技术 | |
CN109947841A (zh) | 基于事务日志分析的单导系统中oracle数据库同步技术 | |
CN109947726A (zh) | 基于事务日志分析的单导系统中db2数据库同步技术 | |
CN107948181A (zh) | 一种可扩展的数据字描述结构方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151028 |
|
RJ01 | Rejection of invention patent application after publication |