日志的处理方法及装置制造方法及图纸

技术编号:18898779 阅读:47 留言:0更新日期:2018-09-08 13:40
本发明专利技术提供了一种日志的处理方法及装置,其中,该方法包括:针对不同的系统日志设置不同的输出决策,后续依据当前输出日志对应的输出决策处理该日志,可选地,通过状态码区分不同类型的日志,采用上述技术方案,解决了相关技术存储或读取系统输出日志时浪费系统资源的问题,将重要日志和不重要日志进行不同方式的存储,读取时效率也高,节省了系统资源。

Log processing method and device

The invention provides a log processing method and device, wherein the method comprises: setting different output decisions for different system logs, processing the logs according to the output decisions corresponding to the current output logs, optionally distinguishing different types of logs by state codes, and adopting the above technical scheme, solving the problem. The problem of wasting system resources when related technology stores or reads system output logs is solved. Important logs and unimportant logs are stored in different ways. The reading efficiency is also high and the system resources are saved.

【技术实现步骤摘要】
日志的处理方法及装置
本专利技术涉及通信领域,具体而言,涉及一种日志的处理方法及装置。
技术介绍
在相关技术中,超文本传输协议HTTP和反向代理服务器Nginx是网络基础设施中非常重要的一环,其重要程度可以从其绝对优势的市场占用率看出来。Nginx的特点是高性能,并且最常见的用法是作为HTTP代理服务器proxy存在。在极高性能下,Nginx会产生大量的日志输出。现代的服务器CPU一般很强,除非是使用HTTPS,否则服务器CPU到达瓶颈之前一般输入输出IO首先到达瓶颈。而服务器的IO瓶颈一直是困扰Nginx在极高负载情况下使用者的问题,尤其是还涉及到日志收集和分析系统对日志的二遍处理带来的IO加倍的损耗。Nginx专门开发了对所有访问日志accesslog进行压缩的功能。但是这种机制显然在企业中是不能很好的适应业务需求的,企业的需求通常更加复杂,与业务相关性比较大的。目前Nginx的日志在大部分企业中的处理方式是全量输出,然后有专门的收集装置进行数据收集(全量或者满足条件的)和日志回滚,如果启用日志压缩,那么就意味着收集之前要先解压缩,也就是两倍的CPU压缩损耗,所以一般在实际应用中都不会开启压缩功能。在相关技术中,现代一线互联网企业的解决方案通常都是一个分级的日志系统,一部分收集到服务器,一部分放在本地。显然大量的普通数据放在本地,重要的放到服务器。大部分企业都应该使用这套日志模型,但是有一个问题是Nginx输出的不需要收集的日志和需要收集的日志一样,要么都是明文的要么都是压缩过的。这就导致了压缩功能的使用率较低。针对相关技术存储或读取系统输出日志时浪费系统资源的问题,目前还没有有效的解决方案。
技术实现思路
本专利技术实施例提供了一种日志的处理方法及装置,以至少解决相关技术存储或读取系统输出日志时浪费系统资源的问题。根据本专利技术的一个实施例,提供了一种日志的处理方法,该方法包括:确定不同类型的日志对应的不同输出决策;依据每种输出决策处理对应类型的日志。根据本专利技术的另一个实施例,还提供了一种日志的处理装置,包括:确定模块,用于确定不同类型的日志对应的不同输出决策;处理模块,用于依据每种输出决策处理对应类型的日志。根据本专利技术的另一个实施例,还提供了一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述实施例任一项中所述的方法。根据本专利技术的另一个实施例,还提供了一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述实施例任一项中所述的方法。通过本专利技术,针对不同的系统日志设置不同的输出决策,后续依据当前输出日志对应的输出决策处理该日志,可选地,通过状态码区分不同类型的日志,采用上述技术方案,解决了相关技术存储或读取系统输出日志时浪费系统资源的问题,将重要日志和不重要日志进行不同方式的存储,读取时效率也高,节省了系统资源。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据本专利技术实施例的日志的处理方法的流程图。具体实施方式下文中将参考附图并结合实施例来详细说明本专利技术。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。本申请文件的技术方案可以应用于超文本传输协议和反向代理服务器Nginx(需要补充的是,超文本传输协议和反向代理服务器,是一个整体的技术术语)。应用场景可以是用户终端向Nginx发送业务请求,例如登陆网页,搜索文件等操作,Nginx在响应上述业务请求时,会生成系统日志,在输出系统日志时,依据预设的不同类型日志对应的不同输出决策进行处理。实施例一在本实施例中提供了一种运行于服务器设备的日志的处理方法,图1是根据本专利技术实施例的日志的处理方法的流程图,如图1所示,该流程包括如下步骤:步骤S102,确定不同类型的日志对应的不同输出决策;步骤S104,依据每种输出决策处理对应类型的日志。通过上述步骤,针对不同的系统日志设置不同的输出决策,后续依据当前输出日志对应的输出决策处理该日志,可选地,通过状态码区分不同类型的日志,采用上述技术方案,解决了相关技术存储或读取系统输出日志时浪费系统资源的问题,将重要日志和不重要日志进行不同方式的存储,读取时效率也高,节省了系统资源。可选地,上述步骤的执行主体可以为服务器设备等,但不限于此。可选地,步骤S102和步骤S104的执行顺序是可以互换的,即可以先执行步骤S104,然后再执行S102。可选地,确定不同类型的日志对应的不同输出决策之前,确定不同类型的日志分别对应有不同的状态码,其中,该状态码用于指示日志对应的当前业务的执行状态是否异常。需要补充的是,在服务器接收到业务请求后,会输出当前业务请求的状态码,例如常见的超文本传输协议HTTP状态码404,用于指示服务器无法正常提供信息。即可以用不同的状态码来区分输出日志的类型,分别对应设置不同的输出决策。可选地,依据每种输出决策处理对应类型的日志,包括:获取当前输出日志对应的业务的状态码;依据与该状态码对应的输出决策处理当前输出的日志。可选地,依据与该状态码对应的输出决策处理当前输出的日志,包括:在该状态码指示当前业务处于正常时,以超过预设阈值的压缩率压缩当前日志;在该状态码指示当前业务处于异常时,以低于预设阈值的压缩率压缩当前日志,或者禁止压缩当前日志。需要补充的是,上述业务处于正常时,相关技术中反馈的是200类似的状态码。业务异常时,可以分为两种情况,一种类似业务可以执行,但是当前服务器网址发生了迁移,相关技术中反馈的可能是300类似的状态码;第二种情况较为严重,服务器无法提供相应服务,例如相关技术中反馈404的情形。即上述业务处于异常可以包括相关技术中的HTTP状态码为3XX,4XX,5XX或6XX等情况。可选地,依据与该状态码对应的输出决策处理当前输出的日志,包括:在该状态码指示当前业务处于正常时,将当前日志存储至磁盘;在该状态码指示当前业务处于异常时,将当前日志存储至固态磁盘。需要说明的是,上述实施例意在将重要的日志(比如状态码显示业务异常对应的日志)存储在可以快速读取的位置。将不重要的日志,较为常见的日志(例如状态码显示业务正常对应的日志)存储在一般的磁盘中,后续不太可能读取该部分日志。可选地,该方法应用于超文本传输协议和反向代理服务器Nginx。下面结合本专利技术优选实施例进行详细说明。本专利技术优选实施例立足于Nginx提供的日志功能和实际的业务需求的断裂,改动Nginx本体使得Nginx适应业务的日志系统,让Nginx本身就是企业级日志系统的一部分存在。解决的技术问题就是Nginx输出日志在压缩上同时识别业务模型,对业务关注的日志进行特殊处理。本申请文件的技术方案取代Nginx原有的HTTPaccesslog输出方式,设计并实现了根据HTTP不同状态码选择不同输出方案的系统,什么状态码对应什么样的输出决策是可以配置的,以此实现Ng本文档来自技高网
...

【技术保护点】
1.一种日志的处理方法,其特征在于,包括:确定不同类型的日志对应的不同输出决策;依据每种输出决策处理对应类型的日志。

【技术特征摘要】
1.一种日志的处理方法,其特征在于,包括:确定不同类型的日志对应的不同输出决策;依据每种输出决策处理对应类型的日志。2.根据权利要求1所述的方法,其特征在于,确定不同类型的日志对应的不同输出决策之前,所述方法包括:确定不同类型的日志分别对应有不同的状态码,其中,所述状态码用于指示日志对应的当前业务的执行状态是否异常。3.根据权利要求2所述的方法,其特征在于,依据每种输出决策处理对应类型的日志,包括:获取当前输出日志对应的业务的状态码;依据与所述状态码对应的输出决策处理当前输出的日志。4.根据权利要求3所述的方法,其特征在于,依据与所述状态码对应的输出决策处理当前输出的日志,包括:在所述状态码指示当前业务处于正常时,以超过预设阈值的压缩率压缩当前日志;在所述状态码指示当前业务处于异常时,以低于预设阈值的压缩率压缩当前日志,或者禁止压缩当前日志。5.根据权利要求3所述的方法,其特征在于,依据与所述状态码对应的输出决策处理当前输出的日志,包括:在所述状态...

【专利技术属性】
技术研发人员:刘京洋岑锐坚劳仲康周艺威
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1