CN106354765A - 一种基于分布式采集的日志分析系统及方法 - Google Patents

一种基于分布式采集的日志分析系统及方法 Download PDF

Info

Publication number
CN106354765A
CN106354765A CN201610694368.1A CN201610694368A CN106354765A CN 106354765 A CN106354765 A CN 106354765A CN 201610694368 A CN201610694368 A CN 201610694368A CN 106354765 A CN106354765 A CN 106354765A
Authority
CN
China
Prior art keywords
tracingid
daily record
log
service
module
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.)
Granted
Application number
CN201610694368.1A
Other languages
English (en)
Other versions
CN106354765B (zh
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.)
Guangdong Eshore Technology Co Ltd
Original Assignee
Guangdong Eshore 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 Guangdong Eshore Technology Co Ltd filed Critical Guangdong Eshore Technology Co Ltd
Priority to CN201610694368.1A priority Critical patent/CN106354765B/zh
Publication of CN106354765A publication Critical patent/CN106354765A/zh
Application granted granted Critical
Publication of CN106354765B publication Critical patent/CN106354765B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于分布式采集的日志分析系统,该系统包括日志文件收集应用模块、日志接收应用集群模块、分布式日志存储模块和Zookeeper注册中心集群模块。此外,本发明还公开了一种基于分布式采集的日志分析方法。通过本发明提升了日志处理层和日志存储层的水平扩展能力,同时利用线程隔离原理通过对每次请求生成请求标识(TracingID)做到对跨服务调用日志的分组,清晰定位服务调用过程中的数据日志流转以及异常详情。

Description

一种基于分布式采集的日志分析系统及方法
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于分布式采集的日志分析系统及方法。
背景技术
由于电信系统的交易的数据量非常庞大、应用服务多且应用服务大多采用集群部署每天会产生大量的日志,一般为流式数据,如搜索引擎的pv,查询等,这些日志存放相互独立,无法对这些日志进行统一管理和关联分析。如何通过对它们分析及时了解系统状况,发现系统异常,并在第一时间对异常事件做出快速响应,是网络与系统管理亟待解决的问题。
发明内容
本发明的目的是为了克服现有技术的缺陷,提供一种基于分布式采集的日志分析系统及方法,通过本发明提升了日志处理层和日志存储层的水平扩展能力,同时能够清晰定位服务调用过程中的数据日志流转以及异常详情。
为实现上述目的,本发明提供了一种基于分布式采集的日志分析系统,该系统包括日志文件收集应用模块、日志接收应用集群模块、分布式日志存储模块和Zookeeper注册中心集群模块。
日志文件收集应用模块,收集监视当前机器的组件日志文件,组件包括业务系统、web容器、redis服务,监测到日志文件有增量后通过过滤器对日志进行预处理,并从Zookeeper注册中心集群模块获取接收处理器的可用实例发送到接收处理器。
日志接收应用集群模块,采用集群负载均衡方式,日志处理器实例以集群形式存在并注册到Zookeeper注册中心集群模块,接收从收集应用模块发动过来的日志数据,按照来源信息进行分类,通过注册中心获取存储实例将数据持久化到存储中,其中来源信息包括服务器标识和应用标识。
分布式日志存储模块,采用分布式存储文件系统实现大容量日志数据的快速读取。
Zookeeper注册中心集群模块,用来注册或提供接收处理器实例、分布式日志存储实例,通过监控各实例节点状态改变确保注册实例的可用性,同时达到服务实例的负载均衡效果。
进一步地,当该系统数据量大时,通过增加节点的方式进行水平扩展,利用注册中心组件保证各环节节点的健壮性。
进一步地,提供接收处理器的HA,可选主备、冗余发送策略。
进一步地,在本系统中过滤器可以是非业务系统过滤器或者业务应用过滤器。
此外,本发明还提供了一种基于分布式采集的日志分析方法,该方法其利用线程隔离原理通过对每次请求生成请求标识TracingID做到对跨服务调用日志的分组,清晰定位服务调用过程中的数据日志流转以及异常详情,具体步骤如下:
S1:在对服务应用(1…N)发起调用生成日志时,判断当前线程是否存在全局TracingID,如果为空则认为是调用入口日志以生成TracingID并写入到当前线程的TracingID;
S2:针对跨服务的RPC调用,从发起RPC调用端获取当前线程的TracingID封装到RPC数据包;在RPC的接收端提取TracingID信息并写入到当前接收端的线程变量;如果当前服务需要调用另外的服务,则继续封装此TracingID到PRC数据包传递给下层服务,下层服务提取TracingID,依次传递;
S3:在写入日志通道的同时过滤器通过获取当前线程的TracingID值按照约定格式合并到日志内容中;
S4:当次服务调用完成后清理当前线程的TracingID;
S5:在接收器处理层通过TracingID来归类做到对每次跨服务调用的日志分组。
本发明技术方案带来的有益效果:
第一,采用本发明的系统,使用注册中心组件增强日志接收层和存储层的健壮性同时通过增加节点的方式提升日志处理层和日志存储层的水平扩展能力。
第二,采用本发明的方法,利用线程隔离原理通过对每次请求生成请求标识(TracingID)做到对跨服务调用日志的分组,清晰定位服务调用过程中的数据日志流转以及异常详情。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明的系统架构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示为本发明的系统架构图。本发明的一种基于分布式采集的日志分析系统包括日志文件收集应用模块、日志接收应用集群模块、分布式日志存储模块和Zookeeper注册中心集群模块。
日志文件收集应用模块,收集监视当前机器的组件日志文件,组件包括业务系统、web容器、redis服务,监测到日志文件有增量后通过过滤器对日志进行预处理,然后从Zookeeper注册中心集群模块获取接收处理器的可用实例发送到接收处理器,此处提供接收处理器的HA,可选主备、均衡发送策略。
日志接收应用集群模块,采用集群负载均衡方式。日志处理器实例以集群形式存在并注册到Zookeeper注册中心集群模块,接收从收集应用模块发动过来的日志数据,按照来源信息进行分类,通过注册中心获取存储实例将数据持久化到存储中。其中来源信息包括服务器标识和应用标识。
分布式日志存储模块,采用分布式存储文件系统实现大容量日志数据的快速读取。
Zookeeper注册中心集群模块,用来注册或提供接收处理器实例、分布式日志存储实例,通过监控各实例节点状态改变确保注册实例的可用性,同时达到服务实例的负载均衡效果。
本系统为大型分布式日志采集系统,通过读取各组件日志,例如业务系统日志、web容器日志、redis运行日志等组件日志文件,及时的对各服务系统的日志进行采集、过滤、关联分析。当数据量大时,通过增加节点的方式进行水平扩展,利用注册中心组件保证各环节节点的健壮性。
在本系统中过滤器可以是公共系统过滤器或者业务系统过滤器。
公共系统过滤器:针对类似web容器、redis运行日志等非业务系统日志进行过滤处理,通过配置非业务应用名称等信息对日志进行标记以备后续处理器处理。
业务系统过滤器:对业务应用系统通过提供日志格式化开发包从日志产生源方面进行处理,利用线程隔离的原理通过对单次请求进行统一标记生成单次请求的层次关系,提供日志追踪数据结构给业务应用系统在跨服务调用进行注入和提取,做到跨服务的日志跟踪和归类。
本发明的一种基于分布式采集的日志分析方法,其利用线程隔离原理通过对每次请求生成请求标识(TracingID)做到对跨服务调用日志的分组,清晰定位服务调用过程中的数据日志流转以及异常详情。具体步骤如下:
S1:在对服务应用(1…N)发起调用生成日志时,判断当前线程是否存在全局TracingID,如果为空则认为是调用入口日志以生成TracingID(跨服务唯一性)并写入到当前线程的TracingID;
S2:针对跨服务的RPC调用,从发起RPC调用端获取当前线程的TracingID封装到RPC数据包。在RPC的接收端提取TracingID信息并写入到当前接收端的线程变量。如果当前服务需要调用另外的服务,则继续封装此TracingID到PRC数据包传递给下层服务,下层服务提取TracingID,依次传递。
S3:在写入日志通道的同时过滤器通过获取当前线程的TracingID值按照约定格式合并到日志内容中。
S4:当次服务调用完成后清理当前线程的TracingID。
S5:在接收器处理层通过TracingID来归类做到对每次跨服务调用的日志分组。
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (5)

1.一种基于分布式采集的日志分析系统,其特征在于,该系统包括日志文件收集应用模块、日志接收应用集群模块、分布式日志存储模块和Zookeeper注册中心集群模块;
日志文件收集应用模块,收集监视当前机器的组件日志文件,组件包括业务系统、web容器、redis服务,监测到日志文件有增量后通过过滤器对日志进行预处理,并从Zookeeper注册中心集群模块获取接收处理器的可用实例发送到接收处理器;
日志接收应用集群模块,采用集群负载均衡方式,日志处理器实例以集群形式存在并注册到Zookeeper注册中心集群模块,接收从收集应用模块发动过来的日志数据,按照来源信息进行分类,通过注册中心获取存储实例将数据持久化到存储中,其中来源信息包括服务器标识和应用标识;
分布式日志存储模块,采用分布式存储文件系统实现大容量日志数据的快速读取;
Zookeeper注册中心集群模块,用来注册或提供接收处理器实例、分布式日志存储实例,通过监控各实例节点状态改变确保注册实例的可用性,同时达到服务实例的负载均衡效果。
2.根据权利要求1所述的系统,其特征在于,当该系统数据量大时,通过增加节点的方式进行水平扩展,利用注册中心组件保证各环节节点的健壮性。
3.根据权利要求1所述的系统,其特征在于,提供接收处理器的HA,可选主备、冗余发送策略。
4.根据权利要求1所述的系统,其特征在于,在本系统中过滤器可以是非业务系统过滤器或者业务应用过滤器。
5.一种基于分布式采集的日志分析方法,其特征在于,该方法其利用线程隔离原理通过对每次请求生成请求标识TracingID做到对跨服务调用日志的分组,清晰定位服务调用过程中的数据日志流转以及异常详情,具体步骤如下:
S1:在对服务应用(1…N)发起调用生成日志时,判断当前线程是否存在全局TracingID,如果为空则认为是调用入口日志以生成TracingID并写入到当前线程的TracingID;
S2:针对跨服务的RPC调用,从发起RPC调用端获取当前线程的TracingID封装到RPC数据包;在RPC的接收端提取TracingID信息并写入到当前接收端的线程变量;如果当前服务需要调用另外的服务,则继续封装此TracingID到PRC数据包传递给下层服务,下层服务提取TracingID,依次传递;
S3:在写入日志通道的同时过滤器通过获取当前线程的TracingID值按照约定格式合并到日志内容中;
S4:当次服务调用完成后清理当前线程的TracingID;
S5:在接收器处理层通过TracingID来归类做到对每次跨服务调用的日志分组。
CN201610694368.1A 2016-08-19 2016-08-19 一种基于分布式采集的日志分析系统及方法 Active CN106354765B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610694368.1A CN106354765B (zh) 2016-08-19 2016-08-19 一种基于分布式采集的日志分析系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610694368.1A CN106354765B (zh) 2016-08-19 2016-08-19 一种基于分布式采集的日志分析系统及方法

Publications (2)

Publication Number Publication Date
CN106354765A true CN106354765A (zh) 2017-01-25
CN106354765B CN106354765B (zh) 2020-06-26

Family

ID=57844901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610694368.1A Active CN106354765B (zh) 2016-08-19 2016-08-19 一种基于分布式采集的日志分析系统及方法

Country Status (1)

Country Link
CN (1) CN106354765B (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107341096A (zh) * 2017-06-28 2017-11-10 百度在线网络技术(北京)有限公司 日志文件的生成方法和装置、计算机设备和存储介质
CN107741956A (zh) * 2017-09-18 2018-02-27 杭州安恒信息技术有限公司 一种基于web容器配置文件的日志搜索方法
CN107786641A (zh) * 2017-09-30 2018-03-09 南威软件股份有限公司 一种分布式多系统用户行为日志的采集方法
CN107977473A (zh) * 2017-12-28 2018-05-01 政采云有限公司 基于Logback的分布式系统日志的检索方法和系统
CN108199876A (zh) * 2017-12-29 2018-06-22 北京奇艺世纪科技有限公司 一种日志数据保存方法、装置及分布式服务系统
CN108459939A (zh) * 2018-01-08 2018-08-28 平安科技(深圳)有限公司 一种日志收集方法、装置、终端设备及存储介质
CN108462598A (zh) * 2017-02-21 2018-08-28 阿里巴巴集团控股有限公司 一种日志生成方法、日志分析方法及装置
CN108733698A (zh) * 2017-04-19 2018-11-02 腾讯科技(深圳)有限公司 一种日志消息的处理方法及后台服务系统
CN108984542A (zh) * 2017-05-31 2018-12-11 北京京东尚科信息技术有限公司 分布式数据采集方法和系统
CN109039817A (zh) * 2018-08-03 2018-12-18 北京京东金融科技控股有限公司 一种用于流量监控的信息处理方法和装置
CN109525645A (zh) * 2018-10-22 2019-03-26 郑州云海信息技术有限公司 一种收集分布式存储集群日志的方法与系统
CN109525448A (zh) * 2019-01-10 2019-03-26 北京智信未来信息技术有限公司 日志数据采集系统及方法
CN109743199A (zh) * 2018-12-25 2019-05-10 中国联合网络通信集团有限公司 基于微服务的容器化管理系统
CN109818823A (zh) * 2018-12-29 2019-05-28 北京奥鹏远程教育中心有限公司 全链路跟踪系统
CN110113386A (zh) * 2019-04-16 2019-08-09 苏州浪潮智能科技有限公司 一种mdc数据中心的动力与环境监控系统数据同步方法
CN112003831A (zh) * 2020-07-29 2020-11-27 苏州玩蜂软件科技有限公司 一种分布式环境下的日志收集系统及日志收集方法
CN112363905A (zh) * 2021-01-13 2021-02-12 北京云真信科技有限公司 一种应用日志收集系统
CN112631943A (zh) * 2020-12-31 2021-04-09 中国农业银行股份有限公司 一种计算软件的识别方法及装置
CN113032355A (zh) * 2021-04-06 2021-06-25 上海英方软件股份有限公司 一种Web应用批量收集日志的方法及装置
CN115185787A (zh) * 2022-09-06 2022-10-14 北京奥星贝斯科技有限公司 处理事务日志的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103607476A (zh) * 2013-12-05 2014-02-26 上海普坤信息科技有限公司 海量消息的分布式多阶段持久化的系统及方法
US20150261831A1 (en) * 2013-01-07 2015-09-17 Facebook, Inc. System and method for distributed database query engines
CN105224445A (zh) * 2015-10-28 2016-01-06 北京汇商融通信息技术有限公司 分布式跟踪系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150261831A1 (en) * 2013-01-07 2015-09-17 Facebook, Inc. System and method for distributed database query engines
CN103607476A (zh) * 2013-12-05 2014-02-26 上海普坤信息科技有限公司 海量消息的分布式多阶段持久化的系统及方法
CN105224445A (zh) * 2015-10-28 2016-01-06 北京汇商融通信息技术有限公司 分布式跟踪系统

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108462598A (zh) * 2017-02-21 2018-08-28 阿里巴巴集团控股有限公司 一种日志生成方法、日志分析方法及装置
CN108733698B (zh) * 2017-04-19 2023-08-08 腾讯科技(深圳)有限公司 一种日志消息的处理方法及后台服务系统
CN108733698A (zh) * 2017-04-19 2018-11-02 腾讯科技(深圳)有限公司 一种日志消息的处理方法及后台服务系统
CN108984542A (zh) * 2017-05-31 2018-12-11 北京京东尚科信息技术有限公司 分布式数据采集方法和系统
CN107341096A (zh) * 2017-06-28 2017-11-10 百度在线网络技术(北京)有限公司 日志文件的生成方法和装置、计算机设备和存储介质
CN107741956A (zh) * 2017-09-18 2018-02-27 杭州安恒信息技术有限公司 一种基于web容器配置文件的日志搜索方法
CN107741956B (zh) * 2017-09-18 2020-07-03 杭州安恒信息技术股份有限公司 一种基于web容器配置文件的日志搜索方法
CN107786641A (zh) * 2017-09-30 2018-03-09 南威软件股份有限公司 一种分布式多系统用户行为日志的采集方法
CN107977473A (zh) * 2017-12-28 2018-05-01 政采云有限公司 基于Logback的分布式系统日志的检索方法和系统
CN107977473B (zh) * 2017-12-28 2020-05-08 政采云有限公司 基于Logback的分布式系统日志的检索方法和系统
CN108199876A (zh) * 2017-12-29 2018-06-22 北京奇艺世纪科技有限公司 一种日志数据保存方法、装置及分布式服务系统
CN108459939B (zh) * 2018-01-08 2020-06-23 平安科技(深圳)有限公司 一种日志收集方法、装置、终端设备及存储介质
CN108459939A (zh) * 2018-01-08 2018-08-28 平安科技(深圳)有限公司 一种日志收集方法、装置、终端设备及存储介质
CN109039817A (zh) * 2018-08-03 2018-12-18 北京京东金融科技控股有限公司 一种用于流量监控的信息处理方法和装置
CN109039817B (zh) * 2018-08-03 2020-09-01 京东数字科技控股有限公司 一种用于流量监控的信息处理方法、装置、设备及介质
CN109525645A (zh) * 2018-10-22 2019-03-26 郑州云海信息技术有限公司 一种收集分布式存储集群日志的方法与系统
CN109743199A (zh) * 2018-12-25 2019-05-10 中国联合网络通信集团有限公司 基于微服务的容器化管理系统
CN109818823A (zh) * 2018-12-29 2019-05-28 北京奥鹏远程教育中心有限公司 全链路跟踪系统
CN109525448A (zh) * 2019-01-10 2019-03-26 北京智信未来信息技术有限公司 日志数据采集系统及方法
CN110113386A (zh) * 2019-04-16 2019-08-09 苏州浪潮智能科技有限公司 一种mdc数据中心的动力与环境监控系统数据同步方法
CN112003831A (zh) * 2020-07-29 2020-11-27 苏州玩蜂软件科技有限公司 一种分布式环境下的日志收集系统及日志收集方法
CN112631943A (zh) * 2020-12-31 2021-04-09 中国农业银行股份有限公司 一种计算软件的识别方法及装置
CN112631943B (zh) * 2020-12-31 2024-01-16 中国农业银行股份有限公司 一种计算软件的识别方法及装置
CN112363905A (zh) * 2021-01-13 2021-02-12 北京云真信科技有限公司 一种应用日志收集系统
CN112363905B (zh) * 2021-01-13 2021-08-24 北京云真信科技有限公司 一种应用日志收集系统
CN113032355A (zh) * 2021-04-06 2021-06-25 上海英方软件股份有限公司 一种Web应用批量收集日志的方法及装置
CN113032355B (zh) * 2021-04-06 2023-06-09 上海英方软件股份有限公司 一种Web应用批量收集日志的方法及装置
CN115185787A (zh) * 2022-09-06 2022-10-14 北京奥星贝斯科技有限公司 处理事务日志的方法及装置

Also Published As

Publication number Publication date
CN106354765B (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
CN106354765A (zh) 一种基于分布式采集的日志分析系统及方法
CN101754253B (zh) 一种gprs端到端性能分析方法及系统
CN112564967B (zh) 基于eBPF的云服务拓扑自发现方法及系统、电子设备、存储介质
US7657624B2 (en) Network usage management system and method
CN109756364A (zh) 一种基于日志分析的微服务性能优化系统和分析方法
CN103684898B (zh) 一种监测用户请求在分布式系统中运行的方法及装置
CN103237045B (zh) 大规模实时交通数据的并行处理系统和并行处理方法
CN109996284A (zh) 移动通信故障投诉工单处理方法、装置、设备及介质
CN108632111A (zh) 一种基于日志的服务链路监控方法
CN105408881B (zh) 大规模网络中的带宽计量
CN112214338A (zh) 一种基于微服务灵活部署的物联网云平台
CN103617287A (zh) 一种分布式环境下的日志管理方法和装置
CN101902497B (zh) 基于云计算的互联网信息监测系统及方法
CN103795575B (zh) 一种面向多数据中心的系统监控方法
CN108200111A (zh) 资源配置信息更新方法、装置和资源接口设备
CN110636108B (zh) 一种用于电力计量的微服务架构及其实现方法
CN107025222A (zh) 一种分布式日志采集方法及装置
CN104009885A (zh) 一种云环境下基于隐蔽通道的虚拟机同驻检测方法
CN108989385A (zh) 一种基于Zabbix监控采集自动同步CMDB的实现方法
CN113704077B (zh) 测试用例生成方法及装置
CN103248511B (zh) 一种单点业务性能的分析方法、装置和系统
CN109614430B (zh) 基于wlan的可配置数据采集及数据校验系统和方法
CN111258760A (zh) 一种平台管理方法、系统、装置及存储介质
CN104038388B (zh) 基于分布式的物联网自动测试系统及测试方法
CN113986895A (zh) 一种微服务分布式场景下的三层审计方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant