拨测日志的分析方法及装置,存储介质及电子装置与流程

文档序号:24550883发布日期:2021-04-06 12:03阅读:128来源:国知局
拨测日志的分析方法及装置,存储介质及电子装置与流程

本发明涉及通信领域,具体而言,涉及一种拨测日志的分析方法及装置、存储介质及电子装置。



背景技术:

日志数据处理框架旨在对业务系统产生的日志数据进行采集、处理、分析,以辅助解决业务系统遇到的问题,对业务系统运行状态进行监控的过程中,往往会用到日志采集flume、日志流转kafka、数据存储es等中间件;但因数据处理框架流转链条长、涉及中间件多、业务日志数据来源不确定等因素,导致数据处理框架不易监控的难题。

现在,如何对数据处理框架自身进行监控,在保障其自身的可靠性、稳定性时,进而保障其分析出的数据是有效、可信的,成为大多数据日志处理框架急需解决的难点。

针对相关技术,传统的日志数据处理框架因日志来源和产生日志频率不确定等因素,难以通过日志数据处理框架对日志进行分析等问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种拨测日志的分析方法及装置、存储介质及电子装置,以至少解决传统数据处理框架因日志来源和产生日志频率不确定等因素,难以对数据处理框架的性能进行分析等问题。

根据本发明实施例的一个方面,一种拨测日志的分析方法,包括:确定不同日志类型的日志数据发送到云端服务器所采用的不同通道;对于所述不同通道中的任一通道,按照固定频率生成与所述任一通道对应的多个第一拨测日志,其中,所述多个第一拨测日志的数量大于预设阈值;将所述多个第一拨测日志均经过多个中间件进行传输,以得到与所述多个第一拨测日志对应的多个第二拨测日志,并将所述多个第二拨测日志传输至数据存储库,以使与所述数据存储库连接的目标应用对所述多个第二拨测日志进行分析。

在一个示例性实施例中,对于所述不同通道中的任一通道,按照固定频率生成与所述任一通道对应的多个第一拨测日志,包括:确定所述任一通道对应的脚本的脚本内容,其中,所述脚本内容至少用于指示以下之一:用于唯一标识第一拨测日志的标识信息,用于唯一标识所述任一通道的标识信息;第一拨测日志的产生时间;所述多个中间件中的每一个中间件接收第一拨测日志的接收时间以及发送所述第一拨测日志的发送时间;运行所述脚本,以根据所述脚本的脚本内容按照固定频率生成与所述任一通道对应的多个第一拨测日志。

在一个示例性实施例中,将所述多个第一拨测日志均经过多个中间件进行传输,以得到与所述多个第一拨测日志对应的多个第二拨测日志,包括:在所述多个第一拨测日志均经过多个中间件的情况下,对于所述多个中间件中的每一中间件,通过所述每一中间件将每一中间件接收第一拨测日志的接收时间和发送所述第一拨测日志的发送时间添加到所述第一拨测日志中,以得到所述第二拨测日志。

在一个示例性实施例中,将所述多个第二拨测日志传输至数据存储库,以使与所述数据存储库连接的目标应用对所述多个第二拨测日志进行分析,包括:将所述多个第二拨测日志传输至数据存储库,以使与所述数据存储库连接的目标应用通过以下方式对所述多个第二拨测日志进行分析:从所述多个第二拨测日志中获取所述每一中间件将每一中间件接收第一拨测日志的接收时间和发送所述第一拨测日志的发送时间;根据多个中间件中最后一个中间件发送所述第二拨测日志的发送时间以及所述第一拨测日志的产生时间确定所述第一拨测日志的耗时,其中,所述多个第一拨测日志中每一个第一拨测日志的耗时用于确定所述任一通道的以下至少之一参数:延迟最大值、延迟最小值、平均耗时、丢包率、中间件平均损耗。

在一个示例性实施例中,对于所述不同通道中的任一通道,按照固定频率生成与所述任一通道对应的多个第一拨测日志之后,所述方法还包括:将生成的所述多个第一拨测日志上传至所述任一通道的目标位置,以使所述多个第一拨测日志从所述目标位置经过多个中间件传输至数据存储库。

在一个示例性实施例中,所述多个中间件至少包括以下之一:日志采集中间件,日志流转中间件,日志存储中间件。

根据本发明实施例的另一个方面,还提供了一种拨测日志的分析装置,包括:第一确定模块,用于确定不同日志类型的日志数据发送到云端服务器所采用的不同通道;生成模块,用于对于所述不同通道中的任一通道,按照固定频率生成与所述任一通道对应的多个第一拨测日志,其中,所述多个第一拨测日志的数量大于预设阈值;第二确定模块,用于将所述多个第一拨测日志均经过多个中间件进行传输,以得到与所述多个第一拨测日志对应的多个第二拨测日志,并将所述多个第二拨测日志传输至数据存储库,以使与所述数据存储库连接的目标应用对所述多个第二拨测日志进行分析。

在一个示例性实施例中,所述生成模块,还用于确定所述任一通道对应的脚本的脚本内容,其中,所述脚本内容至少用于指示以下之一:用于唯一标识第一拨测日志的标识信息,用于唯一标识所述任一通道的标识信息;第一拨测日志的产生时间;所述多个中间件中的每一个中间件接收第一拨测日志的接收时间以及发送所述第一拨测日志的发送时间;运行所述脚本,以根据所述脚本的脚本内容按照固定频率生成与所述任一通道对应的多个第一拨测日志。

根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述拨测日志的分析方法。

根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述拨测日志的分析方法。

通过本发明,引入一种拨测日志的分析方法,先确定不同日志产生方产生的日志数据发送到云端服务器所采用的不同通道,随后对于不同通道中的任一通道,按照一种固定的频率来产生与之对应的多个第一拨测日志,产生的多个第一拨测日志会经过多个中间件进行传输,得到与所述多个第一拨测日志对应的多个第二拨测日志,将所述多个第二拨测日志传输至数据存储库,让与数据存储库相连接的目标应用对多个第二拨测日志进行分析得到最后的分析结果。采用上述技术方案,解决传统的日志数据处理框架因日志来源和产生日志频率不确定等因素,难以通过日志数据处理框架对日志进行分析等问题。进而对应不同的通道,以一种固定的频率产生对应的拨测日志,从而对日志进行分析。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示例性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的拨测日志的分析方法的计算机终端的硬件结构框图;

图2是根据本发明实施例的拨测日志的分析方法的日志数据处理框架整体框架图(一);

图3是根据本发明实施例的拨测日志的分析方法的流程图;

图4是根据本发明实施例的拨测日志的分析方法的日志数据处理框架整体框架图(二);

图5是根据本发明实施例的拨测日志的分析方法的日志数据处理框架整体框架图(三);

图6是根据本发明实施例的拨测日志的分析装置的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本申请实施例中所提供的方法实施例可以在计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的一种拨测日志的分析方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的拨测日志的分析方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。

图2是根据本发明实施例的拨测日志的分析方法的日志数据处理框架整体框架图(一);终端产生的日志数据通过调用超文本传输协议(hypertexttransferprotocol,简称为http)日志网关上传到云端,存储为本地日志文件,flume采集本地日志文件中的日志,流转到osskafka中间件,后续再由flume对osskafka中的日志数据按业务进行分流,存储于osschildkafka、hdfs、es中;云端应用产生的日志存储于本地日志文件,后由flume采集到对应的flumeagent节点,由agent节点再汇聚到gwkafka日志网关,后续流转过程同上。

相关技术中,对日志数据处理框架进行监控的难点在于:1)数据来源通道多,各通道流转过程有差异;2)数据流转过程长,涉及中间件多,无法通过中间件等监控对整体进行监控;3)流转在框架中的业务日志数据,随业务变化而变化,无法稳定产生日志输出,因此也无法使用这部分数据对框架进行监控。

为了解决上述问题,在本实施例中提供了一种拨测日志的分析方法,图3是根据本发明实施例的拨测日志的分析方法的流程图,该流程包括如下步骤:

步骤s302,确定不同日志类型的日志数据发送到云端服务器所采用的不同通道;

步骤s304,对于所述不同通道中的任一通道,按照固定频率生成与所述任一通道对应的多个第一拨测日志,其中,所述多个第一拨测日志的数量大于预设阈值;

步骤s306,将所述多个第一拨测日志均经过多个中间件进行传输,以得到与所述多个第一拨测日志对应的多个第二拨测日志,并将所述多个第二拨测日志传输至数据存储库,以使与所述数据存储库连接的目标应用对所述多个第二拨测日志进行分析。

通过上述步骤,引入一种拨测日志的分析方法,先确定不同日志产生方产生的日志数据发送到云端服务器所采用的不同通道,随后对于不同通道中的任一通道,按照一种固定的频率来产生与之对应的多个第一拨测日志,产生的多个第一拨测日志会经过多个中间件进行传输,得到与所述多个第一拨测日志对应的多个第二拨测日志,将所述多个第二拨测日志传输至数据存储库,让与数据存储库相连接的目标应用对多个第二拨测日志进行分析得到最后的分析结果。采用上述技术方案,解决传统的日志数据处理框架因日志来源和产生日志频率不确定等因素,难以通过日志数据处理框架对日志进行分析等问题。进而对应不同的通道,以一种固定的频率产生对应的拨测日志,从而对日志进行分析。

可以理解的是,由于不同的日志产生方将产生的日志传送到云端服务器的所采用的通道是不一样的,并且日志产生方(终端应用和云端应用)产生日志的频率也不是固定的,所以很难在云端服务器将接收到的日志数据进行相应的数据分析。所述拨测日志的分析的方法的目的是为了根据不同的通道,以一种固定的频率模拟生成对应固定数量的第一拨测日志,然后将产生的多个第一拨测日志通过多个中间件传输得到多个第二拨测日志,并将多个第二拨测日志传输至数据存储库,最后让与数据存储库相连接的目标应用对所述多个第二拨测日志进行分析。例如,现有的两大主流日志产生方:终端应用和云端应用,终端应用产生的日志保存在本地终端,所述终端日志需要通过通道a传输到云端服务器上,云端应用产生的日志保存在云端中,所述云端日志需要通过通道b传输至云端服务器上。所述终端应用可以是手机上的应用程序和一些智能家电,所述云端应用可以是部署在网页上的应用,所述通道可以理解成终端应用或者云端应用将产生的日志数据传输到云端服务器所采用的协议。通过不同的协议,模拟产生与协议对应的多个拨测日志,将产生的拨测日志通过所述协议经过不同的中间件传输到数据存储库,然后与数据存储器相连接的监测应用从数据存储库上获得拨测数据进行数据分析。

上述步骤s304在产生拨测日志的方式有多种,在一个可选的实施例中,对于所述不同通道中的任一通道,按照固定频率生成与所述任一通道对应的多个第一拨测日志,包括:确定所述任一通道对应的脚本的脚本内容,其中,所述脚本内容至少用于指示以下之一:用于唯一标识第一拨测日志的标识信息,用于唯一标识所述任一通道的标识信息;第一拨测日志的产生时间;所述多个中间件中的每一个中间件接收第一拨测日志的接收时间以及发送所述第一拨测日志的发送时间;运行所述脚本,以根据所述脚本的脚本内容按照固定频率生成与所述任一通道对应的多个第一拨测日志。

在本实施例中,对于任一通道产生第一拨测日志的频率是可以设置的,所述频率可以设置成一分钟产生1000条拨测日志,也可以设置成1分钟产生2000条拨测日志,具体实施过程中是通过shell脚本来产生拨测日志,然后通过azkaban调度器来运行shell脚本,所述azkaban调度器可以被设置一分钟运行一次,也可以设置成两分钟运行一次。对于所述脚本内容用于指示以下:用于唯一标识第一拨测日志的标识信息;用于唯一标识产生第一拨测日志的系统;用于唯一标识所述任一通道的标识信息;用于区分日志的业务类型;第一拨测日志的产生时间;所述多个中间件中的每一个中间件接收第一拨测日志的接收时间以及发送所述第一拨测日志的发送时间。随后通过脚本的内容运行脚本来产生与所述任一通道对应的多个第一拨测日志。

在上述步骤s306中,多个第一拨测日志通过多个中间件进行传输,得到与所述多个第一拨测日志对应的多个第二拨测日志,在一个可选的实施例中,可以通过以下方案实现:在所述多个第一拨测日志均经过多个中间件的情况下,对于所述多个中间件中的每一中间件,通过所述每一中间件将每一中间件接收第一拨测日志的接收时间和发送所述第一拨测日志的发送时间添加到所述第一拨测日志中,以得到所述第二拨测日志。在本实施例中,通过shell脚本产生的拨测日志在传输过程中会通过不同的中间件,所述不同的中间件会将接收到该日志的时间和将该日志发送给下一个中间件的时间记录到该日志信息里面。例如,有第一拨测日志a,在通过shell产生以后会依次经过flume中间件1,kafak中间件,flume中间件2,拨测日志a里面有一个字段mts用于记录拨测日志a中间流转过程每个环节的时间,所述字段mts可以理解为是记录上述实施例的脚本内容中:所述多个中间件中的每一个中间件接收第一拨测日志的接收时间以及发送所述第一拨测日志的发送时间。如flume中间件1接收到拨测日志a的时间为t1,发送出去的时间为t2,kafak中间件接收到拨测日志a的时间为t3,发送出去的时间为t4,flume中间件2中间件接收到拨测日志a的时间为t5,发送出去的时间为t6。拨测日志a经过多个中间件后,变成第二拨测日志b,第二拨测日志b里面的mts字段信息为“t1,t2,t3,t4,t5,t6”。

上述步骤s306还将多个第二拨测日志传输至数据存储库,与所述数据存储库连接的目标应用会对所述多个第二拨测日志进行分析,可选的,包括:将所述多个第二拨测日志传输至数据存储库,以使与所述数据存储库连接的目标应用通过以下方式对所述多个第二拨测日志进行分析:从所述多个第二拨测日志中获取所述每一中间件将每一中间件接收第一拨测日志的接收时间和发送所述第一拨测日志的发送时间;根据多个中间件中最后一个中间件发送所述第二拨测日志的发送时间以及所述第一拨测日志的产生时间确定所述第一拨测日志的耗时,其中,所述多个第一拨测日志中每一个第一拨测日志的耗时用于确定所述任一通道的以下至少之一参数:延迟最大值,延迟最小值,平均耗时,丢包率,中间件平均损耗。在本实施例中,与数据存储库相连接的目标应用会以固定的频率从数据存储库中获得多个第二拨测日志,如3分钟获取一次,随后从多个第二拨测日志中提取出日志产生时间和流入数据存储库的时间,并提取出第二拨测日志数据中mts字段的内容,运用以下算法对从多个第二拨测日志中获取的数据进行分析,从而得到日志数据处理框架中每条日志的耗时、延迟最大值、延迟最小值、平均耗时、丢包率、中间件平均耗时。若shell脚本一分钟产生1000条拨测日志,则3分钟产生3000拨测条日志,则每条日志的耗时、延迟最大值、延迟最小值、平均耗时、丢包率、中间件平均耗时分别通过以下算法实现:

算法(1):每条日志的耗时=mts字段中最后一个时间减去日志产生时间;

算法(2):延迟最大值=3分钟内该通道每条日志的耗时中的最大值;

算法(3):延迟最小值=3分钟内该通道每条日志的耗时中的最小值;

算法(4):平均耗时=3分钟内该通道每条日志的耗时之和的平均值;

算法(5):丢包率=3分钟内数据存储库中接收到的日志数除以3000;

算法(6):中间件平均耗时=mts中相关的时间相减,求平均值。

为了更好的理解,shell脚本通过azkaban调度器调度产生的第一拨测日志要上传至所述任一通道的目标位置,以使所述多个第一拨测日志从所述目标位置经过多个中间件传输至数据存储库。同时所述多个中间件至少包括以下之一:日志采集中间件flume,日志流转中间件kafka,日志存储中间件es。

显然,上述所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。为了更好的理解上述拨测日志的分析方法,以下结合实施例对上述过程进行说明,但不用于限定本发明实施例的技术方案,具体地:

图4是根据本发明实施例的拨测日志的分析方法的系统框图(二),如图4所示,在一个可选的实施例中,由于图2中的日志数据处理框架涉及过程环节比较多,所以为了对数据处理的延迟、丢包率进行监控,以衡量、监控处理框架的运行状态和稳定性,通过在图4中1~2位置对不同通道增加拨测日志,所述拨测日志通过azkaban调度器定时调用产生日志的shell脚本进行,日志流转到数据存储es中间件后,用es的入库时间与日志产生时间进行比对,衡量日志整体采集延迟、丢包率情况。拨测日志在流转过程中,通过在flume中间件中对日志增加消费时间和处理给下游的时间,通过各时间进行比对,以衡量各中间件处理日志的延迟情况。

具体的shell脚本逻辑如下:

通道1(图中标号为1的位置):每次运行产生一个全新的traceid,spanid从1累计到1000,使用该traceid循环生成1000条日志,这1000条日志除了日志流水号和日志产生时间外,其余内容完全相同;日志产生后,调用日志网关的http接口一次将1000条日志上传;

通道2:每次运行产生一个全新的traceid,spanid从1累计到1000,使用该traceid循环往日志文件(命名:oss-monitor-2-yyy-mm-dd.json.log)写入1000条日志,这1000条日志除了日志流水号和日志产生时间外,其余内容完全相同。最后部署flume将日志文件中的日志采集到gwkafka。在通道1和通道2中,不同的拨测日志的相关信息可以如下所示:

通道1:

{sn:traceid+spanid;

sys:'oss';

bname:'datachannel1';

bid:'monitor';

sts:'1607304597000';

mts:'1607304597000,1607304597000';

}

通道2:

{sn:traceid+spanid;

sys:'oss';

bname:'datachannel2';

bid:'monitor';

sts:'2020-08-2112:00:00';

mts:'1607304597000,1607304597000';

}

相关的schema字段说明如下表所示:

与数据存储中间件es相连接的utracemonitor应用的具体操作如下所示:以3分钟为频率从es获取所有bid=monitor的数据,然后按通道统计如下信息:延迟最大值、延迟最小值、平均耗时,丢包率,各中间件平均耗时。其统计方法如下所示:每条日志的耗时=mts中最后一个时间减去sts;延迟最大值=先计算3分钟内该通道每条日志的耗时,然后取耗时最大值;延迟最小值=先计算3分钟内该通道每条日志的耗时,然后取耗时最小值;平均耗时=计算3分钟内该通道每条日志的耗时之和,然后取平均值;丢包率=3分钟内es中接收到的日志数除以3000;中间件平均耗时=取mts中相关的时间相减,然后求平均值。

此外,本发明实施例的上述技术方案,使用固定频率产生拨测日志,基于稳定的数据来源对数据处理框架进行监控,在流程中增加中间数据,对各中间件进行监控,同时在不调整原有数据处理框架的基础上,通过在源头模拟日志数据产生,从而对处理框架进行监控,效率高、成本低。

图5是根据本发明实施例的拨测日志的分析方法的日志数据处理框架整体框架图(三),通过在图5中1~4位置对不同通道增加拨测日志,所述拨测日志通过azkaban调度器定时调用产生日志的shell脚本进行,日志流转到数据存储es中间件后,用es的入库时间与日志产生时间进行比对,衡量日志整体采集延迟、丢包率情况。拨测日志在流转过程中,通过在flume中间件中对日志增加消费时间和处理给下游的时间,通过各时间进行比对,以衡量各中间件处理日志的延迟情况。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。

在本实施例中还提供了一种拨测日志的分析装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的设备较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图6是根据本发明实施例的一种拨测日志的分析装置的结构框图,该装置包括:

第一确定模块62,用于确定不同日志类型的日志数据发送到云端服务器所采用的不同通道;

生成模块64,用于对于所述不同通道中的任一通道,按照固定频率生成与所述任一通道对应的多个第一拨测日志,其中,所述多个第一拨测日志的数量大于预设阈值;

第二确定模块66,用于将所述多个第一拨测日志均经过多个中间件进行传输,以得到与所述多个第一拨测日志对应的多个第二拨测日志,并将所述多个第二拨测日志传输至数据存储库,以使与所述数据存储库连接的目标应用对所述多个第二拨测日志进行分析。

通过本发明,引入一种拨测日志的分析装置,先确定不同日志产生方产生的日志数据发送到云端服务器所采用的不同通道,随后对于不同通道中的任一通道,按照一种固定的频率来产生与之对应的多个第一拨测日志,产生的多个第一拨测日志会经过多个中间件进行传输,得到与所述多个第一拨测日志对应的多个第二拨测日志,将所述多个第二拨测日志传输至数据存储库,让与数据存储库相连接的目标应用对多个第二拨测日志进行分析得到最后的分析结果。采用上述技术方案,解决传统的日志数据处理框架因日志来源和产生日志频率不确定等因素,难以通过日志数据处理框架对日志进行分析等问题。进而对应不同的通道,以一种固定的频率产生对应的拨测日志,从而对日志进行分析。

可以理解的是,由于不同的日志产生方将产生的日志传送到云端服务器的所采用的通道是不一样的,并且日志产生方(终端应用和云端应用)产生日志的频率也不是固定的,所以很难在云端服务器将接收到的日志数据进行相应的数据分析。所述拨测日志的分析的方法的目的是为了根据不同的通道,以一种固定的频率模拟生成对应固定数量的第一拨测日志,然后将产生的多个第一拨测日志通过多个中间件传输得到多个第二拨测日志,并将多个第二拨测日志传输至数据存储库,最后让与数据存储库相连接的目标应用对所述多个第二拨测日志进行分析。例如,现有的两大主流日志产生方:终端应用和云端应用,终端应用产生的日志保存在本地终端,所述终端日志需要通过通道a传输到云端服务器上,云端应用产生的日志保存在云端中,所述云端日志需要通过通道b传输至云端服务器上。所述终端应用可以是手机上的应用程序和一些智能家电,所述云端应用可以是部署在网页上的应用,所述通道可以理解成终端应用或者云端应用将产生的日志数据传输到云端服务器所采用的协议。通过不同的协议,模拟产生与协议对应的多个拨测日志,将产生的拨测日志通过所述协议经过不同的中间件传输到数据存储库,然后与数据存储器相连接的监测应用从数据存储库上获得拨测数据进行数据分析。

对于所述不同通道中的任一通道,按照固定频率生成与所述任一通道对应的多个第一拨测日志,可选的,所述生成模块64用于:确定所述任一通道对应的脚本的脚本内容,其中,所述脚本内容至少用于指示以下之一:用于唯一标识第一拨测日志的标识信息,用于唯一标识所述任一通道的标识信息;第一拨测日志的产生时间;所述多个中间件中的每一个中间件接收第一拨测日志的接收时间以及发送所述第一拨测日志的发送时间;运行所述脚本,以根据所述脚本的脚本内容按照固定频率生成与所述任一通道对应的多个第一拨测日志。

在本实施例中,对于任一通道产生第一拨测日志的频率是可以设置的,所述频率可以设置成一分钟产生1000条拨测日志,也可以设置成1分钟产生2000条拨测日志,具体实施过程中是通过shell脚本来产生拨测日志,然后通过azkaban调度器来运行shell脚本,所述azkaban调度器可以被设置一分钟运行一次,也可以设置成两分钟运行一次。对于所述脚本内容用于指示以下:用于唯一标识第一拨测日志的标识信息;用于唯一标识产生第一拨测日志的系统;用于唯一标识所述任一通道的标识信息;用于区分日志的业务类型;第一拨测日志的产生时间;所述多个中间件中的每一个中间件接收第一拨测日志的接收时间以及发送所述第一拨测日志的发送时间。随后通过脚本的内容运行脚本来产生与所述任一通道对应的多个第一拨测日志。

在一个可选的实施例中,第二确认模块66,用于:在所述多个第一拨测日志均经过多个中间件的情况下,对于所述多个中间件中的每一中间件,通过所述每一中间件将每一中间件接收第一拨测日志的接收时间和发送所述第一拨测日志的发送时间添加到所述第一拨测日志中,以得到所述第二拨测日志。在本实施例中,通过shell脚本产生的拨测日志在传输过程中会通过不同的中间件,所述不同的中间件会将接收到该日志的时间和将该日志发送给下一个中间件的时间记录到该日志信息里面。例如,有第一拨测日志a,在通过shell产生以后会依次经过flume中间件1,kafak中间件,flume中间件2,拨测日志a里面有一个字段mts用于记录拨测日志a中间流转过程每个环节的时间,所述字段mts可以理解为是记录上述实施例的脚本内容中:所述多个中间件中的每一个中间件接收第一拨测日志的接收时间以及发送所述第一拨测日志的发送时间。如flume中间件1接收到拨测日志a的时间为t1,发送出去的时间为t2,kafak中间件接收到拨测日志a的时间为t3,发送出去的时间为t4,flume中间件2中间件接收到拨测日志a的时间为t5,发送出去的时间为t6。拨测日志a经过多个中间件后,变成第二拨测日志b,第二拨测日志b里面的mts字段信息为“t1,t2,t3,t4,t5,t6”。

将多个第二拨测日志传输至数据存储库后,与所述数据存储库连接的目标应用会对所述多个第二拨测日志进行分析,可选的:所述第二确定模块66,还用于:将所述多个第二拨测日志传输至数据存储库,以使与所述数据存储库连接的目标应用通过以下方式对所述多个第二拨测日志进行分析:从所述多个第二拨测日志中获取所述每一中间件将每一中间件接收第一拨测日志的接收时间和发送所述第一拨测日志的发送时间;根据多个中间件中最后一个中间件发送所述第二拨测日志的发送时间以及所述第一拨测日志的产生时间确定所述第一拨测日志的耗时,其中,所述多个第一拨测日志中每一个第一拨测日志的耗时用于确定所述任一通道的以下至少之一参数:延迟最大值,延迟最小值,平均耗时,丢包率,中间件平均损耗。在本实施例中,与数据存储库相连接的目标应用会以固定的频率从数据存储库中获得多个第二拨测日志,如3分钟获取一次,随后从多个第二拨测日志中提取出日志产生时间和流入数据存储库的时间,并提取出第二拨测日志数据中mts字段的内容,运用以下算法对从多个第二拨测日志中获取的数据进行分析,从而得到日志数据处理框架中每条日志的耗时、延迟最大值、延迟最小值、平均耗时、丢包率、中间件平均耗时。若shell脚本一分钟产生1000条拨测日志,则3分钟产生3000拨测条日志,则每条日志的耗时、延迟最大值、延迟最小值、平均耗时、丢包率、中间件平均耗时分别通过以下算法实现:

算法(1):每条日志的耗时=mts字段中最后一个时间减去日志产生时间;

算法(2):延迟最大值=3分钟内该通道每条日志的耗时中的最大值;

算法(3):延迟最小值=3分钟内该通道每条日志的耗时中的最小值;

算法(4):平均耗时=3分钟内该通道每条日志的耗时之和的平均值;

算法(5):丢包率=3分钟内数据存储库中接收到的日志数除以3000;

算法(6):中间件平均耗时=mts中相关的时间相减,求平均值。

为了更好的理解,shell脚本通过azkaban调度器调度产生的第一拨测日志要上传至所述任一通道的目标位置,以使所述多个第一拨测日志从所述目标位置经过多个中间件传输至数据存储库。同时所述多个中间件至少包括以下之一:日志采集中间件flume,日志流转中间件kafka,日志存储中间件es。

本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,确定不同日志类型的日志数据发送到云端服务器所采用的不同通道;

s2,对于所述不同通道中的任一通道,按照固定频率生成与所述任一通道对应的多个第一拨测日志,其中,所述多个第一拨测日志的数量大于预设阈值;

s3,用于将所述多个第一拨测日志均经过多个中间件进行传输,以得到与所述多个第一拨测日志对应的多个第二拨测日志,并将所述多个第二拨测日志传输至数据存储库,以使与所述数据存储库连接的目标应用对所述多个第二拨测日志进行分析。

在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,确定不同日志类型的日志数据发送到云端服务器所采用的不同通道;

s2,对于所述不同通道中的任一通道,按照固定频率生成与所述任一通道对应的多个第一拨测日志,其中,所述多个第一拨测日志的数量大于预设阈值;

s3,用于将所述多个第一拨测日志均经过多个中间件进行传输,以得到与所述多个第一拨测日志对应的多个第二拨测日志,并将所述多个第二拨测日志传输至数据存储库,以使与所述数据存储库连接的目标应用对所述多个第二拨测日志进行分析。

在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1