CN107943802A - 一种日志分析方法和系统 - Google Patents

一种日志分析方法和系统 Download PDF

Info

Publication number
CN107943802A
CN107943802A CN201610890248.9A CN201610890248A CN107943802A CN 107943802 A CN107943802 A CN 107943802A CN 201610890248 A CN201610890248 A CN 201610890248A CN 107943802 A CN107943802 A CN 107943802A
Authority
CN
China
Prior art keywords
data
batch processing
log
server
processing container
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
Application number
CN201610890248.9A
Other languages
English (en)
Inventor
程鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201610890248.9A priority Critical patent/CN107943802A/zh
Publication of CN107943802A publication Critical patent/CN107943802A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种日志分析方法和系统,其中方法包括:实时采集各应用系统产生的日志数据,并缓存至数据缓存服务器;数据处理服务器利用Storm系统按照所述缓存的先后顺序实时地获取所述日志数据,并放入预设的批处理容器中,当满足预设的处理条件时,对所述批处理容器中的日志进行解析处理,并将装有所述解析处理结果的批处理容器加入索引队列;在所述索引队列非空时,所述Storm系统实时地依次从所述索引队列中取出批处理容器并对所取出批处理容器中的日志数据进行存储,同时创建相应的数据索引。采用本发明,可以实时处理大规模日志数据。

Description

一种日志分析方法和系统
技术领域
本发明涉及大数据处理技术,特别是涉及一种日志分析方法和系统。
背景技术
目前大部分公司的IT系统都会由多个相互独立的软件系统构成。一般意义上来说,没有任何一个系统是百分之百可靠且没有问题的,用户在使用过程中都会出现一些问题,或者用户的一些不正确操作导致出现不是用户想要的结果。系统产生的日志能够客观的反应软件系统的真实运行情况,为软件性能调优、故障排查提供有力支撑。当出现上述问题时,通常是由后台研发人员通过查找日志、排查原因,来定位问题并与之解决。
为了能够及时且有效的分析海量日志,迅速而准确的定位问题原因,使系统维护人员先于用户发现问题并与解决,目前提出了一些通过对日志文件进行分析实现主动报警的日志分析方案。现有的日志分析方案通常是利用Hadoop开源框架实现对日志进行批处理的系统。
随着业务数据规模的爆炸式增长和数据实时处理能力的要求越来越高,像Hadoop这样的在批处理系统上占优势的框架已不能满足日志数据的实时处理需求,也就是说,上述批处理方式实现的日志分析方案无法应对海量日志数据的实时处理。
发明内容
有鉴于此,本发明的主要目的在于提供一种日志分析方法和系统,可以实时处理大规模日志数据。
为了达到上述目的,本发明提出的技术方案为:
一种日志分析方法,包括:
实时采集各应用系统产生的日志数据,并缓存至数据缓存服务器;
数据处理服务器利用Storm系统按照所述缓存的先后顺序实时地获取所述日志数据,并放入预设的批处理容器中,当满足预设的处理条件时,对所述批处理容器中的日志进行解析处理,并将装有所述解析处理结果的批处理容器加入索引队列;
在所述索引队列非空时,所述Storm系统实时地依次从所述索引队列中取出批处理容器并对所取出批处理容器中的日志数据进行存储,同时创建相应的数据索引。
一种日志分析系统,包括:数据采集服务器、数据缓存服务器、数据处理服务器和数据存储设备;其中,
数据采集服务器,用于实时采集各应用系统产生的日志数据,并缓存至数据缓存服务器;
数据处理服务器,用于利用Storm系统按照所述缓存的先后顺序实时地从所述数据缓存服务器获取所述日志数据,并放入预设的批处理容器中,当满足预设的处理条件时,对所述批处理容器中的日志进行解析处理,并将装有所述解析处理结果的批处理容器加入索引队列;在所述索引队列非空时,所述Storm系统实时地依次从所述索引队列中取出批处理容器,并将所取出批处理容器中的日志数据存储至所述数据存储设备,并创建相应的数据索引。
综上所述,本发明提出的日志分析方法和系统,一方面通过引入利用Storm系统,利用利用Storm系统的实时处理数据的优势,提升大规模日志数据的处理速度,另一方面,在Storm系统的基础上引入批处理容器,利用批处理方式来提升Storm系统的处理速度,从而可以缓解大规模日志数据对Storm系统的处理压力,有利于减少并发数据处理的出错概率,提升系统的稳定性。因此,本发明可以满足大规模日志数据的实时处理需求。
附图说明
图1为本发明实施例的方法流程示意图;
图2为本发明实施例的系统结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
本发明的核心思想是:引入Stom开源框架对日志实时处理,并结合批处理方式缓解系统压力,如此,可以实现对海量日志数据的实时处理。
图1为本发明实施例的方法流程示意图,如图1所示,该方法实施例主要包括:
步骤101、实时采集各应用系统产生的日志数据,并缓存至数据缓存服务器。
较佳地,可以利用Flume系统进行所述日志数据的实时采集。Flume系统是一个分布式的海量日志收集系统,本发明引入其负责采集主机、应用、数据库或其他应用系统设备产生的日志。如此,可充分利用Flume系统对海量日志数据进行采集、聚合和传输的实时性和高可靠性优势,以满足海量日志数据的实时采集处理需要。
较佳地,所述数据缓存服务器利用Kafka系统缓存所述日志数据。这样,Flume系统采集到的日志数据,可以作为消息存储在Kafka系统中,在实际应用中Kafka系统可以采用分布式的方式实现,因此,可以为了提高日志缓存的吞吐量和速度,以满足海量日志数据的实时缓存需要。
步骤102、数据处理服务器利用Storm系统按照所述缓存的先后顺序实时地获取所述日志数据,并放入预设的批处理容器中,当满足预设的处理条件时,对所述批处理容器中的日志进行解析处理,并将装有所述解析处理结果的批处理容器加入索引队列。
Storm系统支持创建拓扑结构来转换没有终点的数据流,不同于Hadoop作业,这些转换从不停止,它会持续处理到达的数据,从而可以实现数据处理的实时性。
本步骤中,数据处理服务器将利用Storm系统按照所述缓存的先后顺序,来实时地获取日志数据,并将其放入批处理容器中,利用批处理容器累积日志数据,待满足一定的处理条件后,再进行处理。这样,通过引入批处理容器,实现在Storm系统内部采用批处理的方式对海量日志数据进行实时处理,如此,可以提高日志数据处理的效率,缓解大规模日志数据并发的场景下对Storm系统造成的处理压力,有利于减少并发数据处理的出错概率,提升系统的稳定性。
较佳地,所述处理条件可以包括:所述批处理容器中的日志数量达到预设的数量阈值,或者,所述批处理容器中的日志累积时间达到预设的时间长度。也就是说,满足上述任一条件时(即批处理容器中的日志数量达到一定的数量或者批处理容器中的日志累积时间达到一定的时间长度),都会触发对批处理容器中的日志数据进行处理。
在实际应用中,所述批处理容器可以为基于JAVA封装的容器,或是Redis数据为等基于内存计算的模式。基于上述处理条件控制日志的处理时机,一方面批处理容器装满后将被持久化存储并创建索引,另一方面,通过日志累积时间的限制,可以使得在日志数据流量较小的时候,避免日志数据较长时间得不到处理,从而可以确保日志数据的实时性。
较佳地,所述数量阈值小于等于单个Storm系统节点在单位时间内能处理的最大日志数量。
在实际应用中,所述时间长度可以根据用户能够容忍的对故障识别时延长度设置,以满足用户的日志数据处理时间需求。
较佳地,为了确保日志按照采集的时间顺序进行处理,并确保处理效率,所述解析处理结果在所述索引队列中的顺序需要与所述解析处理的顺序一致。
进一步地,所述索引队列可以采用队列中封闭链表的数据结构,其中,所述队列的元素为链表的指针,所述链表用于存储所述解析处理结果。如此,利用队列的先入先出的特性,可以确保日志存储的处理顺序与解析的顺序一致,同时可以保证处理效率。另外,采用链表存储被解析的日志数据,可以实现快速增加和删除,很好的保证了日志数据被索引的效率。
本步骤中解析处理的具体实现方法同现有方案,在此不再赘述。
步骤103、在所述索引队列非空时,所述Storm系统实时地依次从所述索引队列中取出批处理容器并对所取出批处理容器中的日志数据进行存储,同时创建相应的数据索引。
较佳地,采用JSON数据格式进行所述存储,所述Storm系统利用ElasticSearch搜索系统创建所述数据索引。
较佳地,在创建完数据索引之后,可以将所述数据索引发送给客户端,以满足客户检索日志数据的需要。
图2为与上述方法相对应的一种日志分析系统结构示意图,如图所示,该系统包括:数据采集服务器、数据缓存服务器、数据处理服务器和数据存储设备;其中,
数据采集服务器,用于实时采集各应用系统产生的日志数据,并缓存至数据缓存服务器;
数据处理服务器,用于利用Storm系统按照所述缓存的先后顺序实时地从所述数据缓存服务器获取所述日志数据,并放入预设的批处理容器中,当满足预设的处理条件时,对所述批处理容器中的日志进行解析处理,并将装有所述解析处理结果的批处理容器加入索引队列;在所述索引队列非空时,所述Storm系统实时地依次从所述索引队列中取出批处理容器,并将所取出批处理容器中的日志数据存储至所述数据存储设备,并创建相应的数据索引。
较佳地,所述数据采集服务器利用Flume系统进行所述日志数据的实时采集。
较佳地,所述数据缓存服务器利用Kafka系统缓存所述日志数据。
较佳地,所述数据存储设备,用于采用JSON数据格式进行所述存储;所述数据处理服务器,用于利用ElasticSearch搜索系统创建所述数据索引。
较佳地,所述解析处理结果在所述索引队列中的顺序与所述解析处理的顺序一致。
较佳地,所述索引队列采用队列中封闭链表的数据结构,其中,所述队列的元素为链表的指针,所述链表用于存储所述解析处理结果。
较佳地,所述数据处理服务器用于将所述数据索引发送给客户端。
较佳地,所述处理条件包括:
所述批处理容器中的日志数量达到预设的数量阈值,或者,所述批处理容器中的日志累积时间达到预设的时间长度。
较佳地,所述数量阈值小于等于单个Storm系统节点在单位时间内能处理的最大日志数量。
较佳地,所述时间长度根据用户能够容忍的对故障识别时延长度设置。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种日志分析方法,其特征在于,包括:
实时采集各应用系统产生的日志数据,并缓存至数据缓存服务器;
数据处理服务器利用Storm系统按照所述缓存的先后顺序实时地获取所述日志数据,并放入预设的批处理容器中,当满足预设的处理条件时,对所述批处理容器中的日志进行解析处理,并将装有所述解析处理结果的批处理容器加入索引队列;
在所述索引队列非空时,所述Storm系统实时地依次从所述索引队列中取出批处理容器并对所取出批处理容器中的日志数据进行存储,同时创建相应的数据索引。
2.根据权利要求1所述的方法,其特征在于,利用Flume系统进行所述日志数据的实时采集;所述数据缓存服务器利用Kafka系统缓存所述日志数据。
3.根据权利要求1所述的方法,其特征在于,采用JSON数据格式进行所述存储,所述Storm系统利用ElasticSearch搜索系统创建所述数据索引。
4.根据权利要求1所述的方法,其特征在于,所述解析处理结果在所述索引队列中的顺序与所述解析处理的顺序一致。
5.根据权利要求1所述的方法,其特征在于,所述索引队列采用队列中封闭链表的数据结构,其中,所述队列的元素为链表的指针,所述链表用于存储所述解析处理结果。
6.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
将所述数据索引发送给客户端;
所述处理条件包括:
所述批处理容器中的日志数量达到预设的数量阈值,或者,所述批处理容器中的日志累积时间达到预设的时间长度;所述数量阈值小于等于单个Storm系统节点在单位时间内能处理的最大日志数量;所述时间长度根据用户能够容忍的对故障识别时延长度设置。
7.一种日志分析系统,其特征在于,包括:数据采集服务器、数据缓存服务器、数据处理服务器和数据存储设备;其中,
数据采集服务器,用于实时采集各应用系统产生的日志数据,并缓存至数据缓存服务器;
数据处理服务器,用于利用Storm系统按照所述缓存的先后顺序实时地从所述数据缓存服务器获取所述日志数据,并放入预设的批处理容器中,当满足预设的处理条件时,对所述批处理容器中的日志进行解析处理,并将装有所述解析处理结果的批处理容器加入索引队列;在所述索引队列非空时,所述Storm系统实时地依次从所述索引队列中取出批处理容器,并将所取出批处理容器中的日志数据存储至所述数据存储设备,并创建相应的数据索引。
8.根据权利要求7所述的系统,其特征在于,所述数据采集服务器利用Flume系统进行所述日志数据的实时采集;所述数据缓存服务器利用Kafka系统缓存所述日志数据。
9.根据权利要求7所述的系统,其特征在于,所述数据存储设备,用于采用JSON数据格式进行所述存储;所述数据处理服务器,用于利用ElasticSearch搜索系统创建所述数据索引。
10.根据权利要求7所述的系统,其特征在于,所述解析处理结果在所述索引队列中的顺序与所述解析处理的顺序一致。
11.根据权利要求7所述的系统,其特征在于,所述索引队列采用队列中封闭链表的数据结构,其中,所述队列的元素为链表的指针,所述链表用于存储所述解析处理结果。
12.根据权利要求7所述的系统,其特征在于,所述数据处理服务器用于将所述数据索引发送给客户端;所述处理条件包括:所述批处理容器中的日志数量达到预设的数量阈值,或者,所述批处理容器中的日志累积时间达到预设的时间长度;所述数量阈值小于等于单个Storm系统节点在单位时间内能处理的最大日志数量;所述时间长度根据用户能够容忍的对故障识别时延长度设置。
CN201610890248.9A 2016-10-12 2016-10-12 一种日志分析方法和系统 Pending CN107943802A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610890248.9A CN107943802A (zh) 2016-10-12 2016-10-12 一种日志分析方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610890248.9A CN107943802A (zh) 2016-10-12 2016-10-12 一种日志分析方法和系统

Publications (1)

Publication Number Publication Date
CN107943802A true CN107943802A (zh) 2018-04-20

Family

ID=61928296

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610890248.9A Pending CN107943802A (zh) 2016-10-12 2016-10-12 一种日志分析方法和系统

Country Status (1)

Country Link
CN (1) CN107943802A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766362A (zh) * 2018-12-28 2019-05-17 北京字节跳动网络技术有限公司 数据处理方法及装置
CN110515695A (zh) * 2019-07-26 2019-11-29 济南浪潮数据技术有限公司 一种日志数据处理方法及系统
CN110825533A (zh) * 2018-08-10 2020-02-21 网宿科技股份有限公司 一种数据发射方法及装置
CN110912958A (zh) * 2018-09-18 2020-03-24 中国移动通信集团重庆有限公司 Http连接的处理方法、装置、设备和介质
CN111258979A (zh) * 2020-01-16 2020-06-09 山东大学 一种云防护日志系统及其工作方法
WO2020220640A1 (zh) * 2019-04-30 2020-11-05 平安科技(深圳)有限公司 一种批处理日志查询方法、终端及计算机可读存储介质
CN113626151A (zh) * 2021-08-09 2021-11-09 山东可信云信息技术研究院 一种容器云日志收集资源控制方法及系统
CN115048418A (zh) * 2022-08-12 2022-09-13 深圳市必凡娱乐科技有限公司 一种数据处理方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103699660A (zh) * 2013-12-26 2014-04-02 清华大学 一种大规模网络流式数据缓存写入的方法
CN103761309A (zh) * 2014-01-23 2014-04-30 中国移动(深圳)有限公司 一种运营数据处理方法及系统
CN103942330A (zh) * 2014-04-30 2014-07-23 深圳先进技术研究院 一种大数据的处理方法、系统
US20160070739A1 (en) * 2014-09-10 2016-03-10 Ca, Inc, Batch processed data structures in a log repository referencing a template repository and an attribute repository
CN105426292A (zh) * 2015-10-29 2016-03-23 网易(杭州)网络有限公司 一种游戏日志实时处理系统及方法
CN105868075A (zh) * 2016-03-31 2016-08-17 浪潮通信信息系统有限公司 一种实时监控分析大量日志的系统及方法
CN105915377A (zh) * 2016-04-14 2016-08-31 北京思特奇信息技术股份有限公司 一种Flume与SparkStreaming整合的方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103699660A (zh) * 2013-12-26 2014-04-02 清华大学 一种大规模网络流式数据缓存写入的方法
CN103761309A (zh) * 2014-01-23 2014-04-30 中国移动(深圳)有限公司 一种运营数据处理方法及系统
CN103942330A (zh) * 2014-04-30 2014-07-23 深圳先进技术研究院 一种大数据的处理方法、系统
US20160070739A1 (en) * 2014-09-10 2016-03-10 Ca, Inc, Batch processed data structures in a log repository referencing a template repository and an attribute repository
CN105426292A (zh) * 2015-10-29 2016-03-23 网易(杭州)网络有限公司 一种游戏日志实时处理系统及方法
CN105868075A (zh) * 2016-03-31 2016-08-17 浪潮通信信息系统有限公司 一种实时监控分析大量日志的系统及方法
CN105915377A (zh) * 2016-04-14 2016-08-31 北京思特奇信息技术股份有限公司 一种Flume与SparkStreaming整合的方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LSKYNE: "Spark Streaming:大规模流式数据处理", 《HTTPS://BLOG.CSDN.NET/LSKYNE/ARTICLE/DETAILS/37560609》 *
大林-JAVA: "Storm-批处理", 《HTTPS://BLOG.CSDN.NET/PAUL_WEI2008/ARTICLE/DETAILS/20364577》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825533A (zh) * 2018-08-10 2020-02-21 网宿科技股份有限公司 一种数据发射方法及装置
CN110825533B (zh) * 2018-08-10 2022-12-20 网宿科技股份有限公司 一种数据发射方法及装置
CN110912958A (zh) * 2018-09-18 2020-03-24 中国移动通信集团重庆有限公司 Http连接的处理方法、装置、设备和介质
CN109766362A (zh) * 2018-12-28 2019-05-17 北京字节跳动网络技术有限公司 数据处理方法及装置
CN109766362B (zh) * 2018-12-28 2021-07-20 北京字节跳动网络技术有限公司 数据处理方法及装置
WO2020220640A1 (zh) * 2019-04-30 2020-11-05 平安科技(深圳)有限公司 一种批处理日志查询方法、终端及计算机可读存储介质
CN110515695A (zh) * 2019-07-26 2019-11-29 济南浪潮数据技术有限公司 一种日志数据处理方法及系统
CN111258979A (zh) * 2020-01-16 2020-06-09 山东大学 一种云防护日志系统及其工作方法
CN111258979B (zh) * 2020-01-16 2022-04-15 山东大学 一种云防护日志系统及其工作方法
CN113626151A (zh) * 2021-08-09 2021-11-09 山东可信云信息技术研究院 一种容器云日志收集资源控制方法及系统
CN113626151B (zh) * 2021-08-09 2024-03-08 山东可信云信息技术研究院 一种容器云日志收集资源控制方法及系统
CN115048418A (zh) * 2022-08-12 2022-09-13 深圳市必凡娱乐科技有限公司 一种数据处理方法及系统

Similar Documents

Publication Publication Date Title
CN107943802A (zh) 一种日志分析方法和系统
CN105824744B (zh) 一种基于b2b平台的实时日志采集分析方法
US10652265B2 (en) Method and apparatus for network forensics compression and storage
US10552287B2 (en) Performance metrics for diagnosing causes of poor performing virtual machines
WO2020233212A1 (zh) 一种日志记录的处理方法、服务器及存储介质
US8666985B2 (en) Hardware accelerated application-based pattern matching for real time classification and recording of network traffic
CN102436513B (zh) 分布式检索方法和系统
CN103914485B (zh) 一种远程收集和检索展示应用系统日志的系统及方法
US8589375B2 (en) Real time searching and reporting
US8412696B2 (en) Real time searching and reporting
CN107818120A (zh) 基于大数据的数据处理方法和装置
CN108038207A (zh) 一种日志数据处理系统、方法和服务器
CN111258979A (zh) 一种云防护日志系统及其工作方法
CN107317838A (zh) 一种基于流式数据处理架构的天文元数据归档方法及系统
CN108228322B (zh) 一种分布式链路跟踪、分析方法及服务器、全局调度器
CN106330963A (zh) 一种跨网络多节点日志采集的方法
CN109145040A (zh) 一种基于双消息队列的数据治理方法
CN110825598A (zh) 一种日志实时处理方法及系统
CN113472858B (zh) 埋点数据处理方法、装置及电子设备
CN107590019A (zh) 一种数据存储的方法和装置
CN113722416A (zh) 一种数据清洗方法、装置、设备及可读存储介质
CN111078975B (zh) 一种多节点增量式数据采集系统及采集方法
CN107609158A (zh) 一种基于Flume的高可靠数据采集及存储方法
CN111506672B (zh) 实时分析环保监测数据的方法、装置、设备及存储介质
CN109714199B (zh) 基于大数据架构的网络流量分析与溯源系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180420