CN113535668A - 日志数据处理方法及装置 - Google Patents
日志数据处理方法及装置 Download PDFInfo
- Publication number
- CN113535668A CN113535668A CN202110439907.8A CN202110439907A CN113535668A CN 113535668 A CN113535668 A CN 113535668A CN 202110439907 A CN202110439907 A CN 202110439907A CN 113535668 A CN113535668 A CN 113535668A
- Authority
- CN
- China
- Prior art keywords
- log
- data
- module
- data processing
- message
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种日志数据处理方法及装置,涉及数据处理技术领域,其中,该方法包括:获得分布式集群服务器的操作日志和业务处理数据;根据所述业务处理数据,生成数据变动日志;将所述操作日志和数据变动日志传输至kafka集群消息中间件,生成日志消息;利用storm计算框架,对所述日志消息进行处理。本发明能够解决现有日志处理效率低且准确率不高的问题,该方法应用于分布式集群服务器。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种日志数据处理方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
在高复杂度的系统中,对于定位线上问题,日志非常重要。单机环境模式下应用服务所生成的日志路径都在本地服务器上,查看日志也会相对比较方便。集群环境模式下就不同了,每台应用服务器都会生成同样的应用服务访问日志和错误日志,当客户端访问平台地址的时候,是采用轮询的方式随机访问集群中的其中一台应用服务器,并产生相对的访问日志和错误日志。为了实时查看客户端访问的日志信息,需要实时同步集群中每一台服务器上的日志并归集到主服务器上。实现分布式日志系统归集方案解决日志归集技术问题。
现有技术中对于日志采用的是logback的配置,每个微服务的日志,都是通过File的方式存储在部署的机器上,但是由于日志比较分散,想要检查各个微服务是否有报错信息,需要挨个服务去排查,日志处理效率低且准确率不高。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例中提供了一种日志数据处理方法,用以解决现有日志处理效率低且准确率不高的问题,该方法应用于分布式集群服务器,包括:
获得分布式集群服务器的操作日志和业务处理数据;
根据所述业务处理数据,生成数据变动日志;
将所述操作日志和数据变动日志传输至kafka集群消息中间件,生成日志消息;
利用storm计算框架,对所述日志消息进行处理。
进一步地,所述操作日志包括:前置操作日志和后置操作日志,其中,所述前置操作日志用于记录访问地址,http访问方式,调用类,调用方法信息,请求参数,用户ip地址,用户id,用户登录名,应用标识,模块名称,操作名称,操作时间其中之一或任意组合,后置操作日志用于记录标识信息,返回消息,返回结果编码,操作完成时间其中之一或任意组合。
进一步地,所述的日志数据处理方法还包括:
对日志消息进行处理之后,将处理的结果存储至mongodb日志数据库中。
进一步地,所述的日志数据处理方法还包括:
获得分布式集群服务器的访问日志;
根据所述访问日志,利用logstash日志处理组件读取微服务模块日志;
根据所述微服务模块日志,生成对应的JSON文件;
将所述JSON文件存储至ES集群。
进一步地,所述的日志数据处理方法还包括:
在将JSON文件存储至ES集群之后,通过kinbana读取ES集群中的数据;
对读取的数据进行报表分析。
进一步地,按如下方式获得分布式集群服务器的访问日志:
轮询请求分布式集群中的服务器;
根据轮训请求的结果,生成服务器对应的访问日志。
进一步地,所述的日志数据处理方法还包括:
生成服务器对应的访问日志之后,将所述访问日志存储至对应的服务器中。
本发明实施例中提供了一种日志数据处理装置,用以解决现有日志处理效率低且准确率不高的问题,该装置应用于分布式集群服务器,包括:
数据获得模块,用于获得分布式集群服务器的操作日志和业务处理数据;
日志生成模块,用于根据所述业务处理数据,生成数据变动日志;
消息生成模块,用于将所述操作日志和数据变动日志传输至kafka集群消息中间件,生成日志消息;
日志处理模块,用于利用storm计算框架,对所述日志消息进行处理。
进一步地,所述操作日志包括:前置操作日志和后置操作日志,其中,所述前置操作日志用于记录访问地址,http访问方式,调用类,调用方法信息,请求参数,用户ip地址,用户id,用户登录名,应用标识,模块名称,操作名称,操作时间其中之一或任意组合,后置操作日志用于记录标识信息,返回消息,返回结果编码,操作完成时间其中之一或任意组合。
进一步地,所述的日志数据处理装置还包括:
结果存储模块,用于对日志消息进行处理之后,将处理的结果存储至mongodb日志数据库中。
进一步地,所述的日志数据处理装置还包括:
日志获得模块,用于获得分布式集群服务器的访问日志;
日志读取模块,用于根据所述访问日志,利用logstash日志处理组件读取微服务模块日志;
文件生成模块,用于根据所述微服务模块日志,生成对应的JSON文件;
文件存储模块,用于将所述JSON文件存储至ES集群。
进一步地,所述的日志数据处理装置还包括:
数据读取模块,用于在将JSON文件存储至ES集群之后,通过kinbana读取ES集群中的数据;
报表分析模块,用于对读取的数据进行报表分析。
进一步地,按如下方式获得分布式集群服务器的访问日志:
轮询请求分布式集群中的服务器;
根据轮训请求的结果,生成服务器对应的访问日志。
进一步地,所述的日志数据处理装置还包括:
日志存储模块,用于生成服务器对应的访问日志之后,将所述访问日志存储至对应的服务器中。
本发明实施例中还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述日志数据处理方法。
本发明实施例中还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述日志数据处理方法的计算机程序。
本发明实施例通过获得分布式集群服务器的操作日志和业务处理数据;根据所述业务处理数据,生成数据变动日志;将所述操作日志和数据变动日志传输至kafka集群消息中间件,生成日志消息;利用storm计算框架,对所述日志消息进行处理。本发明实施例与现有的通过File的方式存储在部署的机器上进行日志数据处理的方案而言,能够有效解决日志处理效率低且准确率不高的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中提供的一种日志数据处理方法流程图;
图2为本发明实施例中日志报表分析过程示意图;
图3为本发明实施例中发布订阅输出过程示意图;
图4为本发明实施例中访问应用服务日志过程示意图;
图5为本发明实施例中提供的一种日志数据处理装置示意图;
图6为本发明实施例中提供的一种电子设备示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
首先对本发明实施例中涉及的技术用于进行解释:
分布式系统:分布式系统是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。
架构:又名软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。架构描述语言(ADL)用于描述软件的体系架构。
微服务架构:微服务架构是一类将单一应用程序作为由众多小型服务构成之套件加以开发的方式,其中各项服务都拥有自己的进程并利用轻量化机制(通常为HTTP源API)实现通信。这些服务围绕业务功能建立而成,且凭借自动化部署机制实现独立部署。这些服务匹配一套最低限度的中央式管理机制,且各服务可通过不同编程语言编写而成并使用不同的数据存储技术。
ES:ElasticSearch是一个分布式、高扩展、高实时的搜索与数据分析引擎,它能很方便的使大量数据具有搜索、分析和搜索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境更有价值。相关数据通常存储在同一个索引中,该索引由一个或多个主分片和零个或多个复制分片组成。
Logstash:是一款轻量级的日志搜集处理框架,可以方便地把分散的、多样化的日志搜集起来,并且进行自定义的处理,然后传输到指定的位置。是一根具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端,还可以根据自己的需求在中间加上滤网。
如前所述,在高复杂度的系统中,对于定位线上问题,日志非常重要。单机环境模式下应用服务所生成的日志路径都在本地服务器上,查看日志也会相对比较方便。集群环境模式下就不同了,每台应用服务器都会生成同样的应用服务访问日志和错误日志,当客户端访问平台地址的时候,是采用轮询的方式随机访问集群中的其中一台应用服务器,并产生相对的访问日志和错误日志。为了实时查看客户端访问的日志信息,需要实时同步集群中每一台服务器上的日志并归集到主服务器上。实现分布式日志系统归集方案解决日志归集技术问题。目前项目中,采用的是微服务框架,对于日志,采用的是logback的配置,每个微服务的日志,都是通过File的方式存储在部署的机器上,但是由于日志比较分散,想要检查各个微服务是否有报错信息,需要挨个服务去排查,比较麻烦。所以希望通过对日志进行聚合,然后通过监控,能够快速地找到各个微服务的报错信息,快速地排查日志。对每个系统来说,日志很重要,又很容易被忽视的部分。日志里记录了程序执行的关键信息,ERROR和WARNING信息等等。我们可以根据日志做很多事情,做数据分析、系统监控、排查问题等等。但是,任何一个中大型系统都不可能是单台Server,日志文件散落在几十台甚至成千上万台Server上,这给基于日志的数据分析、问题排查都带来了很大困难。对于日志,采用logback的配置,每个微服务的日志,都是通过File的方式存储在部署的机器上。为了实时查看客户端访问的日志信息,需要实时同步集群中每一台服务器上的日志并归集到主服务器上。现有的ELK日志收集技术非实时性,底层通过定时器发现数据库发生变化后才去同步,由于是定时则必然出现延迟。现有的日志分析技术是批量发送,数据达不到真正的实时,而且会丢失数据,并且不支持事务等。
为了解决现有日志处理效率低且准确率不高的问题,该方法应用于分布式集群服务器,本发明实施例中提供了一种日志数据处理方法,图1为本发明实施例中提供一种日志数据处理方法流程图,如图1所示,包括如下步骤:
步骤101、获得分布式集群服务器的操作日志和业务处理数据;
步骤102、根据所述业务处理数据,生成数据变动日志;
步骤103、将所述操作日志和数据变动日志传输至kafka集群消息中间件,生成日志消息;
步骤104、利用storm计算框架,对所述日志消息进行处理。
由图1所示可以得知,本发明实施例通过获得分布式集群服务器的操作日志和业务处理数据;根据所述业务处理数据,生成数据变动日志;将所述操作日志和数据变动日志传输至kafka集群消息中间件,生成日志消息;利用storm计算框架,对所述日志消息进行处理。本发明实施例与现有的通过File的方式存储在部署的机器上对所述日志消息进行处理的方案而言,能够有效解决日志处理效率低且准确率不高的问题。
实施例中,获得分布式集群服务器的操作日志和业务处理数据,根据所述业务处理数据,生成数据变动日志。
本实施例中,所述操作日志包括:前置操作日志和后置操作日志,其中,所述前置操作日志用于记录访问地址,http访问方式,调用类,调用方法信息,请求参数,用户ip地址,用户id,用户登录名,应用标识,模块名称,操作名称,操作时间其中之一或任意组合,后置操作日志用于记录标识信息,返回消息,返回结果编码,操作完成时间其中之一或任意组合。
需要说明的是,请求参数为浏览器到后台的请求参数。
具体实施时,用户通过访问浏览器软件,在登录状态下,点击模块操作,为了实现操作日志的记录,在代码中需要启用操作日志记录。然后由系统产生该次操作的唯一的标识信息TxId。在启用记录操作日志的前提下,前置操作日志自动产生。前置操作日志用于记录访问地址,http访问方式,调用类,调用方法信息,请求参数,用户ip地址,用户id,用户登录名,应用标识,模块名称,操作名称,操作时间其中之一或任意组合。开发人员需在操作对应的表中记录当前操作的标识信息TxId,一次操作涉及到的所有表都需要记录该值,并且记录当前操作的业务处理数据。在启用记录操作日志的前提下,后置操作日志自动产生。后置操作日志用于记录标识信息,返回消息,返回结果编码,操作完成时间其中之一或任意组合。
具体实施时,根据业务处理数据,生成数据变动日志。使用mysql binlog技术,Mysql的binlog日志作用是用来记录mysql内部增删改查等对mysql数据库有更新的内容的记录(对数据库的改动),对数据库的查询select或show等不会被binlog日志记录;主要用于数据库的主从复制以及增量恢复。通过监听mysql binlog获取变动的数据。目前可采用canal、maxwell实现mysql binlog,且要将mysql binlog配置成row行模式。
实施例中,将所述操作日志和数据变动日志传输至kafka集群消息中间件,生成日志消息。
具体实施时,前置操作日志、后置操作日志、数据变动日志都会进入消息中间件kafka。
需要说明的是,kafka发源于LinkedIn,于2011年成为Apache的孵化项目,随后于2012年成为Apache的主要项目之一。kafka使用Scala和Java进行编写。Apache kafka是一个快速、可扩展的、高吞吐、可容错的分布式发布订阅消息系统。kafka具有高吞吐量、内置分区、支持数据副本和容错的特性,适合在大规模消息处理场景中使用。
实施例中,利用storm计算框架,对所述日志消息进行处理。
本实施例中,利用storm计算框架对前置操作日志对应的日志消息进行处理,得到请求操作日志和操作日志关联关系日志,其中,请求操作日志包括:访问地址,http访问方式,调用类,调用方法信息,浏览器到后台的请求参数,用户ip地址,用户id,用户登录名,应用标识,模块名称,操作名称,操作时间其中之一或任意组合。操作日志关联关系日志包括:用户ip地址,用户id,用户登录名,应用标识,模块名称,操作名称,操作时间其中之一或任意组合。
本实施例中,利用storm计算框架对数据变动日志对应的日志消息进行处理,得到数据变动记录日志和修改日志关联关系日志。
具体实施时,使用storm作为流式实时计算框架,负责消费消息中间件中的日志消息。Storm是一个分布式的、容错的开源实时计算系统,Storm为分布式实时计算提供了一组通用原语,实时处理消息并更新数据库。前置操作日志经由该处理后可以保存为2种日志:一种为请求操作日志,主要包含以下内容:访问地址,http访问方式,调用类及调用方法,浏览器到后台的请求参数,用户ip地址,用户id,用户登录名,应用标识,模块名称,操作名称,操作时间其中之一或任意组合。另外一种为操作日志关联关系日志主要包含:用户ip地址,用户id,用户登录名,应用标识,模块名称,操作名称,操作时间。后置操作日志在本操作中直接处理。数据变动日志经由日志处理中心保存成为数据变动记录日志以及修改日志关联关系。
本实施例中,storm可以实时处理消息和更新DB,对一个数据量进行持续的查询并返回客户端(持续计算),对一个耗资源的查询作实时并行化的处理(分布式方法调用,即DRPC),storm的这些基础API可以满足大量的场景,适用场景广泛。storm的可伸缩性可以让storm每秒可以处理的消息量达到很高。扩展一个实时计算任务,你所需要做的就是加机器并且提高这个计算任务的并行度。storm使用ZooKeeper来协调集群内的各种配置使得storm的集群可以很容易的扩展,具有可伸缩性高的特点。实时系统必须保证所有的数据被成功的处理。那些会丢失数据的系统的适用场景非常窄,而storm保证每一条消息都会被处理,保证无数据丢失。storm集群非常容易管理,轮流重启节点不影响应用。在消息处理过程中出现异常,storm会进行重试。容错性好。storm的topology和消息处理组件(Bolt)可以用任何语言来定义,这一点使得任何人都可以使用storm,具有语言无关性。
storm服务包含Nimbus、topo、Supervisor、topology、tuple等服务,Nimbus负责在集群分发的代码,topo只能在nimbus机器上提交,将任务分配给其他机器,和故障监测。Supervisor监听分配给它的节点,根据Nimbus的委派在必要时启动和关闭工作进程。每个工作进程执行topology的一个子集。一个运行中的topology由很多运行在很多机器上的工作进程组成。在storm中有对于流stream的抽象,流是一个不间断的无界的连续tuple,注意storm在建模事件流时,把流中的事件抽象为tuple即元组。storm认为每个stream都有一个源,也就是原始元组的源头,叫做Spout(管口)。处理stream内的tuple,抽象为Bolt,bolt可以消费任意数量的输入流,只要将流方向导向该bolt,同时它也可以发送新的流给其他bolt使用,这样一来,只要打开特定的spout再将spout中流出的tuple导向特定的bolt,bolt又对导入的流做处理后再导向其他bolt或者目的地。可以认为spout就是水龙头,并且每个水龙头里流出的水是不同的,我们想拿到哪种水就拧开哪个水龙头,然后使用管道将水龙头的水导向到一个水处理器(bolt),水处理器处理后再使用管道导向另一个处理器或者存入容器中。
本实施例中,所述的日志数据处理方法还包括:
对日志消息进行处理之后,将处理的结果存储至mongodb日志数据库中。
本实施例中,所述的日志数据处理方法还包括:
获得分布式集群服务器的访问日志;
根据所述访问日志,利用logstash日志处理组件读取微服务模块日志;
根据所述微服务模块日志,生成对应的JSON文件;
将所述JSON文件存储至ES集群。
本实施例中,所述的日志数据处理方法还包括:
在将JSON文件存储至ES集群之后,通过kinbana读取ES集群中的数据;
对读取的数据进行报表分析。
具体实施时,日志报表分析过程如图2所示,客户端通过浏览器访问平台的模块,产生了后端的分布式集群服务器的访问日志,logstash日志处理组件通过读取采集服务器上的各个微服务模块日志,并格式化成JSON文件格式存放到ES集群中,最后通过Kinbana读取ES数据展示报表分析。
具体实施时,发布订阅输出过程如图3所示,客户端通过浏览器访问平台各个微服务模块,采用AOP技术收集日志。并发布到kafka中,LogStash日志处理组件通过订阅过程,将各个模块的服务日志推过来,并输出到ES集群中。
本实施例中,按如下方式获得分布式集群服务器的访问日志:
轮询请求分布式集群中的服务器;
根据轮训请求的结果,生成服务器对应的访问日志。
本实施例中,所述的日志数据处理方法还包括:
生成服务器对应的访问日志之后,将所述访问日志存储至对应的服务器中。
具体实施时,用户通过浏览器客户端访问集群服务器轮询Ap A、Ap A1、Ap A2应用,Ap B、Ap B1、Ap B2应用,Ap C、Ap C1、Ap C2应用,访问应用服务日志过程如图4所示。用户通过浏览器入口轮询请求集群中某台服务器,分别在集群服务器中产生了访问日志。例如:当用户访问请求到web:A应用模块服务器时相应的日志就存储在此服务器中,当用户访问请求到web:B应用模块服务器时相应的日志就存储在此服务器中,当用户访问请求到web:C应用模块服务器时相应的日志就存储在此服务器中。其他集群服务器也是按照这种方法实现访问。
本实施例中,使用日志框架logback对分布式系统日志跟踪处理,利用日志处理中心组件和消息中间件发送消息到日志数据库,日志处理中心实时处理消息并更新数据库,前置操作日志、后置操作日志、数据变动日志都会进入消息中间件,自动对索引物理文件进行分片,并随机分布与Elasticsearch集群中的每台主机上,自动管理每个分片的冗余数量,一旦发现一个分片的冗余数量不足,就会自动为其创建分片,并随机存储在一个节点上,自动管理分片的读写,并为用户请求做代理。
本发明的挑战在于微服务是相互隔离的,它们不共享公共数据库和日志文件。随着微服务数量的增加以及我们使用自动化持续集成工具实现云部署,当我们遇到任何问题时,非常有必要对组件进行调试。本发明实施例提供水平可扩展性,为高可靠性和易管理性而设计,可以进行对日志的汇总、分析、监控和搜索用。从而基于发布订阅模式的,类似于生产者与消费者,配合通过使用微服务,我们能够解决许多在单体应用中暴露的问题,并且它允许我们创建稳定的分布式应用程序,并对代码、团队规模、维护、发布周期等进行所需要的控制。在微服务架构中,会部署众多的应用,其中有基础应用,比如:网关、服务发现等。同时还有大量的业务应用。这样,可以有效的收集它们的日志,并且方便查询,同时提供友好的可视化展示,对于应微对服务架构的复杂性有很大的帮助。采用微服务架构和日志处理中心组件消息中间件对集群中的日志归集和检索分析,提高了日志汇总归集的执行效率,免去到集群每台服务器中去查看相应的日志记录。对于集群环境中采用此方案可以快速解决报错日志查阅困难的问题,可以让技术人员快速定位报错的问题节点,可以提高定位问题的效率。针对需要同步的日志目录配置相应的脚本,并配合系统的定时任务一起使用,实现实时同步集群环境中日志同步的效果。
基于同一发明构思,本发明实施例中还提供了一种日志数据处理装置,如下面的实施例所述。由于该装置解决问题的原理与日志数据处理方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
图5为本发明实施例中提供一种日志数据处理装置示意图,如图5所示,本发明实施例中提供的日志数据处理装置可包括:
数据获得模块501,用于获得分布式集群服务器的操作日志和业务处理数据;
日志生成模块502,用于根据所述业务处理数据,生成数据变动日志;
消息生成模块503,用于将所述操作日志和数据变动日志传输至kafka集群消息中间件,生成日志消息;
日志处理模块504,用于利用storm计算框架,对所述日志消息进行处理。
在一个实施例中,所述操作日志包括:前置操作日志和后置操作日志,其中,所述前置操作日志用于记录访问地址,http访问方式,调用类,调用方法信息,请求参数,用户ip地址,用户id,用户登录名,应用标识,模块名称,操作名称,操作时间其中之一或任意组合,后置操作日志用于记录标识信息,返回消息,返回结果编码,操作完成时间其中之一或任意组合。
在一个实施例中,所述的日志数据处理装置还包括:
结果存储模块,用于对日志消息进行处理之后,将处理的结果存储至mongodb日志数据库中。
在一个实施例中,所述的日志数据处理装置还包括:
日志获得模块,用于获得分布式集群服务器的访问日志;
日志读取模块,用于根据所述访问日志,利用logstash日志处理组件读取微服务模块日志;
文件生成模块,用于根据所述微服务模块日志,生成对应的JSON文件;
文件存储模块,用于将所述JSON文件存储至ES集群。
在一个实施例中,所述的日志数据处理装置还包括:
数据读取模块,用于在将JSON文件存储至ES集群之后,通过kinbana读取ES集群中的数据;
报表分析模块,用于对读取的数据进行报表分析。
在一个实施例中,按如下方式获得分布式集群服务器的访问日志:
轮询请求分布式集群中的服务器;
根据轮训请求的结果,生成服务器对应的访问日志。
在一个实施例中,所述的日志数据处理装置还包括:
日志存储模块,用于生成服务器对应的访问日志之后,将所述访问日志存储至对应的服务器中。
综上所述,本发明实施例通过获得分布式集群服务器的操作日志和业务处理数据;根据所述业务处理数据,生成数据变动日志;将所述操作日志和数据变动日志传输至kafka集群消息中间件,生成日志消息;利用storm计算框架,对所述日志消息进行处理。本发明实施例与现有的通过File的方式存储在部署的机器上对所述日志消息进行处理的方案而言,能够有效解决日志处理效率低且准确率不高的问题。
基于同一发明构思,本发明实施例中还提供了一种用于实现上述日志数据处理方法中的全部或部分内容的电子设备实施例。该电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例用于实现上述日志数据处理方法的实施例及用于实现上述日志数据处理装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
图6为本发明实施例中提供的一种电子设备的系统组成结构示意图。如图6所示,该电子设备60可以包括处理器601和存储器602;存储器602耦合到处理器601。值得注意的是,该图6是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
在一个实施例中,日志数据处理方法实现的功能可以被集成到处理器601中。其中,处理器601可以被配置为进行如下控制:获得分布式集群服务器的操作日志和业务处理数据;根据所述业务处理数据,生成数据变动日志;将所述操作日志和数据变动日志传输至kafka集群消息中间件,生成日志消息;利用storm计算框架,对所述日志消息进行处理。
由上可知,本发明的实施例中提供的电子设备,通过获得分布式集群服务器的操作日志和业务处理数据;根据所述业务处理数据,生成数据变动日志;将所述操作日志和数据变动日志传输至kafka集群消息中间件,生成日志消息;利用storm计算框架,对所述日志消息进行处理。
通过本发明实施例中提供的电子设备,能够解决现有日志处理效率低且准确率不高的问题,该方法应用于分布式集群服务器。
在另一个实施例中,日志数据处理装置可以与处理器601分开配置,例如可以将日志数据处理装置配置为与处理器601连接的芯片,通过处理器的控制来实现日志数据处理方法的功能。
如图6所示,该电子设备60还可以包括:通信模块606、输入单元604、音频处理单元605、显示器606、电源603。值得注意的是,电子设备60也并不是必须要包括图6中所示的所有部件;此外,电子设备60还可以包括图6中没有示出的部件,可以参考现有技术。
如图6所示,处理器601有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该处理器601接收输入并控制电子设备60的各个部件的操作。
其中,存储器602,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且处理器601可执行该存储器602存储的该程序,以实现信息存储或处理等。
输入单元604向处理器601提供输入。该输入单元604例如为按键或触摸输入装置。电源603用于向电子设备60提供电力。显示器606用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器602可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器602还可以是某种其它类型的装置。存储器602包括缓冲存储器6021(有时被称为缓冲器)。存储器602可以包括应用/功能存储部6022,该应用/功能存储部6022用于存储应用程序和功能程序或用于通过处理器601执行电子设备60的操作的流程。
存储器602还可以包括数据存储部6023,该数据存储部6023用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器602的驱动程序存储部6024可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块603即为经由天线608发送和接收信号的发送机/接收机。通信模块(发送机/接收机)603耦合到处理器601,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块603,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)603还经由音频处理单元605耦合到扬声器609和麦克风610,以经由扬声器609提供音频输出,并接收来自麦克风610的音频输入,从而实现通常的电信功能。音频处理单元605可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理单元605还耦合到处理器601,从而使得可以通过麦克风610能够在本机上录音,且使得可以通过扬声器609来播放本机上存储的声音。
本发明的实施例中还提供了一种用于实现上述实施例中日志数据处理方法中全部步骤的一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的日志数据处理方法的全部步骤,例如,该处理器执行该计算机程序时实现下述步骤:获得分布式集群服务器的操作日志和业务处理数据;根据所述业务处理数据,生成数据变动日志;将所述操作日志和数据变动日志传输至kafka集群消息中间件,生成日志消息;利用storm计算框架,对所述日志消息进行处理。
由上可知,本发明的实施例中提供的计算机可读存储介质,通过获得分布式集群服务器的操作日志和业务处理数据;根据所述业务处理数据,生成数据变动日志;将所述操作日志和数据变动日志传输至kafka集群消息中间件,生成日志消息;利用storm计算框架,对所述日志消息进行处理。
通过本发明实施例中提供的计算机可读存储介质,能够解决现有日志处理效率低且准确率不高的问题,该方法应用于分布式集群服务器。
虽然本发明提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本领域技术人员应明白,本说明书的实施例可提供为方法、装置(系统)或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。本发明并不局限于任何单一的方面,也不局限于任何单一的实施例,也不局限于这些方面和/或实施例的任意组合和/或置换。可单独使用本发明的每个方面和/或实施例,或者与一个或更多其他方面和/或其他实施例结合使用。
以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例中所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (16)
1.一种日志数据处理方法,应用于分布式集群服务器,其特征在于,包括:
获得分布式集群服务器的操作日志和业务处理数据;
根据所述业务处理数据,生成数据变动日志;
将所述操作日志和数据变动日志传输至kafka集群消息中间件,生成日志消息;
利用storm计算框架,对所述日志消息进行处理。
2.如权利要求1所述的日志数据处理方法,其特征在于,所述操作日志包括:前置操作日志和后置操作日志,其中,所述前置操作日志用于记录访问地址,http访问方式,调用类,调用方法信息,请求参数,用户ip地址,用户id,用户登录名,应用标识,模块名称,操作名称,操作时间其中之一或任意组合,后置操作日志用于记录标识信息,返回消息,返回结果编码,操作完成时间其中之一或任意组合。
3.如权利要求1所述的日志数据处理方法,其特征在于,还包括:
对日志消息进行处理之后,将处理的结果存储至mongodb日志数据库中。
4.如权利要求1所述的日志数据处理方法,其特征在于,还包括:
获得分布式集群服务器的访问日志;
根据所述访问日志,利用logstash日志处理组件读取微服务模块日志;
根据所述微服务模块日志,生成对应的JSON文件;
将所述JSON文件存储至ES集群。
5.如权利要求4所述的日志数据处理方法,其特征在于,还包括:
在将JSON文件存储至ES集群之后,通过kinbana读取ES集群中的数据;
对读取的数据进行报表分析。
6.如权利要求4所述的日志数据处理方法,其特征在于,按如下方式获得分布式集群服务器的访问日志:
轮询请求分布式集群中的服务器;
根据轮训请求的结果,生成服务器对应的访问日志。
7.如权利要求6所述的日志数据处理方法,其特征在于,还包括:
生成服务器对应的访问日志之后,将所述访问日志存储至对应的服务器中。
8.一种日志数据处理装置,应用于分布式集群服务器,其特征在于,包括:
数据获得模块,用于获得分布式集群服务器的操作日志和业务处理数据;
日志生成模块,用于根据所述业务处理数据,生成数据变动日志;
消息生成模块,用于将所述操作日志和数据变动日志传输至kafka集群消息中间件,生成日志消息;
日志处理模块,用于利用storm计算框架,对所述日志消息进行处理。
9.如权利要求8所述的日志数据处理装置,其特征在于,所述操作日志包括:前置操作日志和后置操作日志,其中,所述前置操作日志用于记录访问地址,http访问方式,调用类,调用方法信息,请求参数,用户ip地址,用户id,用户登录名,应用标识,模块名称,操作名称,操作时间其中之一或任意组合,后置操作日志用于记录标识信息,返回消息,返回结果编码,操作完成时间其中之一或任意组合。
10.如权利要求8所述的日志数据处理装置,其特征在于,还包括:
结果存储模块,用于对日志消息进行处理之后,将处理的结果存储至mongodb日志数据库中。
11.如权利要求8所述的日志数据处理装置,其特征在于,还包括:
日志获得模块,用于获得分布式集群服务器的访问日志;
日志读取模块,用于根据所述访问日志,利用logstash日志处理组件读取微服务模块日志;
文件生成模块,用于根据所述微服务模块日志,生成对应的JSON文件;
文件存储模块,用于将所述JSON文件存储至ES集群。
12.如权利要求11所述的日志数据处理装置,其特征在于,还包括:
数据读取模块,用于在将JSON文件存储至ES集群之后,通过kinbana读取ES集群中的数据;
报表分析模块,用于对读取的数据进行报表分析。
13.如权利要求11所述的日志数据处理装置,其特征在于,按如下方式获得分布式集群服务器的访问日志:
轮询请求分布式集群中的服务器;
根据轮训请求的结果,生成服务器对应的访问日志。
14.如权利要求13所述的日志数据处理装置,其特征在于,还包括:
日志存储模块,用于生成服务器对应的访问日志之后,将所述访问日志存储至对应的服务器中。
15.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述日志数据处理方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至7任一项所述日志数据处理方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110439907.8A CN113535668A (zh) | 2021-04-23 | 2021-04-23 | 日志数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110439907.8A CN113535668A (zh) | 2021-04-23 | 2021-04-23 | 日志数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113535668A true CN113535668A (zh) | 2021-10-22 |
Family
ID=78095343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110439907.8A Pending CN113535668A (zh) | 2021-04-23 | 2021-04-23 | 日志数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113535668A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115757041A (zh) * | 2022-11-28 | 2023-03-07 | 安超云软件有限公司 | 可动态配置的多集群日志采集的方法及应用 |
CN116431734A (zh) * | 2023-06-12 | 2023-07-14 | 成都信息工程大学 | 一种es数据实时同步方法、系统及存储介质 |
-
2021
- 2021-04-23 CN CN202110439907.8A patent/CN113535668A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115757041A (zh) * | 2022-11-28 | 2023-03-07 | 安超云软件有限公司 | 可动态配置的多集群日志采集的方法及应用 |
CN115757041B (zh) * | 2022-11-28 | 2023-11-21 | 安超云软件有限公司 | 可动态配置的多集群日志采集的方法及应用 |
CN116431734A (zh) * | 2023-06-12 | 2023-07-14 | 成都信息工程大学 | 一种es数据实时同步方法、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11836533B2 (en) | Automated reconfiguration of real time data stream processing | |
US10447772B2 (en) | Managed function execution for processing data streams in real time | |
CN112910945B (zh) | 请求链路跟踪方法和业务请求处理方法 | |
US20240104147A1 (en) | Real-time monitoring and reporting systems and methods for information access platform | |
WO2017166644A1 (zh) | 一种数据采集方法和系统 | |
CN113067709B (zh) | 基于云服务的计费方法、装置、设备及可读存储介质 | |
WO2018213311A1 (en) | Distributed versioning of applications using cloud-based systems | |
CN111090699A (zh) | 业务数据的同步方法和装置、存储介质、电子装置 | |
US10664535B1 (en) | Retrieving log data from metric data | |
US20200026640A1 (en) | Systems and methods for modular test platform for applications | |
EP2984551A1 (en) | Creating global aggregated namespaces for storage management | |
CN113535668A (zh) | 日志数据处理方法及装置 | |
CN111177237B (zh) | 一种数据处理系统、方法及装置 | |
US11652702B2 (en) | Configuring a software as-a-service platform for remotely managing a cloud application | |
US10489179B1 (en) | Virtual machine instance data aggregation based on work definition metadata | |
US20200293502A1 (en) | Systems and methods for database management system (dbms) discovery | |
CN114265680A (zh) | 一种海量数据处理方法、装置、电子设备及存储介质 | |
CN110647709A (zh) | 一种表单构建方法、装置和存储介质 | |
CN112187509A (zh) | 多架构云平台执行日志管理方法、系统、终端及存储介质 | |
US11334535B2 (en) | Storage and analysis of data records associated with managed devices in a device management platform | |
CN112181678A (zh) | 业务数据的处理方法、装置和系统、存储介质、电子装置 | |
Rathore et al. | Maintaining SmartX multi‐view visibility for OF@ TEIN+ distributed cloud‐native edge boxes | |
CN112506887A (zh) | 车辆终端can总线数据处理方法及装置 | |
CN111858260A (zh) | 信息显示方法、装置、设备及介质 | |
US10733002B1 (en) | Virtual machine instance data aggregation |
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 |