日志采集分析方法及设备与流程

文档序号:17771064发布日期:2019-05-28 19:26阅读:265来源:国知局
日志采集分析方法及设备与流程

本发明涉及计算机领域,尤其涉及一种日志采集分析方法及设备。



背景技术:

随着互联网的高速发展,参与的用户设备都在逐年成比例上升。终端的大规模增长及多样化也对后台系统的要求越来越严苛。这些直接导致了后台系统越来越大,越来越复杂,更新发布频率也越来越快。为了应付这些变更,保证系统提供服务的质量,一套完善的健康监控系统必不可少,而其中针对日志的监控方式又是最为重要有效的方式。

传统的系统因规模,业务等原因,普通日志监控采集方式已无法满足现在日益变化的需要。现在很多系统还是采用着原始的采集分析方式。

传统日志采集分析方式,主要存在着以下一些问题:

1.日志随服务产生,分散在不同目录和不同的服务器上,不方便管理;

2.一般服务为了容灾或压力都会集群化部署,当出现问题无法第一时间知道问题产生的日志所在的目录或服务器;

3.开发和运维需要主动在多台服务器查找分析日志,大都依赖普通工具分析和搜索速度和效率太低;

4.因日志需要给人员查看分析,只能输出为对人友好可识别的格式,而这种格式不方便管理传输和压缩;

5.如果服务器故障,如磁盘损坏会导致一部分日志丢失。



技术实现要素:

本发明的一个目的是提供一种日志采集分析方法及设备。

根据本发明的一个方面,提供了一种日志采集分析方法,该方法包括:

边缘服务api网关从客户端获取http请求数据并转发到对应的应用服务器,同时将所述http请求数据的日志保存在边缘服务api网关本地;

所述应用服务器响应所述http请求数据,并生成对应的内部运行日志保存在所述应用服务器本地;

所述应用服务器通过部署在其上的sidecar组件,将所述保存的内部运行日志转换为预设格式后,通过缓冲分流队列管道发送到对应的日志分析处理服务器;

所述日志分析处理服务器对接收到的预设格式的内部运行日志进行存储和分析处理。

进一步的,上述方法中,将所述http请求数据的日志保存在边缘服务api网关本地之后,还包括:

所述边缘服务api网关通过部署在其上的sidecar组件将所述保存的http请求数据的日志转换为预设格式后,通过缓冲分流队列管道发送到对应的日志分析处理服务器;

所述日志分析处理服务器对接收到的预设格式的内部运行日志进行存储和分析处理的同时,还包括:

所述日志分析处理服务器对接收到的预设格式的http请求数据的日志进行存储和分析处理。

进一步的,上述方法中,所述日志分析处理服务器为服务器集群。

进一步的,上述方法中,所述日志分析处理服务器包括离线日志分析集群hadoop、实时分析集群elasticsearch和报警系统。

根据本发明的另一方面,还提供一种日志采集分析设备,该设备包括:

边缘服务api网关,用于从客户端获取http请求数据并转发到对应的应用服务器,同时将所述http请求数据的日志保存在边缘服务api网关本地;

应用服务器,用于响应所述http请求数据,并生成对应的内部运行日志保存在所述应用服务器本地;通过部署在其上的sidecar组件,将所述保存的内部运行日志转换为预设格式后,通过缓冲分流队列管道发送到对应的日志分析处理服务器;

日志分析处理服务器,用于对接收到的预设格式的内部运行日志进行存储和分析处理。

进一步的,上述设备中,所述边缘服务api网关,还用于通过部署在其上的sidecar组件将所述保存的http请求数据的日志转换为预设格式后,通过缓冲分流队列管道发送到对应的日志分析处理服务器;

所述日志分析处理服务器,还用于对接收到的预设格式的http请求数据的日志进行存储和分析处理。

进一步的,上述设备中,所述日志分析处理服务器为服务器集群。

进一步的,上述设备中,所述日志分析处理服务器包括离线日志分析集群hadoop、实时分析集群elasticsearch和报警系统。

根据本发明的另一方面,还提供一种基于计算的设备,其中,包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:

边缘服务api网关从客户端获取http请求数据并转发到对应的应用服务器,同时将所述http请求数据的日志保存在边缘服务api网关本地;

所述应用服务器响应所述http请求数据,并生成对应的内部运行日志保存在所述应用服务器本地;

所述应用服务器通过部署在其上的sidecar组件,将所述保存的内部运行日志转换为预设格式后,通过缓冲分流队列管道发送到对应的日志分析处理服务器;

所述日志分析处理服务器对接收到的预设格式的内部运行日志进行存储和分析处理。

根据本发明的另一方面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:

边缘服务api网关从客户端获取http请求数据并转发到对应的应用服务器,同时将所述http请求数据的日志保存在边缘服务api网关本地;

所述应用服务器响应所述http请求数据,并生成对应的内部运行日志保存在所述应用服务器本地;

所述应用服务器通过部署在其上的sidecar组件,将所述保存的内部运行日志转换为预设格式后,通过缓冲分流队列管道发送到对应的日志分析处理服务器;

所述日志分析处理服务器对接收到的预设格式的内部运行日志进行存储和分析处理。

与现有技术相比,本发明通日志分析处理服务器,利用大数据采集分析方式来统一处理分散的日志,集中处理分析,避免了多机器查找定位困难的问题。通过在应用服务器和边缘服务api网关部署sidecar组件,传统的应用服务器和边缘服务api网关不用或者只需要做很少的调整就可以适应新的采集分析方式。传统的应用服务器的日志输出格式,不在局限于固定格式,方便针对特殊情况做特殊优化。日志不在是简单存储在本地磁盘,而是通过日志分析处理服务器的集中处理分布式集群来分析存储,基本不存在因磁盘损坏等故障导致的数据丢失。日志分析处理服务器针对日志所做的监控报警方案实时性更高,准确性更可靠,定位更准确。当开发或运维参与问题排查日志追踪时,查询定位日志更方便。本发明的采集分析方式适用于小中大型规模服务端应用的日志采集及分析方式,适合需要对服务端一定规模分散的服务进行统一日志采集分析监控的应用场景。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1示出本发明一实施例的日志采集分析方法及设备的原理图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本发明作进一步详细描述。

在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

如图1所示,本发明提供一种日志采集分析方法,所述方法包括:

步骤s1,边缘服务api网关从客户端获取http请求数据并转发到对应的应用服务器,同时将所述http请求数据的日志保存在边缘服务api网关本地;

步骤s2,所述应用服务器响应所述http请求数据,并生成对应的内部运行日志保存在所述应用服务器本地;

步骤s3,所述应用服务器通过部署在其上的sidecar组件,将所述保存的内部运行日志转换为预设格式后,通过缓冲分流队列管道发送到对应的日志分析处理服务器。

步骤s4,所述日志分析处理服务器对接收到的预设格式的内部运行日志进行存储和分析处理。

在此,通过边缘服务api网关从客户端获取http请求数据并转发到对应的应用服务器,http请求数据的日志不在分散在多台不同的应用服务器上,客户端http请求数据全部交由边缘服务api网关处理,因api网关为统一请求入口,所以所述http请求数据的日志可以统一在api网关产生,所述http请求数据的日志可以包括请求的往返信息。

当边缘服务api网关收到http请求数据后经过分析后会分发到对应的应用服务器进行处理,这时应用服务器主要产生的其提供服务时的内部运行日志,可以不再包含http请求数据的日志,因为http请求数据的日志都统一在边缘服务api网关保存了。

sidecar组件是一种将应用功能从应用本身剥离出来作为单独进程的方式。sidecar组件允许向应用无侵入添加多种功能,避免了为满足第三方组件需求而向应用添加额外的配置代码。

每台需要采集日志的应用服务器都有一个单独的sidecar进程负责搜集转换该服务器上所有的日志。其中一步重要的操作就是可以对暂存的日志进行转换处理,这样应用输出的日志格式可以不再是固定格式或人为可识别格式,方便针对特殊情况做存储优化。

通过sidecar组件,可以保持传统应用服务器中内部运行日志的原来的记录方式存储在本地磁盘,所述应用服务器通过部署在其上的sidecar组件,将所述保存的内部运行日志转换为预设格式后,通过缓冲分流队列管道发送到对应的日志分析处理服务器,这样传统应用服务器可以不做任何变更就可以适应现在的日志采集方式。

sidecar组件将采集转换处理后的日志会发送到缓冲分流队列管道,队列管道可以将日志分流发送到处理后端,比如同组发送(同一日志消息只能被同一组中只有一个消费者收到),不同组发送(同一日志消息可以被不同组消费者都收到,适应多种后端处理方案的情况)。

因日志被专门的日志分析处理服务器存储处理,即使前面的应用服务器故障损坏,数据基本也不会丢失,这些专用的日志分析处理服务器通过sidecar组件获取的日志已经转换成专门的格式,已经不是传统的文本文件,开发或运维可以非常快速高效的对超大规模日志进行搜索查找分析。

如图1所示,本发明的日志采集分析方法一实施例中,步骤s1中,将所述http请求数据的日志保存在边缘服务api网关本地之后,还包括:

所述边缘服务api网关通过部署在其上的sidecar组件将所述保存的http请求数据的日志转换为预设格式后,通过缓冲分流队列管道发送到对应的日志分析处理服务器;

步骤s4,所述日志分析处理服务器对接收到的预设格式的内部运行日志进行存储和分析处理的同时,还包括:

所述日志分析处理服务器对接收到的预设格式的http请求数据的日志进行存储和分析处理。

在此,当边缘服务api网关收到http请求数据后经过分析后会分发到对应的应用服务器进行处理,这时应用服务器主要产生的其提供服务时的内部运行日志,可以不再包含http请求数据的日志,因为http请求数据的日志都统一在边缘服务api网关保存了。

本发明的日志采集分析方法一实施例中,所述日志分析处理服务器为服务器集群。

在此,因日志被专门的日志分析处理服务器存储处理,即使前面的应用服务器故障损坏,数据基本也不会丢失,专门的日志分析处理服务器也做了集群部署,也不会因为部分日志分析处理服务器的损坏而丢失数据。而且这些专用的日志分析处理服务器通过sidecar组件获取的日志已经转换成专门的格式,已经不是传统的文本文件,开发或运维可以非常快速高效的对超大规模日志进行搜索查找分析。

本发明的日志采集分析方法一实施例中,所述日志分析处理服务器包括离线日志分析集群hadoop、实时分析集群elasticsearch和报警系统。

在此,所述缓冲分流队列管道将日志按规则和处理需要分发到后端专门的日志分析处理服务器,如离线日志分析集群hadoop,实时分析集群elasticsearch,报警系统等。

因日志中记录了数据请求,行为,程序运行状态,且是实时产生,这时可以由日志情况主动出发报警事件,可以让问题通知的延迟降到最低,而传统的报警依托于单独的服务心跳主动去检查应用,具有一定的延迟和失败率。

只要将后端的日志分析处理服务器、缓冲分流队列管道等基础集群部署好后,后期应用集群的部署扩展非常方便。

因是由单独的sidecar进程来采集转换日志,这种方式不仅仅局限于采集应用服务器输出的日志,还可以采集各种服务器指标交由后台专门处理服务处理。

本发明一具体的实施例中,可以包括如下步骤:

第一步,部署专门的日志分析服务集群,如hadoop,elasticsearch,自己的报警服务等,可按自己需求灵活选择。

第二步,可以部署缓冲分流队列管道(消息队列集群)。如kafka,rabbitmq,rocketmq等,这一步为可选,按第一步的专门的日志分析服务处理的种类进行选择,如后端日志分析处理服务器只有一种处理方式,这一步的部署便可有或没有。如果部署了需要将第一步的中的服务的数据来源方指定为这一步的服务端口连接。

第三步,部署边缘服务api网关,如果还是想将数据请求日志单独存放,这一应用部署可选。在需要进行日志采集转换的边缘服务api网关和应用服务器上部署sidecar组件。sidecar组件可以是自己定制开发的应用,也可以是其它已有的应用如logstash等,部署好后需要配置日志的采集源,如目录文件,tcp,http地址等。配置分析转换规则。指定数据的发送目的地。如果部署了第二步应将目的地址指向第二步中的部署缓冲分流队列管道的服务地址,如果没有部署第二步,可以将目的地址指向第一步的日志分析服务集群的地址。

如图1所示,根据本发明的另一方面,还提供一种日志采集分析设备,该设备包括:

边缘服务api网关,用于从客户端获取http请求数据并转发到对应的应用服务器,同时将所述http请求数据的日志保存在边缘服务api网关本地;

应用服务器,用于响应所述http请求数据,并生成对应的内部运行日志保存在所述应用服务器本地;通过部署在其上的sidecar组件,将所述保存的内部运行日志转换为预设格式后,通过缓冲分流队列管道发送到对应的日志分析处理服务器;

日志分析处理服务器,用于对接收到的预设格式的内部运行日志进行存储和分析处理。

如图1所示,进一步的,上述设备中,所述边缘服务api网关,还用于通过部署在其上的sidecar组件将所述保存的http请求数据的日志转换为预设格式后,通过缓冲分流队列管道发送到对应的日志分析处理服务器;

所述日志分析处理服务器,还用于对接收到的预设格式的http请求数据的日志进行存储和分析处理。

进一步的,上述设备中,所述日志分析处理服务器为服务器集群。

进一步的,上述设备中,所述日志分析处理服务器包括离线日志分析集群hadoop、实时分析集群elasticsearch和报警系统。

根据本发明的另一方面,还提供一种基于计算的设备,其中,包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:

边缘服务api网关从客户端获取http请求数据并转发到对应的应用服务器,同时将所述http请求数据的日志保存在边缘服务api网关本地;

所述应用服务器响应所述http请求数据,并生成对应的内部运行日志保存在所述应用服务器本地;

所述应用服务器通过部署在其上的sidecar组件,将所述保存的内部运行日志转换为预设格式后,通过缓冲分流队列管道发送到对应的日志分析处理服务器;

所述日志分析处理服务器对接收到的预设格式的内部运行日志进行存储和分析处理。

根据本发明的另一方面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:

边缘服务api网关从客户端获取http请求数据并转发到对应的应用服务器,同时将所述http请求数据的日志保存在边缘服务api网关本地;

所述应用服务器响应所述http请求数据,并生成对应的内部运行日志保存在所述应用服务器本地;

所述应用服务器通过部署在其上的sidecar组件,将所述保存的内部运行日志转换为预设格式后,通过缓冲分流队列管道发送到对应的日志分析处理服务器;

所述日志分析处理服务器对接收到的预设格式的内部运行日志进行存储和分析处理。

综上所述,本发明通日志分析处理服务器,利用大数据采集分析方式来统一处理分散的日志,集中处理分析,避免了多机器查找定位困难的问题。通过在应用服务器和边缘服务api网关部署sidecar组件,传统的应用服务器和边缘服务api网关不用或者只需要做很少的调整就可以适应新的采集分析方式。传统的应用服务器的日志输出格式,不在局限于固定格式,方便针对特殊情况做特殊优化。日志不在是简单存储在本地磁盘,而是通过日志分析处理服务器的集中处理分布式集群来分析存储,基本不存在因磁盘损坏等故障导致的数据丢失。日志分析处理服务器针对日志所做的监控报警方案实时性更高,准确性更可靠,定位更准确。当开发或运维参与问题排查日志追踪时,查询定位日志更方便。本发明的采集分析方式适用于小中大型规模服务端应用的日志采集及分析方式,适合需要对服务端一定规模分散的服务进行统一日志采集分析监控的应用场景。

本发明的各设备和存储介质实施例的详细内容,具体可参见各方法实施例的对应部分,在此,不再赘述。

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

需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

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