CN103401704A - 一种分布式日志采集服务器的实现方案 - Google Patents

一种分布式日志采集服务器的实现方案 Download PDF

Info

Publication number
CN103401704A
CN103401704A CN2013103179606A CN201310317960A CN103401704A CN 103401704 A CN103401704 A CN 103401704A CN 2013103179606 A CN2013103179606 A CN 2013103179606A CN 201310317960 A CN201310317960 A CN 201310317960A CN 103401704 A CN103401704 A CN 103401704A
Authority
CN
China
Prior art keywords
service
server
page
message
collector
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
CN2013103179606A
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.)
PCI Suntek Technology Co Ltd
Original Assignee
PCI Suntek 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 PCI Suntek Technology Co Ltd filed Critical PCI Suntek Technology Co Ltd
Priority to CN2013103179606A priority Critical patent/CN103401704A/zh
Publication of CN103401704A publication Critical patent/CN103401704A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种分布式日志采集服务器的实现方案。Java web服务器在企业级应用系统中,一般都配置为多机集群方式,在这样的环境当中,如何通过分布式、可靠、和高可用的方式完成海量曰志的采集、传输和统计,是目前企业应用软件平台需要解决的必要课题。本发明提供了一种在Java web平台上实现的分布式日志采集服务器的方案,解决在多机环境下的日志采集服务所面临的可靠性、可扩展性问题:1)可靠性指:当一个采集节点出现故障时,日志能够被传送到其他的节点上面而不丢失;2)可扩展性指当采集对象增加时,采集节点能平行扩展,自动分担采集任务;以及对后端日志处理的可扩展性功能的支持。

Description

一种分布式日志采集服务器的实现方案
技术领域
本发明涉及信息技术领域,特别是涉及一种分布式日志采集服务器的实现方案。
背景技术
Java Web服务器在企业级应用系统中,一般都配置为多机集群方式,而且在当今互联网应用如此普及的情形下,服务器的规模也逐渐变得庞大,解决分布式环境下高可靠、高可用的海量日志的采集、传输和统计,是应用企业势待解决的问题。目前针对该项需求已有一些成熟的商用解决方案,开源方面也有Flume软件支持,但需要依托Apache Hadoop的计算环境,才能提供一些常用的监测业务,方便开发者进行集成。
发明内容
本发明提供了一种在Java Web平台上实现的分布式日志采集服务器的方案,解决在多机环境下的曰志采集服务所面临的可靠性、可扩展性问题:1)可靠性指:当一个采集节点出现故障时,日志能够被传送到其他的节点上面而不丢失;2)可扩展性指当采集对象增加时,采集节点能平行扩展,自动分担采集任务;以及对后端曰志处理的可扩展性功能的支持。
为实现上述发明目的,本发明提供一套j ava web平台相关插件的日志采集代理。日志采集代理包括如下工具包:log4j/jsper/servlet-api/catalina/ojdbc/mysql/sqljdbc;分别实现对jsp页面访问/httpreques t请求/session/jdbc数据访问的监测。其中,jsp和servlet的监测,实现访问量、访问请求响应时长、以及服务调用异常消息的监测;catalina的session监测实现一个session过程内用户访问的页面和服务请求的记录和跟踪,以实现用户行为的分析;jdbc的相关实现类,监测SQL的执行性能。
本发明还提供了一种分布式环境日志采集消息过滤机制。Collector的消息机制由zeromq组件实现。订阅接收来自agent的日志消息。zeromq是一个轻量级的消息内核,提供了一种异步消息队列,消息过滤机制。支持对多种传输协议的无缝访问。订阅的过滤条件包括:服务器/命令类型。服务器指被检查的web服务器,命令类型包括:页面/服务/SQL/Error类型;订阅的申请,提交给zookeeper服务器进行批准。
本发明还提供了系统稳定性相关的可靠性维护机制。系统的可靠性包括两个方面:首先,所有collector服务和日志持久化服务,以及agent和collector的发布订阅关系的冗余配置。该机制的特点在于采用了zookeeper为何集群状态信息。选举的算法关联到发布订阅的过滤类型,既跟服务器状态相关,也跟订阅的消息命令类型相关。注册到zookeeper时,可以对应一组collector,依次以主备方式为agentA提供日志接收/处理/转发服务;当col lector[0]失效时,collector[1]自动切换或者添加对agentA的订阅日志过滤,接收来自agentA的日志消息;同时,根据自身订阅日志的任务量,自动调整在zookeeper中的队列位置,任务轻的节点靠前。
本发明还提供了一种可扩展性支持的配置方案。配置的扩展性设计包括:1)监测页面和服务的可配置;系统需要监测的页面/服务/异常,通过xml进行描述;javaagent仅对需要进行监测的内容进行日志消息的上报;2)用户行为的跟踪记录;当一个用户在同一个session,访问多个页面或者服务时,可以指定开始和结束的URI,仅当这页面或者服务在这两个URI之间的日子才进行采集上报。
本发明还提供了一种解决复杂业务场景下,为方便通过日志分析用户行为而提供的日志会话管理功能。当一项业务办理需要访问多个页面或者服务请求才能完成时,对该项业务成功率和操作评价时长进行统计的功能。实现方式为:记录一个session范围内该项业务办理的初始访问页面和结束访问页面的时间,来计算一次业务办理的时长;当在这个周期内,服务请求发送异常,采集点会产生一次error命令,终止该项办理业务的跟踪记录,并记录为一次失败操作;只有当开始/结束两个服务消息都成功接收时,此项业务办理操作才算成功。
由上述方案可以看出,本发明集成zeromq/zookeeper/hypertable开源工具,通过内置的多种日志采集代理/灵活的消息订阅发布机制/可靠性选举算法等措施,实现了在分布式环境下面的日志采集/转发/处理以及统计的功能,可以为企业应用在该种类环境下面,提供了一种可选的实施方案。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。
图为本发明实施例中系统结构示意图;
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步的说明。
实施例一,参见图。
本发明提供了一种在Java Web平台上实现的分布式日志采集服务器的方案,解决在多机环境下的日志采集服务所面临的可靠性、可扩展性问题:1)可靠性指:当一个采集节点出现故障时,日志能够被传送到其他的节点上面而不丢失;2)可扩展性指当采集对象增加时,采集节点能平行扩展,自动分担采集任务;以及对后端日志处理的可扩展性功能的支持。其开发实施过程如下:
1)在web环境中安装zeromq/zookeeper/hypertable运行环境。
2)针对需要监测的类型(页面访问次数/服务请求时长/业务跟踪记录/服务异常/SQL性能等),配置日志检测模版文件。
3)修改web启动批处理文件,添加javaagent,以启动配置的采集代理服务。
4)启动web服务器,浏览监测管理页面,查看检测结果数据。
5)根据监测服务器的性能情况,调整采集点服务器的配置到适合的数量。
由上述方案可以看出,本发明集成zeromq/zookeeper/hypertable开源工具,通过内置的多种日志采集代理/灵活的消息订阅发布机制/可靠性选举算法等措施,实现了在分布式环境下面的日志采集/转发/处理以及统计的功能,解决在多机环境下的日志采集服务所面临的可靠性、可扩展性问题。

Claims (5)

1.一种分布式日志采集服务器的实现方案,其特征在于,日志采集代理的实现方式:系统通过java-agent方式,在jdk启动时,配置相关的aop插件;插件实现的日志采集的Instrument类型包括如下jar工具包:log4j/jsper/servlet-api/catalina/ojdbc/mysql/sqljdbc;分别实现对jsp页面访问/httprequest请求/session/jdbc数据访问的监测;
其中,jsp和servlet的监测,实现访问量、访问请求响应时长、以及服务调用异常消息的监测;catalina的session监测实现一个session过程内用户访问的页面和服务请求的记录和跟踪,以实现用户行为的分析;jdbc的相关实现类,监测SQL的执行性能。
2.一种分布式日志采集服务器的实现方案,其特征在于,Collector消息过滤方式:Collector的消息机制由zeromq组件实现,订阅接收来自agent的曰志消息;zeromq是一个轻量级的消息内核,提供了一种异步消息队列,消息过滤机制;支持对多种传输协议的无缝访问;订阅的过滤条件包括:服务器/命令类型;服务器指被检查的web服务器,命令类型包括:页面/服务/SQL/Error类型;订阅的申请,提交给zookeeper服务器进行批准。
3.一种分布式曰志采集服务器的实现方案,其特征在于,可靠性设计:系统的可靠性包括两个方面:首先,所有collector服务和日志持久化服务,都在zookeeper服务器注册管理;zookeeper服务配置为主备方式,当主节点down掉时,备用服务器可以接管服务;其次,agent和collector的发布订阅关系设计为冗佘配置,比如agentA采集点,注册到zookeeper时,可以对应一组collector,依次以主备方式为agentA提供日志接收/处理/转发服务;当collector[0]失效时,collector[1]自动切换或者添加对agentA的订阅日志过滤,接收来自agentA的日志消息;同时,根据自身订阅日志的任务量,自动调整在zookeeper中的队列位置,任务轻的节点靠前。
4.一种分布式日志采集服务器的实现方案,其特征在于,扩展性设计,系统的扩展性设计包括:1)监测页面和服务的可配置;系统需要监测的页面/服务/异常,通过xml进行描述;javaagent仅对需要进行监测的内容进行曰志消息的上报;2)用户行为的跟踪记录;当一个用户在同一个session,访问多个页面或者服务时,可以指定开始和结束的URI,仅当这页面或者服务在这两个URI之间的日子才进行采集上报。
5.一种分布式日志采集服务器的实现方案,其特征在于,业务操作的行为分析:指当一项业务办理需要访问多个页面或者服务请求才能完成时,对该项业务成功率和操作评价时长进行统计的功能;实现方式为:记录一个session范围内该项业务办理的初始访问页面和结束访问页面的时间,来计算一次业务办理的时长;当在这个周期内,服务请求发送异常,采集点会产生一次error命令,终止该项办理业务的跟踪记录,并记录为一次失败操作;只有当开始/结束两个服务消息都成功接收时,此项业务办理操作才算成功。
CN2013103179606A 2013-07-24 2013-07-24 一种分布式日志采集服务器的实现方案 Pending CN103401704A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2013103179606A CN103401704A (zh) 2013-07-24 2013-07-24 一种分布式日志采集服务器的实现方案

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2013103179606A CN103401704A (zh) 2013-07-24 2013-07-24 一种分布式日志采集服务器的实现方案

Publications (1)

Publication Number Publication Date
CN103401704A true CN103401704A (zh) 2013-11-20

Family

ID=49565235

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2013103179606A Pending CN103401704A (zh) 2013-07-24 2013-07-24 一种分布式日志采集服务器的实现方案

Country Status (1)

Country Link
CN (1) CN103401704A (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729479A (zh) * 2014-01-26 2014-04-16 北京北纬通信科技股份有限公司 基于分布式文件存储的网站页面内容统计的方法和系统
CN104023083A (zh) * 2014-06-23 2014-09-03 广东睿江科技有限公司 日志收集集群负载均衡的方法及装置
CN104993957A (zh) * 2015-06-29 2015-10-21 浪潮软件股份有限公司 一种为使用Log4j的分布式应用提供云端日志服务的方法
CN105141452A (zh) * 2015-08-07 2015-12-09 北京思特奇信息技术股份有限公司 一种基于cxf的高性能服务系统及方法
CN105243125A (zh) * 2015-09-29 2016-01-13 北京京东尚科信息技术有限公司 PrestoDB集群的运行方法、装置、集群及查询数据方法和装置
CN105430030A (zh) * 2014-09-16 2016-03-23 钛马信息网络技术有限公司 基于osgi技术的可平行扩展的应用服务器
CN105490864A (zh) * 2014-09-16 2016-04-13 钛马信息网络技术有限公司 基于osgi的业务模块监控方法
CN105653607A (zh) * 2015-12-23 2016-06-08 北京奇虎科技有限公司 Sql日志收集分析方法及装置
CN106095864A (zh) * 2016-06-03 2016-11-09 中国工商银行股份有限公司 一种日志处理系统及方法
CN106559241A (zh) * 2015-09-29 2017-04-05 阿里巴巴集团控股有限公司 应用日志的收集、发送方法、装置、系统及日志服务器
CN108280080A (zh) * 2017-01-06 2018-07-13 阿里巴巴集团控股有限公司 一种数据同步方法、装置以及电子设备
CN108600035A (zh) * 2018-07-21 2018-09-28 杭州安恒信息技术股份有限公司 一种非侵入式web应用监控与日志查询方法
CN108712296A (zh) * 2018-06-07 2018-10-26 郑州云海信息技术有限公司 一种基于分布式的日志监控装置及方法
CN109587138A (zh) * 2018-12-06 2019-04-05 中电工业互联网有限公司 一种物联网系统服务节点容错动态调度方法及服务器
CN110476154A (zh) * 2017-04-12 2019-11-19 华为技术有限公司 用于数据收集的代理服务器设备和方法
CN110750740A (zh) * 2019-09-16 2020-02-04 苏宁云计算有限公司 网页请求中的采集数据校验方法及装置
CN111371586A (zh) * 2018-12-26 2020-07-03 顺丰科技有限公司 日志数据传输方法、装置和设备
CN113015203A (zh) * 2021-03-22 2021-06-22 Oppo广东移动通信有限公司 信息获取方法、装置、终端、系统及存储介质
CN115801203A (zh) * 2023-01-19 2023-03-14 苏州浪潮智能科技有限公司 一种分布式集群可靠性管理方法、装置及设备

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729479A (zh) * 2014-01-26 2014-04-16 北京北纬通信科技股份有限公司 基于分布式文件存储的网站页面内容统计的方法和系统
CN104023083B (zh) * 2014-06-23 2017-12-12 广东睿江云计算股份有限公司 日志收集集群负载均衡的方法及装置
CN104023083A (zh) * 2014-06-23 2014-09-03 广东睿江科技有限公司 日志收集集群负载均衡的方法及装置
CN105490864B (zh) * 2014-09-16 2018-12-07 钛马信息网络技术有限公司 基于osgi的业务模块监控方法
CN105430030A (zh) * 2014-09-16 2016-03-23 钛马信息网络技术有限公司 基于osgi技术的可平行扩展的应用服务器
CN105490864A (zh) * 2014-09-16 2016-04-13 钛马信息网络技术有限公司 基于osgi的业务模块监控方法
CN105430030B (zh) * 2014-09-16 2018-12-07 钛马信息网络技术有限公司 基于osgi技术的可平行扩展的应用服务器
CN104993957A (zh) * 2015-06-29 2015-10-21 浪潮软件股份有限公司 一种为使用Log4j的分布式应用提供云端日志服务的方法
CN104993957B (zh) * 2015-06-29 2018-09-21 浪潮软件股份有限公司 一种为使用Log4j的分布式应用提供云端日志服务的方法
CN105141452A (zh) * 2015-08-07 2015-12-09 北京思特奇信息技术股份有限公司 一种基于cxf的高性能服务系统及方法
CN105243125A (zh) * 2015-09-29 2016-01-13 北京京东尚科信息技术有限公司 PrestoDB集群的运行方法、装置、集群及查询数据方法和装置
CN105243125B (zh) * 2015-09-29 2018-07-06 北京京东尚科信息技术有限公司 PrestoDB集群的运行方法、装置、集群及查询数据方法和装置
CN106559241A (zh) * 2015-09-29 2017-04-05 阿里巴巴集团控股有限公司 应用日志的收集、发送方法、装置、系统及日志服务器
CN106559241B (zh) * 2015-09-29 2019-11-08 阿里巴巴集团控股有限公司 应用日志的收集、发送方法、装置、系统及日志服务器
CN105653607B (zh) * 2015-12-23 2019-05-07 北京奇虎科技有限公司 Sql日志收集分析方法及装置
CN105653607A (zh) * 2015-12-23 2016-06-08 北京奇虎科技有限公司 Sql日志收集分析方法及装置
CN106095864A (zh) * 2016-06-03 2016-11-09 中国工商银行股份有限公司 一种日志处理系统及方法
CN108280080A (zh) * 2017-01-06 2018-07-13 阿里巴巴集团控股有限公司 一种数据同步方法、装置以及电子设备
CN110476154A (zh) * 2017-04-12 2019-11-19 华为技术有限公司 用于数据收集的代理服务器设备和方法
CN110476154B (zh) * 2017-04-12 2021-09-03 华为技术有限公司 用于数据收集的代理服务器设备和方法
CN108712296A (zh) * 2018-06-07 2018-10-26 郑州云海信息技术有限公司 一种基于分布式的日志监控装置及方法
CN108600035A (zh) * 2018-07-21 2018-09-28 杭州安恒信息技术股份有限公司 一种非侵入式web应用监控与日志查询方法
CN109587138A (zh) * 2018-12-06 2019-04-05 中电工业互联网有限公司 一种物联网系统服务节点容错动态调度方法及服务器
CN111371586A (zh) * 2018-12-26 2020-07-03 顺丰科技有限公司 日志数据传输方法、装置和设备
CN111371586B (zh) * 2018-12-26 2023-01-10 顺丰科技有限公司 日志数据传输方法、装置和设备
CN110750740A (zh) * 2019-09-16 2020-02-04 苏宁云计算有限公司 网页请求中的采集数据校验方法及装置
CN113015203A (zh) * 2021-03-22 2021-06-22 Oppo广东移动通信有限公司 信息获取方法、装置、终端、系统及存储介质
CN115801203A (zh) * 2023-01-19 2023-03-14 苏州浪潮智能科技有限公司 一种分布式集群可靠性管理方法、装置及设备

Similar Documents

Publication Publication Date Title
CN103401704A (zh) 一种分布式日志采集服务器的实现方案
CN105224445B (zh) 分布式跟踪系统
Goodhope et al. Building LinkedIn's Real-time Activity Data Pipeline.
Logothetis et al. In-situ {MapReduce} for Log Processing
CN108365985A (zh) 一种集群管理方法、装置、终端设备及存储介质
CN110489699B (zh) 一种异步数据采集方法及系统
CN103944924A (zh) 一种基于RESTful的泛在网发布订阅中间件模型
CN109918349A (zh) 日志处理方法、装置、存储介质和电子装置
CN112860393B (zh) 一种分布式任务调度方法及系统
CN106850258A (zh) 一种日志管理系统、方法及装置
CN104113585A (zh) 用于产生指示负载平衡状态的硬件级中断的方法和设备
CN111464612B (zh) 一种恶劣环境下提供稳定计算服务的方法
CN102262680A (zh) 一种基于海量数据存取需求的分布式数据库代理系统
CN111352806A (zh) 日志数据监控方法及装置
CN106302628B (zh) Arm架构网络集群中计算资源的统一管理调度方法
WO2022238345A1 (en) Data synchronization in edge computing networks
CN104734895A (zh) 业务监控系统及业务监控方法
JP2013171542A (ja) 性能分析装置、性能分析方法及び性能分析プログラム
CN112417050A (zh) 数据同步方法和装置、系统、存储介质及电子装置
CN116775420A (zh) 基于Flink流计算的信创云平台资源展示和预警方法及系统
CN116186139A (zh) 一种基于微服务架构的仪器仪表产品全生命周期信息感知平台
US10348596B1 (en) Data integrity monitoring for a usage analysis system
US10706073B1 (en) Partitioned batch processing for a usage analysis system
US20090164623A1 (en) Methods and systems for tracking event loss
CN113824601A (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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20131120