CN115622906A - 一种应用日志抓取系统及方法 - Google Patents
一种应用日志抓取系统及方法 Download PDFInfo
- Publication number
- CN115622906A CN115622906A CN202211095820.4A CN202211095820A CN115622906A CN 115622906 A CN115622906 A CN 115622906A CN 202211095820 A CN202211095820 A CN 202211095820A CN 115622906 A CN115622906 A CN 115622906A
- Authority
- CN
- China
- Prior art keywords
- log
- request
- server
- module
- task
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Abstract
本申请公开了一种应用日志抓取系统及方法,应用于金融领域或其他领域。客户端将请求信息和请求标识发送给服务端响应模块。若日志请求类型为抓取日志请求且满足预设条件,服务端响应模块将抓取日志请求发送给服务调度模块。服务调度模块生成爬虫抓取日志请求,将爬虫抓取日志请求以及第一日志抓取策略发送给第一目标代理程序模块。第一目标代理程序模块解析爬虫抓取日志请求中的请求信息,获取第一日志标准化输出路径,并根据请求信息以及第一日志抓取策略获取目标日志文件。当满足回传条件时,基于第一日志标准化输出路径将目标日志文件回传到核心处理模块,以通过服务端响应模块将目标日志文件返回给客户端。如此,可满足应用日志抓取需求。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种应用日志抓取系统及方法。
背景技术
随着银行应用的规模的不断扩大,银行应用在运行过程中可能发生故障。此时,需要查询应用日志以便能够根据应用日志分析应用发生故障的原因。
在查询应用日志前,需要先从银行应用的应用服务器中抓取应用日志。目前的应用日志抓取系统无法满足抓取应用日志的需求。
发明内容
为了解决上述技术问题,本申请提供了一种应用日志抓取系统及方法,能够满足应用日志的抓取需求。
为了实现上述目的,本申请提供的技术方案如下:
第一方面,本申请提供一种应用日志抓取系统,所述系统包括:客户端、服务端以及应用服务器;所述服务端包括服务端响应模块、服务调度模块、服务端数据库以及核心处理模块;所述应用服务器部署有代理程序模块;
所述客户端,用于获取日志请求中的请求信息以及请求标识,将所述请求信息以及所述请求标识发送给所述服务端响应模块;所述请求信息包括所述应用日志的关键字、日期、日志级别以及日志请求类型;
所述服务端响应模块,用于当所述日志请求类型为抓取日志请求且满足预设条件时,将所述抓取日志请求发送给所述服务调度模块;
所述服务调度模块,用于根据所述抓取日志请求生成爬虫抓取日志请求,并将所述爬虫抓取日志请求以及所述服务端数据库中的所述爬虫抓取日志请求对应的第一日志抓取策略发送给第一目标代理程序模块;所述第一目标代理程序模块部署于第一目标服务器上;所述第一目标服务器为根据第一筛选条件从所述应用服务器中筛选得到的;
所述第一目标代理程序模块,用于解析所述爬虫抓取日志请求中的请求信息,获取所述请求信息对应的第一日志标准化输出路径,并根据所述请求信息以及所述日志抓取策略获取所述爬虫抓取日志请求对应的目标日志文件;当满足回传条件时,建立和所述服务端的文件传输链接,并基于所述第一日志标准化输出路径以及所述文件传输链接,将所述目标日志文件回传到所述核心处理模块;
所述核心处理模块,用于将所述目标日志文件返回给所述服务端响应模块;
所述服务端响应模块,还用于将所述目标日志文件返回给所述客户端。
第二方面,本申请提供一种应用日志抓取方法,所述方法应用于应用日志抓取系统中,所述系统包括:客户端、服务端以及应用服务器;所述服务端包括服务端响应模块、服务调度模块、服务端数据库以及核心处理模块;所述应用服务器部署有代理程序模块;所述方法包括:
所述客户端获取日志请求中的请求信息以及请求标识,将所述请求信息以及所述请求标识发送给所述服务端响应模块;所述请求信息包括所述应用日志的关键字、日期、日志级别以及日志请求类型;
当所述日志请求类型为抓取日志请求且满足预设条件时,所述服务端响应模块将所述抓取日志请求发送给所述服务调度模块;
所述服务调度模块根据所述抓取日志请求生成爬虫抓取日志请求,并将所述爬虫抓取日志请求以及所述服务端数据库中的所述爬虫抓取日志请求对应的第一日志抓取策略发送给第一目标代理程序模块;所述第一目标代理程序模块部署于第一目标服务器上;所述第一目标服务器为根据第一筛选条件从所述应用服务器中筛选得到的;
所述第一目标代理程序模块解析所述爬虫抓取日志请求中的请求信息,获取所述请求信息对应的第一日志标准化输出路径,并根据所述请求信息以及所述日志抓取策略获取所述爬虫抓取日志请求对应的目标日志文件;当满足回传条件时,建立和所述服务端的文件传输链接,并基于所述第一日志标准化输出路径以及所述文件传输链接,将所述目标日志文件回传到所述核心处理模块;
所述核心处理模块将所述目标日志文件返回给所述服务端响应模块;
所述服务端响应模块将所述目标日志文件返回给所述客户端。
通过上述技术方案可知,本申请具有以下有益效果:
本申请提供了一种应用日志抓取系统,系统中的客户端用于获取日志请求中的请求信息和请求标识,并将请求信息和请求标识发送给服务端响应模块。当请求信息中的日志请求类型为抓取日志请求且满足预设条件时,服务端响应模块将抓取日志请求发送给服务调度模块。服务调度模块根据抓取日志请求生成爬虫抓取日志请求。并将爬虫抓取日志请求以及服务端数据库中的爬虫抓取日志请求对应的第一日志抓取策略发送给第一目标代理程序模块。第一目标代理程序模块解析爬虫抓取日志请求中的请求信息,获取请求信息对应的第一日志标准化输出路径,并根据请求信息以及第一日志抓取策略获取爬虫抓取日志请求对应的目标日志文件。当满足回传条件时,建立和服务端的文件传输链接,并基于第一日志标准化输出路径以及文件传输链接,将目标日志文件回传到核心处理模块,以便核心处理模块通过服务端响应模块,将目标日志文件返回给客户端。本申请实施例提供的应用日志抓取系统的拓展性强且耦合度低,能够降低代码侵入性,满足应用日志抓取需求。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种应用日志抓取系统的示意图;
图2为本申请实施例提供的另一种应用日志抓取系统的示意图;
图3为本申请实施例提供的一种应用日志抓取方法的流程图;
图4为本申请实施例提供的另一种应用日志抓取方法的流程图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
为了便于理解和解释本申请实施例提供的技术方案,先对本申请实施例中所涉及到的背景技术进行介绍。
随着银行业务应用的规模的不断扩大,应用在运行过程中可能发生故障。此时,需要查询应用日志以便能够根据应用日志分析应用发生故障的原因。
在查询应用日志前,需要先从应用服务器中抓取应用日志。目前,有以下三种抓取应用日志抓取方式。
第一种,引入第三方管理平台。第三方管理平台向银行应用提供了跟踪交易链路、限流熔断、版本更新、日志查看等一体化服务。但对于银行应用而言,内网银行应用的部署受制于第三方管理平台,不利于银行应用的日常维护和拓展。银行应用和第三方管理平台的复杂性,使得第三方管理平台提供的策略不具有普适性。而且,引入第三方管理平台方依赖,增加了银行应用与第三方管理平台之间的耦合性,不利于应用移植,没有解决应用日志查询困难的情景。
第二种,对于存在多个节点部署的银行应用,可通过共享目录将银行应用各节点日志放到共享目录中共同管理。这种方式解决了应用日志文件分散的问题,但应用日志文件本身没有经过加工处理,原应用日志文件占用空间大,耗费系统资源,大部分应用日志文件又不具备分析价值。
第三种,日志检索引擎包括ElasticSearch、Logstash以及Kibana三部分。Logstash负责采集、清洗数据并实现标准化,ElasticSearch是分布式文本搜索引擎,搜索结果通过Kibana提供的UI界面进行可视化。日志检索引擎配合消息队列可以满足银行应用的数据传输、数据保存、数据分析和数据削峰等需求。但是,日志检索引擎过于笨重,增加了应用服务器的负荷。
可见,目前的应用日志抓取系统无法满足抓取应用日志的需求。
基于此,本申请实施例提供了一种应用日志抓取系统,系统中的客户端用于获取日志请求中的请求信息和请求标识,并将请求信息和请求标识发送给服务端响应模块。当请求信息中的日志请求类型为抓取日志请求且满足预设条件时,服务端响应模块将抓取日志请求发送给服务调度模块。服务调度模块根据抓取日志请求生成爬虫抓取日志请求。并将爬虫抓取日志请求以及服务端数据库中的爬虫抓取日志请求对应的第一日志抓取策略发送给第一目标代理程序模块。第一目标代理程序模块解析爬虫抓取日志请求中的请求信息,获取请求信息对应的第一日志标准化输出路径,并根据请求信息以及第一日志抓取策略获取爬虫抓取日志请求对应的目标日志文件。当满足回传条件时,建立和服务端的文件传输链接,并基于第一日志标准化输出路径以及文件传输链接,将目标日志文件回传到核心处理模块,以便核心处理模块通过服务端响应模块,将目标日志文件返回给客户端。本申请实施例提供的应用日志抓取系统的拓展性强且耦合度低,能够降低代码侵入性,满足应用日志抓取需求。
为了便于理解本申请,下面结合附图对本申请实施例提供的一种应用日志抓取系统进行说明。
参见图1所示,该图为本申请实施例提供的一种应用日志抓取系统的流程图。如图1所示,该系统包括客户端101、服务端102以及应用服务器103。服务端102包括服务端响应模块1021、服务调度模块1022、服务端数据库1023以及核心处理模块1024。应用服务器103部署有代理程序模块1031。可以理解的是,本申请实施例不限定客户端101的数量以及应用服务器103的数量。应用服务器103可为多个,图1中未示出。代理程序模块1031的数量和应用服务器103的数量相同。
其中,客户端101,用于获取日志请求中的请求信息以及请求标识,将请求信息以及请求标识发送给服务端响应模块1021;请求信息包括应用日志的关键字、日期、日志级别以及日志请求类型。
客户端提供交互界面,用户可在客户端的交互界面中提供关键字、日期、日志级别等信息,还可在交互界面中选择日志请求类型,进而发送日志请求。具体地,在提供各种信息后,用户可触发交互界面中的查询控件,响应于该触发操作,生成并发送日志请求。
关键字具体为日志关键字。应用服务器中存储有数量较多的日志文件。在进行日志抓取时,根据关键字,便于确定要抓取的日志信息所属的日志文件或者所属的日志片段。日期为要抓取的日志信息的生成时间。日志文件类型包括故障日志或业务日志。故障日志的日志级别高于业务日志的级别。日志级别的划分可根据实际情况进行确定,这里不进行限定。
日志请求类型包括日志订阅类型、日志抓取策略更新请求以及抓取日志请求。当日志请求类型为日志订阅类型时,用于订阅日志,服务端会定时将日志信息发送给客户端。当日志请求类型为日志抓取策略更新请求时,服务端会更新日志抓取策略。当日志请求类型为抓取日志请求时,服务端会将抓取的日志信息返回给客户端。此外,应用服务器有各自的服务器IP。用户还可在客户端的交互界面中提供服务器IP。
可以理解的是,用户成功订阅日志后,客户端界面会定期刷新展示最新的日志抓取内容。若当前的日志抓取策略无法满足用户抓取日志需求,用户可以在客户端定制日志抓取策略,并通过日志抓取策略更新请求推送至服务端。
用户提供关键字、日期、日志级别、日志请求类型等信息时,响应于用户的操作,客户端获取日志请求中的请求信息,即关键字、日期、日志级别、日志请求类型等信息。客户端还会获取日志请求中的请求标识,请求标识可通过客户端IP、客户端端口标识以及当前系统时间等信息生成。
在实际应用中,客户端会将日志请求中的请求信息封装成JSON请求报文体,报文头包括请求标识,并以HTTP请求的方式进行发送。
服务端响应模块1021,用于当日志请求类型为抓取日志请求且满足预设条件时,将抓取日志请求发送给服务调度模块1022。
可以理解的是,服务端响应模块在获取日志请求中的请求标识和请求信息之后,根据日志请求类型进行后续处理。当日志请求类型为抓取日志请求且满足预设条件时,将抓取日志请求发送给服务调度模块1022。其中,预设条件为核心处理模块中的定时抓取任务的日志标准化输出路径下没有抓取日志请求对应的目标日志文件。可以理解的是,若核心处理模块中已经存在日志请求对应的目标日志文件,则可直接将该目标日志文件返回该客户端。还可以理解的是,抓取日志请求包括请求信息和请求标识。
作为一种可选示例,服务端响应模块1021接收到日志请求中的请求标识和请求信息之后,还会将该日志请求的请求记录插入服务端数据库1023的请求历史表中,以进行记录。
服务调度模块1022,用于根据抓取日志请求生成爬虫抓取日志请求,并将爬虫抓取日志请求以及服务端数据库中的爬虫抓取日志请求对应的第一日志抓取策略发送给第一目标代理程序模块。
其中,应用服务器的数量可为多个。第一目标代理程序模块部署于第一目标服务器上。需要根据第一筛选条件从应用服务器中筛选得到第一目标服务器。可以理解的是,第一目标服务器为应用服务器中的一个或多个。第一目标代理程序模块为代理程序模块中的一个或多个。作为一种可选示例,当请求信息包括服务器IP时,第一筛选条件为服务器IP,即第一目标服务器为服务器IP对应的服务器。
当请求信息不包括服务器IP时,作为一种可选示例,第一筛选条件为根据请求信息中的关键字,即根据关键字从应用服务器中筛选得到第一目标服务器。作为另一种可选示例,第一筛选条件为将所有应用服务器确定为第一目标服务器。另外,服务端102还包括配置中心。第一目标服务器还可根据由配置中心的应用服务器配置信息确定。即,作为另一种可选示例,第一筛选条件还可为配置中心的应用服务器配置信息。在实际应用中,当请求信息不包括服务器IP时,可根据实际情况从上述三个第一筛选条件中确定一个。
第一目标代理程序模块,用于解析爬虫抓取日志请求中的请求信息,获取请求信息对应的第一日志标准化输出路径,并根据请求信息以及第一日志抓取策略获取爬虫抓取日志请求对应的目标日志文件;当满足回传条件时,建立和服务端的文件传输链接,并基于第一日志标准化输出路径以及文件传输链接,将目标日志文件回传到核心处理模块1024。
作为一种可选示例,服务端还包括配置中心。配置中心用于将第一日志标准化输出路径下发到第一目标代理程序模块中。可以理解的是,配置中心可根据爬虫抓取日志请求中的请求信息确定第一日志标准化输出路径,并将第一日志标准化输出路径下发到第一目标代理程序模块中。例如,配置中心可获取到日志请求中的请求信息,并根据请求信息中的关键字等信息确定要获取的日志的日志类型,以根据日志类型确定第一日志标准化输出路径。第一日志标准化输出路径为获取的目标日志文件的在服务端的存储路径,包括服务端的地址信息。
作为一种可选示例,根据请求信息以及第一日志抓取策略获取爬虫抓取日志请求对应的目标日志文件,具体为,根据请求信息以及第一日志抓取策略检索第一目标服务器中的日志文件,从第一目标服务器中的日志文件中获取爬虫抓取日志请求对应的目标日志文件。
作为一种可选示例,日志抓取策略包括关键字匹配类型以及应用服务器中的日志文件的关键字权重。其中,关键字匹配类型包括大小匹配、模糊匹配以及精准匹配等。应用服务器中的日志文件的关键字权重根据相同关键字在各个日志文件中的命中次数确定。
第一目标代理程序模块会记录相同关键字在第一目标服务器中的各个日志文件中的命中次数,并根据每个日志文件中的命中次数为第一目标服务器中的各个日志文件赋予关键字权重。当第一目标服务器中的多个日志文件中均包含相同的关键字时,根据日志文件的关键字权重的大小,优先检索包括相同关键字的且关键字权重最大的日志文件。
基于上述内容可知,第一日志抓取策略为从第一目标服务器中的日志文件获取目标日志文件的规则,包括关键字匹配类型以及第一目标服务器中的日志文件的关键字权重。第一目标服务器中的日志文件的关键字权重可从应用服务器中的日志文件的关键字权重中获取。
作为一种可选示例,回传条件为目标日志文件的生成时间与抓取日志请求的请求时间的时间差未超过抓取日志请求对应的等待超时时间。
作为一种可选示例,文件传输链接为Ftp链接。
可以理解的是,在建立文件传输链接之后,便可基于第一日志标准化输出路径以及文件传输链接,将目标日志文件回传到核心处理模块1024。第一日志标准化输出路径包括核心处理模块中接收目标日志文件的位置信息。作为一种可选示例,可将目标日志文件压缩后回传到核心处理模块1024。例如,可将目标日志文件分卷压缩,并给每个压缩包打上不同的压缩标签。
在实际应用中,代理程序模块也会定时清理压缩包文件,当压缩包文件的文件日期超过有效时间,或压缩文件占用大小超过限制,代理程序模块会根据时间顺序清理压缩包。
核心处理模块1024,用于将目标日志文件返回给服务端响应模块1021。进而,服务端响应模块1021,还用于将目标日志文件返回给客户端101。
作为一种可选示例,可在客户端101的可视化界面中展示日志抓取结果,即目标日志文件。
参见图2,图2为本申请实施例提供的另一种应用日志抓取系统的示意图。如图2所示,作为一种可选示例,应用日志抓取系统还包括:服务端网关。图2中的客户端模块可简称为客户端。图2中的第一目标服务器为所有的应用服务器,第一目标代理程序模块为所有的代理程序模块。可知,图2仅为示例,并不对本申请实施例进行限制。
在一种可能的实现方式中,客户端,具体用于将请求信息以及请求标识发送给服务端网关;
服务端网关,用于将请求信息以及请求标识转发给服务端响应模块。
可以理解的是,当客户端将日志请求中的请求信息封装成JSON请求报文体,报文头包括请求标识,并以HTTP请求的方式进行发送。将HTTP请求发送给服务端网关。服务端网关具体用于在收到HTTP请求后,对HTTP请求进行解包,获取报文头中的请求标识和报文体中的请求信息,然后将请求标识和请求信息转发至服务端响应模块。
在一种可能的实现方式中,如图2所示,服务调度模块包括:调度前置模块、任务调度和分配模块以及任务调度线程池。服务端数据库包括待执行任务表、任务策略信息表以及任务调度表。服务端数据库还包括订阅相关表,用于存储订阅信息。
可以理解的是,上述实施例中的服务调度模块1022根据抓取日志请求生成爬虫抓取日志请求,并将爬虫抓取日志请求以及服务端数据库中的爬虫抓取日志请求对应的第一日志抓取策略发送给第一目标代理程序模块的功能,可通过图2所示的调度前置模块、任务调度和分配模块以及任务调度线程池实现。具体实现过程如下:
调度前置模块,用于当日志请求类型为抓取日志请求时,对抓取日志请求中的请求信息进行校验,当校验通过后,将抓取日志请求任务插入待执行任务表中,并设置抓取日志请求对应的等待超时时间。
其中,可对请求信息中每个信息的字段长度、字符类型、必输性以及业务逻辑等均进行校验。
作为一种可选示例,当校验通过后,根据请求标识生成请求ID,根据请求ID生成抓取日志请求的任务编号,并为抓取日志请求赋予任务优先级,将抓取日志请求任务插入待执行任务表中。可以理解的是,在实际应用中,可支持响应多个客户端的抓取日志请求。此时,抓取日志请求有多个,且每个抓取日志请求均有对应的任务优先级。
任务调度和分配模块,用于调用后台常驻线程来轮询待执行任务表中的任务,当抓取日志请求任务满足调起条件时,利用调起线程将抓取日志请求任务从待执行任务表添加到任务调度表和任务调度线程池中,并为任务调度表中的抓取日志请求任务分配任务执行线程。
作为一种可选示例,后台常驻线程可为QuartzScheduleManager,调起线程可为RefreshJobThread线程。
可以理解的是,当超过日志请求对应的等待超时时间时,任务调度和分配模块还用于将待执行任务表中的超时任务进行清理。
还可以理解的是,任务调度和分配模块,用于当抓取日志请求任务有多个时,调用后台常驻线程来轮询待执行任务表中的任务,选取满足调起条件且优先级最高的预设数量个任务,利用调起线程将这些任务从待执行任务表添加到任务调度表和任务调度线程池中,并为任务调度表中的各个抓取日志请求任务分配任务执行线程。例如,预设数量为10个。
当满足执行条件时,任务调度和分配模块通过任务执行线程将抓取日志请求任务从任务调度表添加到执行任务表中,将执行任务表中抓取日志请求任务的任务执行状态修改为执行中。
可以理解的是,当抓取日志请求任务有多个时,可根据抓取日志请求任务优先级执行或者并行执行。
进而,任务调度和分配模块读取任务策略信息表中的抓取日志请求对应的第一日志抓取策略并生成爬虫抓取日志请求,将第一日志抓取策略以及爬虫抓取日志请求发送给第一目标代理程序模块。
可以理解的是,服务端数据库包括任务策略信息表,任务策略信息表中包括客户端定制的日志抓取策略。任务调度和分配模块能够根据抓取日志请求中的请求标识确定发送抓取日志请求的客户端IP,进而能够得知客户端定制的日志抓取策略,从而读取任务策略信息表中的抓取日志请求对应的第一日志抓取策略。该第一日志抓取策略即为客户端定制的日志抓取策略。
另外,爬虫抓取日志请求用于发送给第一目标代理程序模块,以使第一目标代理程序模块进行日志抓取。爬虫抓取日志请求也包含抓取日志请求中的内容,即请求信息以及请求标识。
在一种可能的实现方式中,核心处理模块包括服务器文件管理模块、监听器以及日志加工和归档模块。服务端数据库还包括执行任务表。基于此,上述实施例中的核心处理模块1024,用于将目标日志文件返回给服务端响应模块1021的功能,可通过服务器文件管理模块、监听器以及日志加工和归档模块实现。具体实现过程如下:
服务器文件管理模块,用于接收代理程序模块发送的目标日志文件,并将目标日志文件存储到服务器文件管理目录中。
监听器,用于监听执行任务表中的抓取日志请求任务对应的任务执行状态,并监听消息队列。
代理程序模块,用于当目标日志文件回传结束时,发送目标日志文件对应的结束标识以及任务唯一标识到消息队列中。
日志加工和归档模块,用于当监听器监听到消息队列中的目标日志文件对应的结束标识以及任务唯一标识时,根据任务唯一标识更新执行任务表中的抓取日志请求任务的任务执行状态为待完整性校验状态;
检索服务器文件管理目录中的目标日志文件的完整性,若完整,更新执行任务表中的抓取日志请求对应的记录的任务执行状态为待解析状态;
解析服务器文件管理模块中的目标日志文件,并将解析后的目标日志文件返回给服务端响应模块。
可以理解的是,第一目标代理程序模块将目标日志文件回传到核心处理模块,具体为,将目标日志文件回传到服务器文件管理模块的服务器文件管理目录(即图2中的服务器文件管理路径)。
其中,服务器文件管理模块接收到的目标日志文件为压缩状态。当日志请求任务的任务执行状态为待完整性校验状态时,表示目标日志文件的传输完成。当日志请求任务的任务执行状态为待解析状态时,表示目标文件的完整性校验完成。
另外,日志加工和归档模块在检索服务器文件管理目录中的目标日志文件的完整性之前,可先分配线程读取目标日志文件,并进行后续的完整性检索以及解析。其中,解析可以示例性理解为解压。读取解析后的目标日志文件中的标签并落库。其中,标签为目标日志文件的压缩标签。然后,查询服务端数据库中的日志相关表中的目标日志文件信息,将解析后的目标日志文件与目标日志文件信息进行组装,并转换为JSON报文返回到服务端响应模块。其中,目标日志文件信息记载了解析后的目标日志文件的位置和解析完成时间。
若回传过程中断或回传异常(例如在预设时间内未接收到结束标识或捕获到异常),且在重试次数内,则请求服务调度模块重新调起抓取过程。
在一种可能的实现方式中,服务端响应模块1021具体用于将接收到的目标日志文件进行封装,获得封装后的目标日志文件,并检测客户端的健康状态。当客户端的健康状态满足健康状态预设条件时,将封装后的目标日志文件返回给客户端101。其中,可根据实际情况确定健康状态预设条件,这里不进行限定。
在一种可能的实现方式中,服务调度模块还包括:任务调度定时器。
任务调度定时器,用于定时向第二目标代理程序模块发送定时抓取日志请求以及定时抓取日志请求对应的第二日志抓取策略;第二目标代理程序模块部署于第二目标服务器上;第二目标服务器为根据第二筛选条件从应用服务器中筛选得到的。
可以理解的是,客户端会向服务端发送日志订阅请求,当订阅成功后,服务端将该客户端加入广播目标列表。服务端定时调起日志抓取流程,以定时生成日志信息,根据客户端订阅策略将日志信息广播给客户端。基于此,除了客户端主动发起的抓取日志请求,服务调度模块的任务调度定时器也会定时调起日志抓取流程。
其中,第二筛选条件可参考第一筛选条件,这里不进行限定。例如,第二筛选条件为第二目标服务器为所有应用服务器。
可以理解的是,在定时向第二目标代理程序模块发送定时抓取日志请求以及定时抓取日志请求对应的第二日志抓取之前,策略任务调度定时器,还用于定时向服务端数据库中的待执行任务表中插入日志请求任务,当满足调起条件时,将日志请求任务添加到任务调度表和任务调度线程池中,并为任务调度表中的日志请求任务分配任务执行线程。当满足执行条件时,通过任务执行线程将日志请求任务从任务调度表添加到执行任务表中,将执行任务表中日志请求任务的任务执行状态修改为执行中。读取任务策略信息表中的抓取日志请求对应的第二日志抓取策略并生成定时抓取日志请求。
作为一种可选示例,如图2所示,任务调度定时器还可查询任务调度表。
另外,第二日志抓取策略为客户端定制的定时抓取日志请求对应的抓取策略,可存储于服务端数据库的任务策略信息表中。第二日志抓取策略可和第一日志抓取策略相同或不同,根据实际情况进行确定。
第二目标代理程序模块,用于解析定时抓取日志请求中的请求信息,获取定时抓取日志请求中的请求信息对应的第二日志标准化请求路径,并根据定时抓取日志请求中的请求信息以及第二日志抓取策略获取定时抓取日志请求对应的日志文件,当满足回传条件时,建立和服务端的文件传输链接,基于第二日志标准化请求路径以及文件传输链接,将定时抓取日志请求对应的日志文件回传到核心处理模块。
其中,第二日志标准化请求路径由配置中心下发到第二目标代理程序模块中。第二日志标准化请求路径的确定过程和第一日志标准化请求路径的确定过程类似,这里不再详述。
作为一种可选示例,还可为定时抓取日志请求对应的日志文件添加定时抓取结果的标签。
核心处理模块,还用于当接收到服务端响应模块发送的抓取日志请求时,将定时抓取日志请求对应的日志文件通过服务端响应模块返回给客户端。
其中,核心处理模块接收定时抓取日志请求对应的日志文件的过程可参考上述实施例,这里不再赘述。
可以理解的是,当服务端接收到客户端主动发起的抓取日志请求时,会优先检索定时抓取任务的日志标准化输出路径。若核心处理模块中的定时抓取任务的日志标准化输出路径下没有抓取日志请求对应的目标日志文件,则确定满足预设条件,后续会通过服务端、代理程序模块等生成抓取日志请求对应的目标日志文件。当不满足预设条件时,即核心处理模块中的定时抓取任务的日志标准化输出路径下有抓取日志请求对应的目标日志文件,该目标日志文件即为定时抓取日志请求对应的日志文件。此时,直接将定时抓取日志请求对应的日志文件通过服务端响应模块返回给客户端即可,不用再重新生成日志文件,可以提高获取日志信息的效率。
作为一种可选示例,服务端还包括:异常捕获模块。异常捕获模块,用于获取日志抓取流程中的异常信息,将异常信息反馈给客户端。
在一个或多个实施例中,用户还会在客户端交互界面中提供定制的日志抓取策略,此时用户选择的日志请求类型为日志抓取策略更新请求。则请求信息中还包括定制的日志抓取策略。
当请求信息中包括定制的日志抓取策略且日志请求类型为日志抓取策略更新请求时,服务端响应模块将日志抓取策略更新请求发送给服务调度模块1022。服务调度模块1022,还用于将定制的日志抓取策略插入服务端数据库1023的任务策略信息表中,或者根据定制的日志抓取策略修改的任务策略信息表中的对应策略。同时,服务调度模块1022,还用于将修改成功的结果,返回给服务端响应模块,以通过服务端响应模块将修改成功的结果发送给客户端。
具体实施时,如图2所示,服务端响应模块将日志抓取策略更新请求发送给服务调度模块1022中的调度前置模块。调度前置模块用于将定制的日志抓取策略插入服务端数据库1023的任务策略信息表中,或者根据定制的日志抓取策略修改的任务策略信息表中的对应策略。
可以理解的是,本申请实施例引入了C/S框架,各应用服务器部署代理程序模块,用于将日志信息回传给服务端。区别于原WebMagic框架,代理程序模块整合了Downloader的加载功能,负责定时检索对应的应用服务器的应用日志,截取日志文件片段进行加工,将日志文件统一转码为供服务端解析的通用格式,并加密压缩为gzip文件,当收到服务端请求时以ftp方式将压缩文件回传。服务端则实现了以下功能:多线程创建爬虫程序,抓取应用服务器(可为指定服务器IP对应的应用服务器)的日志文件,将取到的日志文件解压、分析并落库分析结果。同时,响应客户端的订阅请求,将解析后的日志信息发布给订阅客户端。客户端收到服务端广播后,刷新并展示日志抓取结果。
日志抓取系统使用了C/S结构,还可响应多个客户端节点的抓取请求。日志抓取系统使用配置中心,可以动态客户端节点,并可动态拓展应用服务器节点进行日志抓取。同时,通过线程池调度方式实现并行作业过程,对任务进行优先级排序,可充分利用当前平台的硬件资源。
本申请实施例提供的应用日志抓取系统通过轮询消息队列以此实现异步伪实时的日志抓取过程。核心处理模块收到日志抓取任务的结束标识才进行后续的处理步骤,异步处理的过程大大提高了系统执行效率,不用长时等待文件传输结果,规避了处理超时风险,减少了系统资源的消耗。
本申请实施例提供的应用日志抓取系统对应用服务器没有侵入性,相对应用而言独立运作,降低了耦合性,并且支持抓取策略的实时变更,抓取到的日志在服务端进行分类和管理,可以满足不同的策略抓取需求,并且可追溯各时间点所抓取到的日志内容。如果客户端节点因断开和服务端链接,无法及时收到日志抓取结果,应用日志抓取系统还支持进行重发操作。
基于上述方法实施例提供的一种应用日志抓取系统,本申请实施例还提供了一种应用日志抓取方法,下面将结合附图对应用日志抓取方法进行说明。由于本公开实施例中的装置解决问题的原理与本申请实施例上述应用日志抓取系统相似,因此方法的实施可以参见系统的实施,重复之处不再赘述。
参见图3所示,该图为本申请实施例提供的一种应用日志抓取方法的结构示意图。应用日志抓取方法应用于应用日志抓取系统中,系统包括:客户端、服务端以及应用服务器;服务端包括服务端响应模块、服务调度模块、服务端数据库以及核心处理模块;应用服务器部署有代理程序模块。如图3所示,该应用日志抓取方法可以包括S301-S306:
S301:客户端获取日志请求中的请求信息以及请求标识,将请求信息以及请求标识发送给服务端响应模块;请求信息包括应用日志的关键字、日期、日志级别以及日志请求类型。
S302:当日志请求类型为抓取日志请求且满足预设条件时,服务端响应模块将抓取日志请求发送给服务调度模块。
S303:服务调度模块根据抓取日志请求生成爬虫抓取日志请求,并将爬虫抓取日志请求以及服务端数据库中的爬虫抓取日志请求对应的第一日志抓取策略发送给第一目标代理程序模块;第一目标代理程序模块部署于第一目标服务器上;第一目标服务器为根据第一筛选条件从应用服务器中筛选得到的。
S304:第一目标代理程序模块解析爬虫抓取日志请求中的请求信息,获取请求信息对应的第一日志标准化输出路径,并根据请求信息以及第一日志抓取策略获取爬虫抓取日志请求对应的目标日志文件;当满足回传条件时,建立和服务端的文件传输链接,并基于第一日志标准化输出路径以及文件传输链接,将目标日志文件回传到核心处理模块。
S305:核心处理模块将目标日志文件返回给服务端响应模块。
S306:服务端响应模块将目标日志文件返回给客户端。
作为一种可选示例,应用日志抓取系统还包括:服务端网关。在一种可能的实现方式中,本申请实施例提供了一种S301中的具体实施方式,包括:
客户端将日志请求中的请求信息以及请求标识发送给服务端网关;
服务端网关将请求信息以及请求标识转发给服务端响应模块。
作为一种可选示例,服务调度模块包括:调度前置模块、任务调度和分配模块以及任务调度线程池;服务端数据库包括待执行任务表、任务策略信息表以及任务调度表。
在一种可能的实现方式中,本申请实施例提供了一种S303的具体实施方式,包括:
当日志请求类型为抓取日志请求时,调度前置模块对抓取日志请求中的请求信息进行校验,当校验通过后,将抓取日志请求任务插入待执行任务表中,并设置抓取日志请求对应的等待超时时间;
任务调度和分配模块调用后台常驻线程来轮询待执行任务表中的任务,当抓取日志请求任务满足调起条件时,利用调起线程将抓取日志请求任务从待执行任务表添加到任务调度表和任务调度线程池中,并为任务调度表中的抓取日志请求任务分配任务执行线程;
任务调度和分配模块当满足执行条件时,通过任务执行线程将抓取日志请求任务从任务调度表添加到执行任务表中,将执行任务表中抓取日志请求任务的任务执行状态修改为执行中;
任务调度和分配模块读取任务策略信息表中的抓取日志请求对应的第一日志抓取策略并生成爬虫抓取日志请求,将第一日志抓取策略以及爬虫抓取日志请求发送给第一目标代理程序模块。
在一种可能的实现方式中,回传条件为目标日志文件的生成时间与抓取日志请求的请求时间的时间差未超过抓取日志请求对应的等待超时时间。
作为一种可选示例,目标日志文件为压缩状态;核心处理模块包括服务器文件管理模块、监听器以及日志加工和归档模块;服务端数据库还包括执行任务表。
在一种可能的实现方式中,本申请实施例提供了一种S305的具体实施方式,包括:
服务器文件管理模块,用于接收代理程序模块发送的目标日志文件,并将目标日志文件存储到服务器文件管理目录中;
监听器,用于监听执行任务表中的抓取日志请求任务对应的任务执行状态,并监听消息队列;
代理程序模块,用于当目标日志文件回传结束时,发送目标日志文件对应的结束标识以及任务唯一标识到消息队列中;
日志加工和归档模块,用于当监听器监听到消息队列中的目标日志文件对应的结束标识以及任务唯一标识时,根据任务唯一标识更新执行任务表中的抓取日志请求任务的任务执行状态为待完整性校验状态;
检索服务器文件管理目录中的目标日志文件的完整性,若完整,更新执行任务表中的抓取日志请求对应的记录的任务执行状态为待解析状态;
解析服务器文件管理模块中的目标日志文件,并将解析后的目标日志文件返回给服务端响应模块。
作为一种可选示例,服务调度模块还包括:任务调度定时器。
在一种可能的实现方式中,该方法还包括:
任务调度定时器定时向第二目标代理程序模块发送定时抓取日志请求以及定时抓取日志请求对应的第二日志抓取策略;第二目标代理程序模块部署于第二目标服务器上;第二目标服务器为根据第二筛选条件从应用服务器中筛选得到的;
代理程序模块解析定时抓取日志请求中的请求信息,获取定时抓取日志请求中的请求信息对应的第二日志标准化请求路径,并根据定时抓取日志请求中的请求信息以及第二日志抓取策略获取定时抓取日志请求对应的日志文件,当满足回传条件时,建立和服务端的文件传输链接,基于第二日志标准化请求路径以及文件传输链接,将定时抓取日志请求对应的日志文件回传到核心处理模块;
当接收到服务端响应模块发送的抓取日志请求时,核心处理模块将定时抓取日志请求对应的日志文件通过服务端响应模块返回给客户端。
作为一种可选示例,服务端还包括:配置中心。
在一种可能的实现方式中,该方法还包括:
配置中心将第一日志标准化输出路径下发到代理程序模块中。
作为一种可选示例,服务端还包括:异常捕获模块。
在一种可能的实现方式中,该方法还包括:
异常捕获模块获取日志抓取流程中的异常信息,将异常信息反馈给客户端。
在一种可能的实现方式中,日志抓取策略包括关键字匹配类型以及应用服务器中的日志文件的关键字权重。
参见图4,图4为本申请实施例提供的另一种应用日志抓取方法的流程图。如图4所示,该方法包括步骤S401-S422:
S401:客户端发送HTTP请求。
客户端将日志请求中的请求信息以及请求标识封装成HTTP请求进行发送,发送给服务端网关。
S402:服务端网关处理解析HTTP请求的报文头和报文体。
服务端对HTTP请求进行解析,将解析得到的请求信息和请求标识发送给服务端响应模块。
S403:服务端响应模块分析请求类型。
服务端响应模块对请求信息中的日志请求类型进行分析。
S404:判断是否为抓取日志请求;若是,执行S405。
服务端响应模块判断请求信息中的日志请求类型是否为抓取日志请求,若是,执行S405。
S405:调度前置模块校验抓取日志请求。
当日志请求类型为抓取日志请求时,将抓取日志请求发送给调度前置模块,调度前置模块校验抓取日志请求中的请求信息。
S406:判断请求是否校验通过,若是,执行S407,若否,返回校验错误。
当抓取日志请求中的请求信息校验通过后,执行S407。
S407:调度前置模块插入任务到服务端数据库的待执行任务表。
S408:监听待执行任务表,任务调度和分派模块声明线程,发送爬虫抓取日志请求。
任务调度和分派模块用于调用后台常驻线程来轮询待执行任务表中的任务,当抓取日志请求任务满足调起条件时,利用调起线程将抓取日志请求任务从待执行任务表添加到任务调度表和任务调度线程池中,并为任务调度表中的抓取日志请求任务分配任务执行线程;
当满足执行条件时,通过任务执行线程将抓取日志请求任务从任务调度表添加到执行任务表中,将执行任务表中抓取日志请求任务的任务执行状态修改为执行中;
读取任务策略信息表中的抓取日志请求对应的第一日志抓取策略并生成爬虫抓取日志请求,将第一日志抓取策略以及爬虫抓取日志请求发送给第一目标代理程序模块。
S409:第一代理程序模块获取目标日志文件,检索日志输出路径。
第一代理程序模块根据请求信息以及第一日志抓取策略获取爬虫抓取日志请求对应的目标日志文件,并根据请求信息检索日志输出路径。
S410:判断是否满足回传条件;若是,执行S411。
作为一种可选示例,回传条件为目标日志文件的生成时间与抓取日志请求的请求时间的时间差未超过抓取日志请求对应的等待超时时间。
S411:标准化输出日志压缩文件。
当满足回传条件时,将目标日志文件进行压缩,标准化输出日志压缩文件。
S412:第一代理程序模块与服务端建立文件传输链接。
当满足回传条件时,第一代理程序模块与服务端建立文件传输链接。
S413:传输日志压缩文件返回服务端。
基于第一日志标准化输出路径以及文件传输链接,将日志压缩文件传输到服务端的核心处理模块。
S414:判断是否完成传输,若是,执行S415;若否,重新执行S413。
S415:发送传输结束标识到消息队列。
当日志压缩文件传输完成后,第一目标代理程序模块发送传输结束标识到消息列队。
S416:服务端核心处理模块处理。
服务端核心处理模块读取消息队列中的结束标识,确定传输结束。
S417:判断日志是否完整;若是,执行S418,若否,重新请求调起传输。
即,判断日志压缩文件是否完整。
S418:解析日志压缩文件并落库。
若日志压缩文件完整,解析日志压缩文件并落库。
S419:返回服务端响应模块,封装报文。
将解析后的目标日志文件返回给服务端响应模块,服务端响应模块将其封装为报文。
S420:返回客户端。
服务端响应模块将报文返回客户端。作为一种可选示例,该报文可为JSON格式报文。
S421:判断是否返回成功,若是,执行S422;若否,重新返回。
S422:结束日志抓取流程。
若报文返回客户端成功,结束日志抓取流程。
可以理解的是,步骤S401-S422的技术详情可参考上述应用日志抓取系统的技术实现详情,这里不再赘述。
需要说明的是,本申请提供的一种应用日志抓取系统及方法可用于金融领域或其他领域,例如,可用于金融领域中的应用日志抓取应用场景。其他领域为除金融领域之外的任意领域,例如,计算机技术领域。上述仅为示例,并不对本申请提供的一种应用日志抓取系统及方法的应用领域进行限定。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本申请各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的方法而言,由于其与实施例公开的系统相对应,所以描述的比较简单,相关之处参见系统部分说明即可。
还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种应用日志抓取系统,其特征在于,所述系统包括:客户端、服务端以及应用服务器;所述服务端包括服务端响应模块、服务调度模块、服务端数据库以及核心处理模块;所述应用服务器部署有代理程序模块;
所述客户端,用于获取日志请求中的请求信息以及请求标识,将所述请求信息以及所述请求标识发送给所述服务端响应模块;所述请求信息包括所述应用日志的关键字、日期、日志级别以及日志请求类型;
所述服务端响应模块,用于当所述日志请求类型为抓取日志请求且满足预设条件时,将所述抓取日志请求发送给所述服务调度模块;
所述服务调度模块,用于根据所述抓取日志请求生成爬虫抓取日志请求,并将所述爬虫抓取日志请求以及所述服务端数据库中的所述爬虫抓取日志请求对应的第一日志抓取策略发送给第一目标代理程序模块;所述第一目标代理程序模块部署于第一目标服务器上;所述第一目标服务器为根据第一筛选条件从所述应用服务器中筛选得到的;
所述第一目标代理程序模块,用于解析所述爬虫抓取日志请求中的请求信息,获取所述请求信息对应的第一日志标准化输出路径,并根据所述请求信息以及所述第一日志抓取策略获取所述爬虫抓取日志请求对应的目标日志文件;当满足回传条件时,建立和所述服务端的文件传输链接,并基于所述第一日志标准化输出路径以及所述文件传输链接,将所述目标日志文件回传到所述核心处理模块;
所述核心处理模块,用于将所述目标日志文件返回给所述服务端响应模块;
所述服务端响应模块,还用于将所述目标日志文件返回给所述客户端。
2.根据权利要求1所述的系统,其特征在于,所述系统还包括:服务端网关;
所述客户端,具体用于将所述请求信息以及所述请求标识发送给所述服务端网关;
所述服务端网关,用于将所述请求信息以及所述请求标识转发给所述服务端响应模块。
3.根据权利要求1所述的系统,其特征在于,所述服务调度模块包括:调度前置模块、任务调度和分配模块以及任务调度线程池;所述服务端数据库包括待执行任务表、任务策略信息表以及任务调度表;
所述调度前置模块,用于当所述日志请求类型为抓取日志请求时,对所述抓取日志请求中的请求信息进行校验,当校验通过后,将抓取日志请求任务插入所述待执行任务表中,并设置所述抓取日志请求对应的等待超时时间;
所述任务调度和分配模块,用于调用后台常驻线程来轮询所述待执行任务表中的任务,当所述抓取日志请求任务满足调起条件时,利用调起线程将所述抓取日志请求任务从所述待执行任务表添加到所述任务调度表和所述任务调度线程池中,并为所述任务调度表中的所述抓取日志请求任务分配任务执行线程;
当满足执行条件时,通过所述任务执行线程将所述抓取日志请求任务从所述任务调度表添加到所述执行任务表中,将所述执行任务表中所述抓取日志请求任务的任务执行状态修改为执行中;
读取所述任务策略信息表中的所述抓取日志请求对应的第一日志抓取策略并生成爬虫抓取日志请求,将所述第一日志抓取策略以及所述爬虫抓取日志请求发送给所述第一目标代理程序模块。
4.根据权利要求1或3所述的系统,其特征在于,所述回传条件为所述目标日志文件的生成时间与所述抓取日志请求的请求时间的时间差未超过所述抓取日志请求对应的等待超时时间。
5.根据权利要求3所述的系统,其特征在于,所述目标日志文件为压缩状态;所述核心处理模块包括服务器文件管理模块、监听器以及日志加工和归档模块;所述服务端数据库还包括执行任务表;
所述服务器文件管理模块,用于接收所述代理程序模块发送的所述目标日志文件,并将所述目标日志文件存储到服务器文件管理目录中;
所述监听器,用于监听所述执行任务表中的所述抓取日志请求任务对应的任务执行状态,并监听消息队列;
所述代理程序模块,用于当所述目标日志文件回传结束时,发送所述目标日志文件对应的结束标识以及任务唯一标识到所述消息队列中;
所述日志加工和归档模块,用于当所述监听器监听到所述消息队列中的所述目标日志文件对应的结束标识以及任务唯一标识时,根据所述任务唯一标识更新所述执行任务表中的所述抓取日志请求任务的任务执行状态为待完整性校验状态;
检索所述服务器文件管理目录中的所述目标日志文件的完整性,若完整,更新所述执行任务表中的所述抓取日志请求对应的记录的任务执行状态为待解析状态;
解析所述服务器文件管理模块中的所述目标日志文件,并将解析后的目标日志文件返回给所述服务端响应模块。
6.根据权利要求1所述的系统,其特征在于,所述服务调度模块还包括:任务调度定时器;
所述任务调度定时器,用于定时向第二目标代理程序模块发送定时抓取日志请求以及所述定时抓取日志请求对应的第二日志抓取策略;所述第二目标代理程序模块部署于第二目标服务器上;所述第二目标服务器为根据第二筛选条件从所述应用服务器中筛选得到的;
所述第二目标代理程序模块,用于解析所述定时抓取日志请求中的请求信息,获取所述定时抓取日志请求中的请求信息对应的第二日志标准化请求路径,并根据所述定时抓取日志请求中的请求信息以及所述第二日志抓取策略获取所述定时抓取日志请求对应的日志文件,当满足回传条件时,建立和所述服务端的文件传输链接,基于所述第二日志标准化请求路径以及所述文件传输链接,将所述定时抓取日志请求对应的日志文件回传到所述核心处理模块;
所述核心处理模块,还用于当接收到所述服务端响应模块发送的抓取日志请求时,将所述定时抓取日志请求对应的日志文件通过所述服务端响应模块返回给所述客户端。
7.根据权利要求1所述的系统,其特征在于,所述服务端还包括:配置中心;
所述配置中心,用于将所述第一日志标准化输出路径下发到所述代理程序模块中。
8.根据权利要求1所述的系统,其特征在于,所述服务端还包括:异常捕获模块;
所述异常捕获模块,用于获取日志抓取流程中的异常信息,将所述异常信息反馈给所述客户端。
9.根据权利要求1所述的系统,其特征在于,所述日志抓取策略包括关键字匹配类型以及所述应用服务器中的日志文件的关键字权重。
10.一种应用日志抓取方法,其特征在于,所述方法应用于应用日志抓取系统中,所述系统包括:客户端、服务端以及应用服务器;所述服务端包括服务端响应模块、服务调度模块、服务端数据库以及核心处理模块;所述应用服务器部署有代理程序模块;所述方法包括:
所述客户端获取日志请求中的请求信息以及请求标识,将所述请求信息以及所述请求标识发送给所述服务端响应模块;所述请求信息包括所述应用日志的关键字、日期、日志级别以及日志请求类型;
当所述日志请求类型为抓取日志请求且满足预设条件时,所述服务端响应模块将所述抓取日志请求发送给所述服务调度模块;
所述服务调度模块根据所述抓取日志请求生成爬虫抓取日志请求,并将所述爬虫抓取日志请求以及所述服务端数据库中的所述爬虫抓取日志请求对应的第一日志抓取策略发送给第一目标代理程序模块;所述第一目标代理程序模块部署于第一目标服务器上;所述第一目标服务器为根据第一筛选条件从所述应用服务器中筛选得到的;
所述第一目标代理程序模块解析所述爬虫抓取日志请求中的请求信息,获取所述请求信息对应的第一日志标准化输出路径,并根据所述请求信息以及所述第一日志抓取策略获取所述爬虫抓取日志请求对应的目标日志文件;当满足回传条件时,建立和所述服务端的文件传输链接,并基于所述第一日志标准化输出路径以及所述文件传输链接,将所述目标日志文件回传到所述核心处理模块;
所述核心处理模块将所述目标日志文件返回给所述服务端响应模块;
所述服务端响应模块将所述目标日志文件返回给所述客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211095820.4A CN115622906A (zh) | 2022-09-08 | 2022-09-08 | 一种应用日志抓取系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211095820.4A CN115622906A (zh) | 2022-09-08 | 2022-09-08 | 一种应用日志抓取系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115622906A true CN115622906A (zh) | 2023-01-17 |
Family
ID=84858289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211095820.4A Pending CN115622906A (zh) | 2022-09-08 | 2022-09-08 | 一种应用日志抓取系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115622906A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116225855A (zh) * | 2023-05-10 | 2023-06-06 | 荣耀终端有限公司 | 日志生成方法、电子设备及存储介质 |
CN117149787A (zh) * | 2023-08-31 | 2023-12-01 | 广州万融数据服务有限公司 | 基于大数据的关键信息抓取与展示方法 |
-
2022
- 2022-09-08 CN CN202211095820.4A patent/CN115622906A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116225855A (zh) * | 2023-05-10 | 2023-06-06 | 荣耀终端有限公司 | 日志生成方法、电子设备及存储介质 |
CN116225855B (zh) * | 2023-05-10 | 2023-09-12 | 荣耀终端有限公司 | 日志生成方法、电子设备及存储介质 |
CN117149787A (zh) * | 2023-08-31 | 2023-12-01 | 广州万融数据服务有限公司 | 基于大数据的关键信息抓取与展示方法 |
CN117149787B (zh) * | 2023-08-31 | 2024-03-26 | 广州万融数据服务有限公司 | 基于大数据的关键信息抓取与展示方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11106734B1 (en) | Query execution using containerized state-free search nodes in a containerized scalable environment | |
US11222066B1 (en) | Processing data using containerized state-free indexing nodes in a containerized scalable environment | |
US11269939B1 (en) | Iterative message-based data processing including streaming analytics | |
US11250056B1 (en) | Updating a location marker of an ingestion buffer based on storing buckets in a shared storage system | |
US9369521B2 (en) | Naming of distributed business transactions | |
CN115622906A (zh) | 一种应用日志抓取系统及方法 | |
US11567993B1 (en) | Copying buckets from a remote shared storage system to memory associated with a search node for query execution | |
CN101821728B (zh) | 批处理系统 | |
US7689688B2 (en) | Multiple-application transaction monitoring facility for debugging and performance tuning | |
CN111831548B (zh) | 一种依赖关系拓扑图的绘制方法和装置 | |
US11562023B1 (en) | Merging buckets in a data intake and query system | |
CN107135188B (zh) | 金融信息交换fix协议的业务实现方法、装置及系统 | |
CN103733568A (zh) | 使用客户端-服务器架构的流处理 | |
US11620336B1 (en) | Managing and storing buckets to a remote shared storage system based on a collective bucket size | |
CN108228322B (zh) | 一种分布式链路跟踪、分析方法及服务器、全局调度器 | |
US11663219B1 (en) | Determining a set of parameter values for a processing pipeline | |
US11789950B1 (en) | Dynamic storage and deferred analysis of data stream events | |
CN111221793A (zh) | 数据挖掘方法、平台、计算机设备及存储介质 | |
CN110011845A (zh) | 日志采集方法及系统 | |
CN113055493B (zh) | 数据包处理方法、装置、系统、调度设备和存储介质 | |
WO2022206054A1 (zh) | 一种物料增量处理方法、装置、电子设备和计算机存储介质 | |
US11860940B1 (en) | Identifying buckets for query execution using a catalog of buckets | |
CN112597119A (zh) | 一种处理日志的生成方法、装置及存储介质 | |
CN107330089B (zh) | 跨网络结构化数据收集系统 | |
CN116028247B (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 |