一种服务器日志分析的方法及装置与流程

文档序号:15394532发布日期:2018-09-08 01:52阅读:123来源:国知局

本申请涉及通信技术领域,尤其涉及一种服务器日志分析的方法及装置。



背景技术:

随着互联网技术的发展,服务器与终端之间的信息交互也不断增多,参阅图1a所示,为信息交互的示意图,代理服务器接收终端发送的请求消息,并基于后台服务器的互联网协议(internetprotocol,ip)地址和请求消息,获得转发消息,并将转发消息转发至后台服务器,以及获得后台服务器基于上述转发消息返回的响应消息。显然,在这个信息交互的过程中,会产生大量的服务器日志,通过对服务器日志进行分析,可以确定后台服务器的运行状况,从而可以根据日志分析结果对后台服务器进行调度和管理。

现有技术下,服务器通常针对每一个交互的消息(如,请求消息、连接消息以及响应消息)进行特征参数提取,获得服务器日志,进而通过服务器日志,进行服务器调度等操作。

然而,采用这种方式,由于服务器日志的数量较多,消息类型繁杂,因此,对服务器日志进行分析时,分析难度较高,操作步骤较为繁琐,效率较低。



技术实现要素:

本申请实施例提供一种服务器日志分析的方法及装置,用于获取服务器日志并对服务器日志进行分析时,简化日志分析步骤,提高日志分析的效率。

本申请实施例提供的具体技术方案如下:

第一方面,一种服务器日志分析的方法,包括:

确定接收到请求消息,获取请求消息的关联消息集合,其中,关联消息集合中至少包括请求消息对应的响应消息;

对请求消息以及关联消息集合中包含的每一个消息进行特征参数提取,获得特征参数集合;

对特征参数集合进行封装,获得请求消息的封装日志;

对封装日志进行日志分析,获得分析结果。

较佳的,确定接收到请求消息,获取请求消息的关联消息集合,具体包括:

基于请求消息中包含的表征协议类型的字段,确定请求消息的协议类型为指定协议时,获取基于请求消息进行转发的转发消息以及请求消息的响应消息;

基于转发消息和响应消息的集合,获得请求消息的关联消息集合。

较佳的,特征参数集合包括以下特征参数中的任意一种或任意组合:

请求方法、请求时间、源ip,目的ip,请求头内容,转发时间,返回时间,返回头内容,内容长度,内容类型,编码方式,错误标识,请求者证书的dn项和序列号。

较佳的,对请求消息以及关联消息集合中包含的每一个消息进行特征参数提取,获得特征参数集合,具体包括:

对请求消息,以及关联消息集合中包含的转发消息和响应消息进行特征参数提取;

基于提取的特征参数,获得请求消息的特征参数集合;

其中,关联消息中未包含转发消息时,获取的特征参数为表征转发失败的错误标识;关联消息中未包含响应消息时,获取的特征参数为表征响应失败的错误标识。

较佳的,对封装日志进行日志分析,获得分析结果,具体包括:

基于请求消息的封装日志以及存储的各个历史请求消息的封装日志,分别计算每一个封装日志中包含的请求时间和响应时间之间的差值作为处理时间,并基于获取的各个处理时间,建立报表;

基于各个封装日志中包含的表征转发失败的错误标识,统计转发失败次数,并基于转发失败次数以及各个封装日志的总数目,计算转发失败率。

基于各个封装日志中包含的表征响应失败的错误标识,统计响应失败次数,并基于响应失败次数以及总数目,计算响应失败率;

分别计算每两个相邻的封装日志中包含的请求时间的时间间隔;

基于报表,转发失败率,响应失败率以及各个时间间隔,获得分析结果。

较佳的,在对封装日志进行日志分析,获得分析结果之后,进一步包括:

基于分析结果,对系统资源进行优化配置;

确定获取的封装日志的总数目不低于预设推送门限值时,将包含各个封装日志的日志集合和分析结果,推送至指定终端。

第二方面,一种服务器日志分析的装置,包括:

获取单元,用于确定接收到请求消息,获取请求消息的关联消息集合,其中,关联消息集合中至少包括请求消息对应的响应消息;

提取单元,用于对请求消息以及关联消息集合中包含的每一个消息进行特征参数提取,获得特征参数集合;

封装单元,用于对特征参数集合进行封装,获得请求消息的封装日志;

分析单元,用于对封装日志进行日志分析,获得分析结果。

较佳的,在确定接收到请求消息,获取请求消息的关联消息集合时,获取单元具体用于:

基于请求消息中包含的表征协议类型的字段,确定请求消息的协议类型为指定协议时,获取基于请求消息进行转发的转发消息以及请求消息的响应消息;

基于转发消息和响应消息的集合,获得请求消息的关联消息集合。

较佳的,特征参数集合包括以下特征参数中的任意一种或任意组合:

请求方法、请求时间、源ip,目的ip,请求头内容,转发时间,返回时间,返回头内容,内容长度,内容类型,编码方式,错误标识,请求者证书的dn项和序列号。

较佳的,在对请求消息以及关联消息集合中包含的每一个消息进行特征参数提取,获得特征参数集合时,提取单元,用于:

对请求消息,以及关联消息集合中包含的转发消息和响应消息进行特征参数提取;

基于提取的特征参数,获得请求消息的特征参数集合;

其中,关联消息中未包含转发消息时,获取的特征参数为表征转发失败的错误标识;关联消息中未包含响应消息时,获取的特征参数为表征响应失败的错误标识。

较佳的,在对封装日志进行日志分析,获得分析结果时,分析单元具体用于:

基于请求消息的封装日志以及存储的各个历史请求消息的封装日志,分别计算每一个封装日志中包含的请求时间和响应时间之间的差值作为处理时间,并基于获取的各个处理时间,建立报表;

基于各个封装日志中包含的表征转发失败的错误标识,统计转发失败次数,并基于转发失败次数以及各个封装日志的总数目,计算转发失败率。

基于各个封装日志中包含的表征响应失败的错误标识,统计响应失败次数,并基于响应失败次数以及总数目,计算响应失败率;

分别计算每两个相邻的封装日志中包含的请求时间的时间间隔;

基于报表,转发失败率,响应失败率以及各个时间间隔,获得分析结果。

较佳的,在对封装日志进行日志分析,获得分析结果之后,分析单元还用于:

基于分析结果,对系统资源进行优化配置;

确定获取的封装日志的总数目不低于预设推送门限值时,将包含各个封装日志的日志集合和分析结果,推送至指定终端。

第三方面,一种电子设备,包括:一个或多个处理器;以及

一个或多个计算机可读介质,可读介质上存储有用于服务器日志分析的程序,其中,程序被一个或多个处理器执行时,实现上述第一方面中任一项的方法的步骤。

第四方面,一个或多个计算机可读介质,可读介质上存储有用于服务器日志分析的程序,其中,程序被一个或多个处理器执行时,使得通信设备执行上述第一方面中任一项的方法。

本申请实施例中,针对请求消息和相应的关联消息进行特征参数提取以及封装,获得请求消息对应的封装日志,并基于获取的封装日志进行日志分析,获得分析结果。这样,就可以在封装日志中,直接将请求消息以及相关联的消息的特征参数进行关联,在通过封装日志进行分析时,简化了日志分析的繁琐步骤,提高了日志分析的效率。

附图说明

图1a为本申请实施例中信息交互的示意图;

图1b为本申请实施例中服务器日志分析的方法的流程图;

图2为本申请实施例中服务器日志分析的装置的结构示意图。

具体实施方式

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

为了对服务器日志进行分析时,简化日志分析步骤,提高日志分析的效率,本申请实施例中,设计了一种服务器日志分析的方法,该方法为针对请求消息和相应的关联消息进行特征参数提取以及封装,获得请求消息对应的封装日志,并基于获取的封装日志进行日志分析,获得分析结果。

以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

参阅图1b所示,为服务器日志分析的流程图,本申请实施例中,对服务器日志分析的具体流程如下:

步骤100:服务器确定接收到终端发送的请求消息并且请求消息中包含指定协议字段时,对请求消息进行特征参数提取。

具体的,执行步骤100时,可选的,指定协议字段为超文本传输协议(hypertexttransferprotocol,http)或以安全为目标的http(hypertexttransferprotocoloversecuresocketlayer,https)。

其中,特征参数包括以下特征参数中的任意一种或任意组合:

请求方法、请求时间、源ip,目的ip,请求头内容,转发时间,返回时间,返回头内容,内容长度,内容类型,编码方式,错误标识,请求者证书的dn项和序列号。

例如,服务器对请求消息进行特征参数提取,获取的特征参数包括:请求方法、请求时间、源ip,目的ip,请求头内容,请求者证书的dn项和序列号。其中,请求头内容包括:host,connection,if-modified-since,if-unmodified-since,if-match,if-none-match,user-agent,referer,content-length,content-range,content-type,range,if-range,transfer-encoding,expect,upgrade,accept-encoding,via,authorization,keep-alive,x-forwarded-for,x-real-ip,accept,accept-language,depth,destination,overwrite,date,cookie。

这样,就可以对通过指定协议进行传输的请求消息,基于指定协议的参数配置方式,对请求消息进行特征参数提取。之所以对采用的协议类型进行判断,是由于采用不同的协议进行传输时,需要提取的特征参数不同。

步骤101:服务器获取请求消息的关联消息集合。

具体的,首先,服务器基于分配的后台服务器的ip以及请求消息,获得转发消息,并将转发消息发送至后台服务器。

然后,服务器接收后台服务器基于转发消息返回的响应消息。

最后,服务器获取包含转发消息和响应消息的关联消息集合。

其中,若转发消息发送失败,则关联消息集合为空;若响应消息发送失败,则关联消息集合中仅包括转发消息。

这样,就可以获取与请求消息相关联的各个消息。

步骤102:服务器对关联消息集合中包含的每一个消息进行特征参数提取,并基于提取的所有特征参数,获得特征参数集合。

具体的,首先,服务器判断关联消息集合中是否包含转发消息,若是,则确定转发消息转发成功,并对转发消息进行特征参数提取,否则,获得表征转发失败的错误标识。

例如,服务器对转发消息进行特征参数提取时,获得的特征参数包括:请求方法、请求时间、源ip,目的ip,请求头内容,请求者证书的dn项和序列号。其中,请求头内容包括:host,connection,if-modified-since,if-unmodified-since,if-match,if-none-match,user-agent,referer,content-length,content-range,content-type,range,if-range,transfer-encoding,expect,upgrade,accept-encoding,via,authorization,keep-alive,x-forwarded-for,x-real-ip,accept,accept-language,depth,destination,overwrite,date,cookie。

然后,服务器判断关联消息集合是否包含响应消息,若是,则确定响应消息成功接收,并对响应消息进行特征参数提取,否则,获得表征响应失败的错误标识。

例如:服务器对响应消息进行特征参数提取,获得的特征参数包括:返回时间,返回头内容,内容长度,内容类型,编码方式。其中,返回头内容包括:status,content-type,content-length,date,last-modified,etag,server,www-authenticate,location,refresh,set-cookie,content-disposition,cache-control,expires,accept-ranges,content-range,connection,keep-alive,vary,x-powered-by,x-accel-expires,x-accel-redirect,x-accel-limit-rate,x-accel-buffering,x-accel-charset,transfer-encoding,content-encoding。

最后,服务器基于提取的特征参数以及错误标识,获得特征参数集合。

这样,就可以将请求消息以及与请求消息相关联的关联消息均进行特征参数提取。

步骤103:服务器对特征参数集合进行封装,获得请求消息对应的封装日志。

具体的,执行步骤103时,封装日志可以采用以下格式:{time:[bbtt],cli-ai:[cctt];poxi-ai:[pptt],ser-ai:[sstt]}。

其中,time,cli-ai,poxi-ai,ser-ai为固定内容,[]中的内容可变,为提取的特征参数。

其中,bbtt:为请求消息的请求时间。

例如,bbtt为:112270761907,表示从1970-01-0108:00:00:00接收请求消息的时间点之间的毫秒数。

其中,cctt:为请求消息的特征参数。例如,cctt为:[{meth:“get”},{client-ip:“12.168.117.14”},{host:“12.198.17.15”},……,{cert-dn:“ou=beijin,ou=rd”},{cert-numder“ec32dx42”}]。

其中,pptt:为转发消息的特征参数。例如,pptt为:[{time_t:112270762105},{meth:“get”},{client-ip:“12.168.117.14”},{host:“12.198.17.15”},……,{cert-dn:“ou=beijin,ou=rd”},{cert-numder“ec32dx42”}]。

其中,sstt为响应消息的特征参数。例如:sstt为:[{time_t:112270762309},{status:200},{content-type:“***”},{content-length:56},……{content-encoding:“gzip”}]。

其中,meth表示请求方法,time_t表示时间,client-ip表示源ip,host表示目的ip,cert-dn表示请求者证书的dn项,cert-numder表示序列号,content-typ表示内容类型,content-length表示内容长度,content-encoding表示编码方式。

这样,就可以将请求消息以及相关联的转发消息和响应消息的特征参数封装到同一个封装日志中,从而可以在后续的日志分析时,简化日志分析的繁琐步骤,提高日志分析的效率。

步骤104:服务器基于获取的封装日志,进行日志分析,获得分析结果。

具体的,服务器对获取的封装日志进行日志分析时,可以采用以下方式中的任意一种或任意组合:

第一种方式为:获取请求消息的封装日志以及存储的各个历史请求消息的封装日志,并分别计算每一个封装日志中的响应时间与请求时间的差值,作为处理时间,并基于获取的各个处理时间,建立包含各个处理时间的报表。

这样,通过报表就可以确定后台服务器的处理效率。

第二种方式为:基于各个封装日志中包含的表征转发失败的错误标识,统计转发失败次数,并基于转发失败次数以及各个封装日志的总数目,计算转发失败率。

这样,就可以通过转发失败率,确定服务器与后台服务器之间连接失败的程度。

第三种方式为:基于各个封装日志中包含的表征响应失败的错误标识,统计响应失败次数,并基于响应失败次数以及总数目,计算响应失败率。

这样,就可以通过响应失败率,确定后台服务器进行响应时,响应失败的程度。

第四种方式为:分别计算每两个相邻的封装日志中包含的请求时间的时间间隔。

这样,就可以通过服务器处理两个请求消息的时间间隔,确定服务器以及后台服务器的处理效率。

最后,服务器基于获取的报表,转发失败率,响应失败率,各个时间间隔,获得分析结果。

步骤105:服务器基于分析结果,进行日志推送以及资源调度。

具体的,首先,服务器基于获取的分析结果,确定最优的资源配置方案,对系统资源进行优化配置,如,增加后台服务器的数量。

然后,服务器确定获取的封装日志的总数目不低于预设推送门限值时,将包含各个封装日志的日志集合和分析结果,推送至指定终端。

其中,日志集合中的封装日志可以按照时间或者日志类型等方式进行排序。报表可以按照时间或者自定义的方式进行排序。

本申请实施例中,一种电子设备,包括:一个或多个处理器;以及

一个或多个计算机可读介质,可读介质上存储有用于服务器日志分析的的程序,其中,程序被一个或多个处理器执行时,实现上述实施例中的各个步骤。

本申请实施例中,一个或多个计算机可读介质,可读介质上存储有用于服务器日志分析的的程序,其中,程序被一个或多个处理器执行时,使得通信设备可以执行上述实施例中的各个步骤。

基于上述实施例,参阅图2所示,服务器日志分析的装置的结构示意图,本申请实施例中,服务器日志分析的装置具体包括:

获取单元20,用于确定接收到请求消息,获取请求消息的关联消息集合,其中,关联消息集合中至少包括请求消息对应的响应消息;

提取单元21,用于对请求消息以及关联消息集合中包含的每一个消息进行特征参数提取,获得特征参数集合;

封装单元22,用于对特征参数集合进行封装,获得请求消息的封装日志;

分析单元23,用于对封装日志进行日志分析,获得分析结果。

较佳的,在确定接收到请求消息,获取请求消息的关联消息集合时,获取单元20具体用于:

基于请求消息中包含的表征协议类型的字段,确定请求消息的协议类型为指定协议时,获取基于请求消息进行转发的转发消息以及请求消息的响应消息;

基于转发消息和响应消息的集合,获得请求消息的关联消息集合。

较佳的,特征参数集合包括以下特征参数中的任意一种或任意组合:

请求方法、请求时间、源ip,目的ip,请求头内容,转发时间,返回时间,返回头内容,内容长度,内容类型,编码方式,错误标识,请求者证书的dn项和序列号。

较佳的,在对请求消息以及关联消息集合中包含的每一个消息进行特征参数提取,获得特征参数集合时,提取单元21具体用于:

对请求消息,以及关联消息集合中包含的转发消息和响应消息进行特征参数提取;

基于提取的特征参数,获得请求消息的特征参数集合;

其中,关联消息中未包含转发消息时,获取的特征参数为表征转发失败的错误标识;关联消息中未包含响应消息时,获取的特征参数为表征响应失败的错误标识。

较佳的,在对封装日志进行日志分析,获得分析结果时,分析单元23具体用于:

基于请求消息的封装日志以及存储的各个历史请求消息的封装日志,分别计算每一个封装日志中包含的请求时间和响应时间之间的差值作为处理时间,并基于获取的各个处理时间,建立报表;

基于各个封装日志中包含的表征转发失败的错误标识,统计转发失败次数,并基于转发失败次数以及各个封装日志的总数目,计算转发失败率。

基于各个封装日志中包含的表征响应失败的错误标识,统计响应失败次数,并基于响应失败次数以及总数目,计算响应失败率;

分别计算每两个相邻的封装日志中包含的请求时间的时间间隔;

基于报表,转发失败率,响应失败率以及各个时间间隔,获得分析结果。

较佳的,在对封装日志进行日志分析,获得分析结果之后,分析单元23还用于:

基于分析结果,对系统资源进行优化配置;

确定获取的封装日志的总数目不低于预设推送门限值时,将包含各个封装日志的日志集合和分析结果,推送至指定终端。

本申请实施例中,针对请求消息和相应的关联消息进行特征参数提取以及封装,获得请求消息对应的封装日志,并基于获取的封装日志进行日志分析,获得分析结果。这样,就可以在封装日志中,直接将请求消息以及相关联的消息的特征参数进行关联,在通过封装日志进行分析时,简化了日志分析的繁琐步骤,提高了日志分析的效率。

本领域内的技术人员应明白,本申请实施例中的实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例中是参照根据本申请实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。

显然,本领域的技术人员可以对本申请实施例中实施例进行各种改动和变型而不脱离本申请实施例中实施例的精神和范围。这样,倘若本申请实施例中实施例的这些修改和变型属于本申请实施例中权利要求及其等同技术的范围之内,则本申请实施例中也意图包含这些改动和变型在内。

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