一种日志数据系统的制作方法

文档序号:9453162阅读:250来源:国知局
一种日志数据系统的制作方法
【技术领域】
[0001]本发明涉及数据处理领域,特别是涉及一种日志数据系统。
【背景技术】
[0002]目前大部分的应用系统为了提升自身性能,可以采用分布式等方式将不同的功能模块分布在不同的服务器节点,这种方式可以理解为多节点部署。比如说,随着应用系统的规模逐渐扩大,通常会对应用服务器进行横向扩展,把应用程序部署到多台服务器上。规模庞大的系统甚至达到几十、几百台服务器。
[0003]在多节点部署的应用系统中,节点中程序在运行时,会实时输出反应程序运行情况的数据,这种数据可以称为日志数据,日志数据会对应用系统的运维起到重要作用。
[0004]在这种多节点部署的结构下,传统的保存日志数据的方式是,各个节点将输出的日志数据保存到各自的本地。一旦应用系统的程序出现问题,应用系统需要依赖各个相关节点的日志数据进行分析,根据分析结果来帮助定位出导致问题发生的原因。然而节点的日志数据都保存在本地,需要应用系统到每台服务器上逐一检查日志数据,效率非常低下。

【发明内容】

[0005]为了解决上述技术问题,本发明提供了一种日志数据系统,以使得将各个节点的日志数据统一存储在日志服务器中,提高了在出现问题时,检查日志数据的效率。
[0006]本发明实施例公开了如下技术方案:
[0007]—种日志数据系统,应用于多节点部署的应用系统,所述日志数据系统包括第一收集中间件,所述第一收集中间件包括日志收集器、日志存储器和日志发送器:
[0008]所述日志收集器用于接收多个日志数据,所述日志数据与所述应用系统中部署的节点--对应;
[0009]所述日志发送器用于向日志服务器发送所述日志收集器接收的日志数据;
[0010]所述日志存储器用于存储尚未发送的日志数据,所述尚未发送的日志数据为所述日志收集器接收的,且尚未被所述日志发送器发送的日志数据。
[0011]可选的,所述日志收集器接收的日志数据由所述应用系统中对应的节点所发送,其中,所述应用系统中对应的节点在输出日志数据时,通过触发指令将输出的日志数据向所述日志收集器发送。
[0012]可选的,所述日志数据系统还包括第二收集中间件:
[0013]所述第一收集中间件的日志收集器接收的日志数据由所述第二收集中间件的日志发送器所发送,其中,所述第二收集中间件的日志发送器所发送的日志数据为所述第二收集器所接收的日志数据。
[0014]可选的,所述日志存储器包括内存存储模块、数据库存储模块和文件存储模块中的任意一种或多种的组合,所述内存存储模块以内存作为存储介质缓存日志数据,所述数据库存储模块以数据库为存储介质存储日志数据,所述文件存储模块以文件为存储介质存储日志数据。
[0015]可选的,所述日志数据系统还包括日志分析中间件,所述日志分析中间件包括日志展示模块、日志预警模块和日志分析模块:
[0016]所述日志展示模块用于对所述日志服务器中的日志数据进行展示;
[0017]所述日志预警模块用于当错误日志数据的个数超出阈值时进行预警;
[0018]所述日志分析模块用于在接收到查询请求时,根据所述查询请求在所述日志服务器进行查询。
[0019]可选的,
[0020]所述日志数据包括日志的输出级别、输出格式、输出日志的应用名称、对应节点所在服务器的标识任意一个或多个的组合,以及日志内容。
[0021]由上述技术方案可以看出,日志数据系统应用在多节点部署的应用系统中,所述日志数据系统的第一收集中间件包括日志收集器、日志存储器和日志发送器,通过第一收集中间件的日志收集器接收多个节点发来的多个日志数据,再通过日志发送器将接收到的日志数据发送到用于统一存储日志数据的日志服务器,而且,第一收集中间件的日志存储器可以将接收到,且尚未向所述日志服务器发送的日志数据进行妥善保存,由此将多节点部署的应用系统中各个节点的日志数据统一存储在所述日志服务器中,在应用系统的程序出现问题时,可以直接在所述日志服务器上检查日志数据,效率得到了提高。
【附图说明】
[0022]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0023]图1为本发明实施例提供的一种日志数据系统的系统结构图;
[0024]图2为本发明实施例提供的一种日志数据系统的系统结构图;
[0025]图3为本发明实施例提供的一种收集中间件的结构图;
[0026]图4为本发明实施例提供的一种日志分析中间件的结构图;
[0027]图5为本发明实施例提供的一种日志数据系统的场景应用示意图。
【具体实施方式】
[0028]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0029]目前大部分的应用系统为了提升自身性能,可以采用分布式等方式将不同的功能模块分布在不同的服务器节点,这种方式可以理解为多节点部署。在多节点部署的应用系统中,节点中程序在运行时,会实时输出反应程序运行情况的数据,这种数据可以称为日志数据,日志数据会对应用系统的运维起到重要作用。在这种多节点部署的结构下,传统的保存日志数据的方式是,各个节点将输出的日志数据保存到各自的本地。一旦应用系统的程序出现问题,应用系统需要依赖各个相关节点的日志数据进行分析,根据分析结果来帮助定位出导致问题发生的原因。然而节点的日志数据都保存在本地,没有集中存储和管理,需要应用系统到每台服务器上逐一检查日志数据,效率非常低下。
[0030]为此,本发明实施例提供了一种日志数据系统,所述日志数据系统应用在多节点部署的应用系统中,所述日志数据系统的第一收集中间件包括日志收集器、日志存储器和日志发送器,通过第一收集中间件的日志收集器接收多个节点发来的多个日志数据,再通过日志发送器将接收到的日志数据发送到用于统一存储日志数据的日志服务器,而且,第一收集中间件的日志存储器可以将接收到,且尚未向所述日志服务器发送的日志数据进行妥善保存,由此将多节点部署的应用系统中各个节点的日志数据统一存储在所述日志服务器中,在应用系统的程序出现问题时,可以直接在所述日志服务器上检查日志数据,效率得到了提高。
[0031]实施例一
[0032]本发明实施例提供的日志数据系统可以包括一个或多个收集中间件。这里所述的中间件可以理解为一种可以直接使用而不用关注其具体实现细节的技术实现。所述收集中间件包括日志收集器(log-collector)、日志存储器(log-channel)和日志发送器(log-sender)。所述收集中间件用于将收集到的各个节点的日志数据发送到日志服务器,由日志服务器统一保存。这样在应用系统的程序出现问题时,可以在日志服务器中查找日志数据,而不用在多个服务器上逐一查找。接下来将对日志数据系统中的收集中间件进行描述。
[0033]图1为本发明实施例提供的一种日志数据系统的系统结构图,应用于多节点部署的应用系统,所述日志数据系统包括第一收集中间件100,所述第一收集中间件包括日志收集器101、日志存储器102和日志发送器103:
[0034]所述日志收集器101用于接收多个日志数据,所述日志数据与所述应用系统中部署的节点对应。
[0035]举例说明,所述日志数据可以包括日志的输出级别、输出格式、输出日志的应用名称、对应节点所在服务器的标识任意一个或多个的组合,以及日志内容。
[0036]其中,节点上运行的可以是应用程序(英文-Applicat1n,缩写:APP)。
[0037]所述日志发送器103用于向日志服务器发送所述日志收集器101接收的日志数据。其中,所述日志服务器可以是分布式文件系统(英文:Hadoop Distributed FileSystem,缩写:HDFS),
[0038]所述日志存储器102用于存储尚未发送的日志数据,所述尚未发送的日志数据为所述日志收集器101接收的,且尚未被所述日志发送器103发送的日志数据。
[0039]举例说明,本发明并不具体限定所述日志收集器101所接收的日志数据的来源,该日志数据既可以直接来自所述应用系统的节点,也可以来自所述日志数据系统中的其他收集中间件。
[0040]也就是说,可选的,所述日志收集器接收的日志数据由所述应用系统中对应的节点所发送,其中,所述应用系统中对应的节点在输出日志数据时,通过触发指令将输出的日志数据向所述日志收集器发送。
[0041]或者,可选的,所述日志数据系统还包括第二收集中间件:
[0042]所述第一收集中间件的日志收集器接收的日志数据由所述第二收集中间件的日志发送器所发送,其中,所述第二收集中间件的日志发送器所发送的日志数据为所述第二收集器所接收的日志数据。通过把日志数据发送到下一个日志收集器。把日志收集中间件串联起来,这样可以减轻单个日志收集中间件的压力。
[0043]这里需要说明的是,所述第一收集中间件的日志收集器所接收的日志数据的来源至少可以包括三种可能。第一种可能,所述第一收集中间件的日志收集器所接收的所
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1