服务器集群下的日志提取方法和服务器集群技术

技术编号:12576351 阅读:79 留言:0更新日期:2015-12-23 16:26
本发明专利技术公开了一种服务器集群下的日志提取方法和服务器集群。本发明专利技术实施例提供的一种服务器集群下的日志提取方法包括:第一日志组件在将第一应用服务的日志记录至对应的第一日志库时,根据配置数据获取与日志关联的用户和/或业务的信息,并将该信息记录在为日志设置的上下文字段中;第一日志组件根据第一应用服务接收到的请求端的日志调用请求,获知该日志调用请求中的输出表达式,该输出表达式用于指示与请求调用的日志关联的用户和/或业务的信息满足的条件;第一日志组件将输出表达式与第一日志库中保存的日志的上下文字段进行匹配;将匹配成功的日志输出至日志调用请求所指定的输出端口。

【技术实现步骤摘要】
【国外来华专利技术】服务器集群下的日志提取方法和服务器集群
本专利技术涉及计算机网络
,特别涉及一种服务器集群下的日志提取方法和服务器集群。
技术介绍
在服务器系统的开发与维护中,分析日志是一种主要的排错手段,在不同的领域下也出现了很多成熟的日志系统,允许将日志写入本地的文本文件或中心数据库文件。然而,现有的日志系统已无法满足大规模服务器集群的运维需要,例如,现有日志系统将不同用户或不同业务的日志混杂在一起输出及处理,导致在集群的几百台服务器中通过日志排查单个用户或业务的错误时难度过高。
技术实现思路
鉴于上述问题,本专利技术实施例提供了一种服务器集群下的日志提取方法和服务器集群,以解决现有方案在集群中通过日志排查单个用户或业务的错误时难度过高的问题等。为了达到上述目的,本专利技术实施例采用的技术方案如下:一方面,本专利技术实施例提供了一种服务器集群下的日志提取方法,包括:第一日志组件在将第一应用服务的日志记录至对应的第一日志库时,根据配置数据获取与日志关联的用户和/或业务的信息,并将信息记录在为日志设置的上下文字段中;第一日志组件根据第一应用服务接收到的请求端的日志调用请求,获知日志调用请求中的输出表达式,该输出表达式用于指示与请求调用的日志关联的用户和/或业务的信息满足的条件;第一日志组件将输出表达式与第一日志库中保存的日志的上下文字段进行匹配;第一日志组件将匹配成功的日志输出至日志调用请求所指定的输出端口。另一方面,本专利技术实施例提供了一种服务器集群,包括多个应用服务器。该应用服务器中包括第一应用服务器,第一应用服务器包括第一应用服务、第一日志组件和第一日志库。第一应用服务,用于承载业务,接收来自请求端的业务请求并处理;第一日志库,用于存储第一应用服务的日志;第一日志组件,用于在将第一应用服务的日志记录至对应的第一日志库时,根据配置数据获取与日志关联的用户和/或业务的信息,并将信息记录在为日志设置的上下文字段中;根据第一应用服务接收到的请求端的日志调用请求,获知日志调用请求中的输出表达式,该输出表达式用于指示与请求调用的日志关联的用户和/或业务的信息满足的条件;将输出表达式与第一日志库中保存的日志的上下文字段进行匹配;将匹配成功的日志输出至日志调用请求所指定的输出端口。由上所述,本专利技术实施例通过将与日志关联的用户和/或业务的信息记录在为日志设置的上下文字段中,以及将输出表达式与保存的日志的上下文字段进行匹配、输出匹配成功的日志至指定端口的技术手段,能够利用用户和/或业务的信息从集群中筛选出需要的日志,如某一特定用户的日志或某一特定业务的日志,并能够将单个用户或特定业务的日志输出至指定的服务器,从而极大便利了在集群中通过日志追踪和排查单个用户或业务错误的操作,提高了整个系统排错的效率,满足了大规模服务器集群的运维需要。附图说明图1示出了根据本专利技术一个实施例的一种服务器集群的结构示意图;图2示出了根据本专利技术又一个实施例的更新日志组件的配置数据的流程示意图;图3示出了根据本专利技术又一个实施例的针对单个业务调用的日志追踪流程;图4示出了根据本专利技术又一个实施例的基于整个集群环境下的面向单个业务的日志抽取方法;图5示出了根据本专利技术又一个实施例的一种服务器集群下的日志提取方法流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。本专利技术一个实施例提供的一种服务器集群,包括多个应用服务器。该集群中还可以设置有配置中心服务器和日志分析及测试服务器。参见图1,示出了本实施例提供的一个服务器集群的结构示意图。该服务器集群中包括应用服务器100、配置中心服务器200和日志分析及测试服务器300。应用服务器100中包括应用服务110、日志组件111和日志库112。下面分别对这些器件进行说明。应用服务110用于承载业务,接收来自请求端的业务请求并处理。应用服务的日志会通过日志组件111进行记录。记录时,应用服务110会将当前的用户或业务的相关信息、日志等级、线程及会话相关的信息传给日志组件111。当前的用户或业务的相关信息,可以为诸如用户ID、业务ID、用户状态或业务状态以及其它对用户或业务的描述信息等,日志组件111将这些相关信息记录在日志的上下文字段中,以利用这些相关信息来匹配日志调用请求中的输出表达式。日志组件111为可复用的代码库,向上提供记录应用服务日志的接口,向下将日志存储至日志库112。日志组件111可以根据日志等级、线程信息、会话信息、用户信息和/或业务信息判断该日志是否应当进行记录。本实施例提供的日志组件111具有为日志设置上下文(Context)字段的功能,用于将用户和/或业务的信息设置在日志的上下文字段中,以及将日志调用请求中的输出表达式与上下文字段进行匹配。例如,通过该功能,日志组件111在将应用服务110的日志记录至对应的日志库112时,日志组件111根据自身已获取的配置数据获取与日志关联的用户和/或业务的信息,并将该信息记录在为日志设置的上下文字段中;以及,根据应用服务110接收到的请求端的日志调用请求,获知该日志调用请求中的输出表达式,该输出表达式用于指示与请求调用的日志关联的用户和/或业务的信息满足的条件,则将输出表达式与日志库112中保存的日志的上下文字段进行匹配;将匹配成功的日志输出至日志调用请求所指定的输出端口,如输出至文本文件、数据库及RPC(RemoteProcedureCallProtocol,远程过程调用协议)接口中。日志库112存储应用服务的日志数据。一个应用服务对应一个日志组件和日志库。配置中心服务器200在整个服务器集群中同步所有应用服务器中日志组件的配置数据。配置中心服务器200保存并更新集群中所有应用服务的日志组件的配置数据,例如,对服务器集群中的第一应用服务器中的第一日志组件,配置中心服务器200定时轮询第一日志组件的订阅信息中包括的版本号(即第一日志组件的配置数据中的版本号)与配置中心服务器保存的对应的配置数据中的版本号是否一致,当版本号不一致时,向第一日志组件发送版本更新提示信息,以及,根据该版本更新提示信息将新的配置数据发送至第一日志组件。相应的,第一日志组件会向配置中心服务器发送订阅信息,该订阅信息包括配置数据中的版本号;当该订阅信息中包括的版本号与配置中心服务器中保存的对应的配置数据中的版本号不一致时,接收配置中心服务器发送的版本更新提示信息;根据版本更新提示信息从配置中心服务器获取新的配置数据并启用该新的配置数据。其中,在本实施例所描述的集群环境下,配置中心服务器200所使用的日志的配置数据主要包含以下内容:1:级别(Level)信息:从低到高分别为:调用跟踪(TRACE)日志、调试(DEBUG)日志、业务(INFO)日志、警告(WARN)日志、错误(ERROR)日志。当待输出的日志的级别大于或等于当前配置的允许输出的日志级别时,输出该日志。日志可以按照应用标记的名字区分不同的级别。2:输出器(Appender):将日志信息输出到持久化设备或RPC接口的输出器。输出方式包含文本输出、数据库输出和RPC输出。3:过滤器(Filter):用于对日志进行过滤,以判断该日志是否需要输出。在日志是否输出的判断上,先判断过滤器,如果所本文档来自技高网...

【技术保护点】
PCT国内申请,权利要求书已公开。

【技术特征摘要】
【国外来华专利技术】1.一种服务器集群下的日志提取方法,包括:第一日志组件在将第一应用服务的日志记录至对应的第一日志库时,根据配置数据获取与所述日志关联的用户和/或业务的信息,并将所述信息记录在为所述日志设置的上下文字段中;所述第一日志组件根据第一应用服务接收到的请求端的日志调用请求,获知所述日志调用请求中的输出表达式,所述输出表达式用于指示与请求调用的日志关联的用户和/或业务的信息满足的条件;所述第一日志组件将所述输出表达式与所述第一日志库中保存的日志的上下文字段进行匹配;所述第一日志组件将匹配成功的日志输出至所述日志调用请求所指定的输出端口。2.根据权利要求1所述的方法,其中,所述方法还包括:所述第一日志组件向配置中心服务器发送订阅信息,所述订阅信息包括第一日志组件的配置数据中的版本号;当所述订阅信息中的版本号与配置中心服务器中对应的配置数据中的版本号不一致时,所述第一日志组件接收配置中心服务器发送的版本更新提示信息;所述第一日志组件根据所述版本更新提示信息从配置中心服务器获取新的配置数据并启用该新的配置数据。3.根据权利要求1所述的方法,其中,所述方法还包括:当第一应用服务调用第二应用服务时,应用服务间的调用组件将所述日志调用请求指定的输出端口和对应的输出表达式包含在应用服务调用请求中发送至第二应用服务;第二日志组件将所述输出表达式与第二应用服务对应的第二日志库中保存的日志的上下文字段进行匹配;所述第二日志组件将第二日志库中匹配成功的日志输出至所述日志调用请求所指定的输出端口。4.根据权利要求1至3任一项所述的方法,其中,所述方法还包括:对没有匹配成功的日志,第一日志组件判断所述日志的级别是否大于或等于当前配置的允许输出的日志级别,若是,第一日志组件将所述日志输出至所述日志调用请求所指定的输出端口,若否,第一日志组件不输出所述日志。5.根据权利要求1所述的方法,其中,所述将第一应用服务的日志记录至对应的第一日志库包括:将第一应用服务为满足采样策略的业务请求生成的日志记录至对应的第一日志库,其中,所述采样策略至少包括下述的一种:随机记录应用服务对业务请求生成的日志;或者,记录应用服务为特定用户的业务请求生成的日志;或者,记录应用服务为特定IP地址的业务请求生成的日志。6.根据权利要求1所述的方法,其中,所述将匹配成功的日志输出至所述日志调用请求所指定的输出端口包括:将匹配成功的日志输出至所述日志调用请求指定的日志分析及测试服务器的输出端口,以将所述日志展示在日志分析及测试服务器的交互界面进行错误排查。7.一种服务器集群,包括多个应用服务器,所述应用服务器中包括第一应用服务器,所述第一应用服务器包括第一应用服务、第一日志组件和第一日志库;所述第一应用服务,用于承载业务,接收来自请求端的业务请求并处理;所述第一日志库,用于存储第一应用服务...

【专利技术属性】
技术研发人员:吕明伟
申请(专利权)人:北京新媒传信科技有限公司
类型:发明
国别省市:北京;11

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

1