CN111130905A - 基于分布式集群的日志级别动态调整方法 - Google Patents

基于分布式集群的日志级别动态调整方法 Download PDF

Info

Publication number
CN111130905A
CN111130905A CN201911404697.8A CN201911404697A CN111130905A CN 111130905 A CN111130905 A CN 111130905A CN 201911404697 A CN201911404697 A CN 201911404697A CN 111130905 A CN111130905 A CN 111130905A
Authority
CN
China
Prior art keywords
log level
message
log
name
instance
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
Application number
CN201911404697.8A
Other languages
English (en)
Inventor
滕飞
李昭
陈浩
高靖
崔岩
卢述奇
陈呈
张宵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingwutong Co ltd
Original Assignee
Qingwutong Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qingwutong Co ltd filed Critical Qingwutong Co ltd
Priority to CN201911404697.8A priority Critical patent/CN111130905A/zh
Publication of CN111130905A publication Critical patent/CN111130905A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于分布式集群的日志级别动态调整方法,包括步骤客户端启动,扫描本地的日志记录器信息;分布式集群内的每一个应用程序均向日志级别调整服务端同步实例日志级别信息;参数合法性的校验后发送广播主题消息到消息中间件;消息中间件发送日志级别调整消息到客户端;判断消息中的应用程序名称是否与本地配置应用程序名称符合、本地实例IP是否在消息体中的列表中、消息中的令牌是否与本地的令牌相符,对分布式集群内的全部应用程序进行日志级别调整;如果消息中的日志记录器名称合法且日志级别调整成功,将实例最新的日志级别信息同步到日志级别调整服务端。本发明通过分布式集群统一管理日志级别。

Description

基于分布式集群的日志级别动态调整方法
技术领域
本发明涉及计算机技术领域,更具体地,涉及一种基于分布式集群的日志级别动态调整方法。
背景技术
随着网络系统管理平台领域的快速发展,业务复杂度不断增加,线上系统环境有任何细小波动,对整个外卖业务都可能产生巨大的影响,甚至形成灾难性的雪崩效应,造成巨大的经济损失。如何提高排查问题的效率呢?最有效的方式是通过分析系统日志。如果系统日志全面,会为我们排查解决线上问题带来绝大的帮助,但是要想保证系统日志全面,就必须打印出所有的系统或业务日志。这样就会带来另一个问题,那就是日志量的暴涨,过多的日志除了能够帮助解决问题外,同时会直接造成系统性能下降,极端情况下,甚至导致系统宕机。在这种背景下,为了兼顾性能和快速响应线上问题,需要实时调整线上日志输出级别。
现有技术中网络系统管理平台领域上的日志级别动态调整技术采用的都是:集群中的每个实例都提供http/https协议的日志级别调整接口,通过调取接口来调整日志级别,发明人发现现有技术中至少存在如下问题:
1、安全风险系数高:暴露http/https协议的日志级别调整接口,存在系统日志级别调整接口被恶意调用的风险,同时需暴露集群服务器的真实IP,存在安全隐患;
2、集群场景下操作重复繁琐,操作极其不友好:没有统一的界面用来实时观察应用集群下各个实例的日志级别状态;集群中包含多个实例,如果需要更改应用的日志级别,则需要拿到每台实例的IP,依次调用集群中每个实例的日志级别调整API,实现更改集群下应用日志级别的效果,实例越多,重复度越高;
不可复用:企业项目众多,每个项目都需单独开发提供日志级别调整接口,重复工作繁琐,效率低。
发明内容
有鉴于此,本发明提供了一种基于分布式集群的日志级别动态调整方法,应用于客户端和日志级别调整服务端,包括步骤:
客户端启动,扫描本地的日志记录器信息;
分布式集群内的每一个应用程序均向日志级别调整服务端同步实例日志级别信息;
所述日志级别调整服务端对其中一个实例日志级别信息进行验证参数合法性;
所述日志级别调整服务端进行参数合法性的校验后,发送广播主题消息到消息中间件,消息中包括目标应用程序名称,目标应用程序下的实例IP列表,目标日志记录器和更新的目标日志级别;
消息中间件发送日志级别调整消息到所述客户端;
所述客户端收到消息中间件发送的日志级别调整消息后,判断消息中的应用程序名称是否与本地配置应用程序名称符合,当判断消息中的应用程序名称与本地配置应用程序名称符合时,继续判断本地实例IP是否在消息体中的IP列表中,当判断本地实例IP在消息体中的IP列表中时,判断消息中的令牌是否与本地的令牌相符,当判断消息中的令牌与本地的令牌相符时,则根据消息中的日志记录器名称和日志记录器级别对分布式集群内的全部应用程序进行日志级别调整;
如果消息中的日志记录器名称合法且日志级别调整成功,将实例最新的日志级别信息同步到所述日志级别调整服务端。
可选的,扫描本地的日志记录器信息的同时,将所述日志记录器信息维护到名为LoggerMap的HashMap中,所述HashMap采用数组和链表的数据结构,存储的内容包括键值对key和value的映射,HashMap的key值为日志名称、value值为日志级别信息。
可选的,所述分布式集群内的每一个应用程序均向日志级别调整服务端同步实例日志级别信息,包括通过RPC接口或HTTP接口同步实例的日志级别信息到日志级别调整服务端,其中接口参数包括应用程序名称、实例IP、承载本实例日志级别信息的LoggerMap。
可选的,所述日志级别调整服务端对其中一个实例日志级别信息进行验证参数合法性包括:验证参数应用程序名称是否注册过,当应用程序名称已经注册过,则在一个事务中更新日志级别调整服务端日志级别消息标的数据,以应用程序名称和实例IP为条件删除所有日志记录器记录,然后将LoggerMap中的日志信息插入到表中。
可选的,其特征在于,还包括步骤验证参数应用程序名称是否注册过,当应用程序名称未注册过时,同步响应提示信息,进行应用程序注册。
可选的,其特征在于,所述消息中间件接收到广播主题消息后,将会保证该消息被每个监听该主题的客户端至少消费该消息一次。
可选的,其特征在于,当判断消息中的应用程序名称是否与本地配置APP名称符合、判断本地实例IP是否在消息体中的IP列表中、判断消息中的令牌是否与本地的令牌相符时,至少其中之一判断结果为不相符,客户端不消费该消息。
可选的,其特征在于,还包括:当本地实例中不存在日志记录器名称时,不更新日志级别,将实例最新的日志级别信息同步到日志级别调整服务端。
可选的,所述日志记录器根据行为包括的日志级别从高到低从分为:ERROR、WARN、INFO、DEBUG。
可选的,所述消息中间件采用发布/订阅模式进行异步数据传输。
与现有技术相比,本发明提供的基于分布式集群的日志级别动态调整方法,至少实现了如下的有益效果:
本发明通过分布式集群统一管理日志级别:集群下每个实例向日志管理后台注册日志级别信息,统一界面实时观察应用集群下各个实例的日志级别状态,用户一次操作可以修改指定APP的指定Logger下部分(一个或多个)实例(集群下的主机)的日志级别;
本发明无需重复开发,简单配置:使用此功能仅需引入工具jar包,监听日志级别管理平台的MQ主题,无额外开发工作,侵入性低;
本发明安全性隐秘性好:日志级别调整功能只允许由内网触发,同时保证每个系统都有单独的令牌,保证系统无法被他人更改日志级别。
当然,实施本发明的任一产品必不特定需要同时达到以上所述的所有技术效果。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是实施例1中基于分布式集群的日志级别动态调整方法流程图;
图2是实施例2中基于分布式集群的日志级别动态调整方法执行图;
图3是实施例2中日志级别调整服务端和App系统的交互图;
图4是实施例2中App实例启动时将日志级别信息注册到日志级别调整服务端的示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本发明中的APP即为应用程序,Logger即为日志记录器,MQ即为消息中间件,LoggerName即为日志记录器名称,LoggerLevel即为日志级别,token即为令牌。
实施例1:
结合图1,本实施例提供了一种基于分布式集群的日志级别动态调整方法,应用于客户端和日志级别调整服务端,包括以下步骤:
S1:客户端启动,扫描本地的日志记录器信息;
具体为:客户端启动,扫描本地的日志记录器Logger信息,并将日志记录器Logger信息维护到名为LoggerMap的HashMap中,HashMap的key值为日志名称、value值为日志级别信息;
日志记录器Logger根据行为包括的日志级别从高到低从分为:ERROR、WARN、INFO、DEBUG。
日志记录器(Logger)是日志处理的核心组件。通过定义的级别,可以控制到应用程序中相应级别的日志信息的开关。如定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来,也是说大于等于的级别的日志才输出。
HashMap采用数组和链表的数据结构,存储的内容包括键值对key和value的映射。
HashMap是一个散列桶(数组和链表),它存储的内容是键值对(key-value)映射,HashMap采用了数组和链表的数据结构,能在查询和修改方便继承了数组的线性查找和链表的寻址修改。HashMap是非synchronized,所以HashMap很快。HashMap可以接受null键和值,而Hashtable则不能(原因就是equlas()方法需要对象,因为HashMap是后出的API经过处理才可以)。
HashMap是基于hashing的原理,使用put(key,value)存储对象到HashMap中,使用get(key)从HashMap中获取对象。当给put()方法传递键和值时,先对键调用hashCode()方法,计算并返回的hashCode是用于找到Map数组的bucket位置来储存Node对象。HashMap是在bucket中储存键对象和值对象,作为Map.Node。
S2:分布式集群内的每一个应用程序均向日志级别调整服务端同步实例日志级别信息;
具体为通过RPC接口或HTTP接口同步实例的日志级别信息到日志级别调整服务端,其中接口参数包括APP名称、实例IP、承载本实例日志级别信息的LoggerMap;
分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。分布式是指将不同的业务分布在不同的地方;而集群指的是将几台服务器集中在一起,实现同一业务。分布式中的每一个节点,都可以做集群,而集群并不一定就是分布式的。
S3:日志级别调整服务端对其中一个实例日志级别信息进行验证参数合法性;
包括验证参数APP名称是否注册过,当APP名称已经注册过,则在一个事务中更新日志级别调整服务端日志级别消息标的数据,以APP名称和实例IP为条件删除所有Logger记录,然后将LoggerMap中的日志信息插入到表中;
还包括步骤验证参数APP名称是否注册过,当APP名称未注册过时,同步响应提示信息,进行APP注册。
S4:日志级别调整服务端进行参数合法性的校验后,发送广播主题消息到消息中间件,消息中包括目标应用程序名称,目标应用程序下的实例IP列表,目标日志记录器和更新的目标日志级别;
在一些可选的实施例中,消息中间件MQ接收到广播主题消息后,将会保证该消息被每个监听该主题的客户端至少消费该消息一次。
在一些可选的实施例中,消息中间件采用发布/订阅模式进行异步数据传输。当然消息中间件还可以采用点对点模式进行异步数据传输,这里不做具体限定。
消息中间件是利用高效可靠的消息传递机制进行异步的数据传输,并基于数据通信进行分布式系统的集成。通过提供消息队列模型和消息传递机制,可以在分布式环境下扩展进程间的通信。应用程序之间不采取直接通信,而是使用消息中间件作为中介,做到数据的异步通信。开发人员不需要考虑网络协议和远程调用的问题,只需要通过各消息中间件所提供的api,就可以简单的完成消息推送,和消息接收的业务功能。消息的生产者将消息存储到队列中,消息的消费者不一定马上消费消息,可以等到自己想要用到这个消息的时候,再从相应的队列中去获取消息。这样可以很好的解决大数据量数据传递所占用的资源,使数据传递和平台分开,不再需要分资源用于数据传输。
消息中间件一般有两种传递模式:点对点模式和发布/订阅模式。其中发布订阅模式是通过一个内容节点来发布和订阅消息,这个内容节点称为主题(topic),消息发布者将消息发布到某个主题,消息订阅者订阅这个主题的消息,主题相当于一个中介。主题是的消息的发布与订阅相互独立,不需要进行基础即可保证消息的传递,发布/订阅模式在消息的一对多广播是采用。
S5:消息中间件发送日志级别调整消息到客户端;
S6:客户端收到消息中间件发送的日志级别调整消息后,判断消息中的应用程序名称是否与本地配置应用程序名称符合,当判断消息中的应用程序名称与本地配置应用程序名称符合时,继续判断本地实例IP是否在消息体中的IP列表中,当判断本地实例IP在消息体中的IP列表中时,判断消息中的令牌是否与本地的令牌相符,当判断消息中的令牌与本地的令牌相符时,则根据消息中的日志记录器名称和日志记录器级别对分布式集群内的全部应用程序进行日志级别调整;
客户端通过token机制保证MQ消息的可靠性;日志级别调整客户端在本地自定义token,使用人员在服务端系统调整目标APP的目录级别时,需要输入目标APP的token值,客户端通过判断MQ消息中的token值与本地配置值是否相同来确认消息是否合法。
S7:如果消息中的日志记录器名称合法且日志级别调整成功,将实例最新的日志级别信息同步到日志级别调整服务端。
当判断消息中的APP名称是否与本地配置APP名称符合、判断本地实例IP是否在消息体中的IPList列表中、判断消息中的令牌token是否与本地的令牌token相符时,至少其中之一判断结果为不相符,客户端不消费该消息。
还包括:当本地实例中不存在LoggerName时,不更新日志级别,将实例最新的日志级别信息同步到日志级别调整服务端。
实施例2
参照图2至图4,本实施例为应用实施例。
如图3为服务端(即日志级别调整服务端)与APP系统内部交互过程,具体系统整体方案流程如图2,详细方案流程如下:
1、客户端启动时,扫描本地的Logger信息,并把Logger信息维护到一个名为LoggerMap的HashMap中,key值为日志名字,value值为日志级别信息,然后通过RPC接口或HTTP接口同步实例日志级别信息到服务端系统,接口参数包括APP名称,实例IP,承载本实例日志级别信息的LoggerMap;(如图4)
2、服务端接收到客户端请求,验证参数APPName是否在服务器注册过,如果未注册,同步响应提示信息,联系服务端管理员进行APP注册;如果APPName已经注册过,则在一个事务中更新服务端日志级别消息标的数据,以APPName,IP为条件删除所有Logger记录,然后将LoggerMap中的日志信息插入到表中;
3、日志级别调整服务端进行过参数合法性的校验后,发送广播主题的消息到MQ,消息中包含目标APP的名称,目标APP下的实例IP列表IPList,目标LoggerName和更新的目标日志级别LoggerLevel;消息中间件接收到广播消息后,将会保证该消息被每个监听该主题的客户端至少消费该消息一次;
4、客户端收到MQ日志级别调整消息后,判断消息中的APPName是否与本地配置APPName符合,继续判断本机实例IP是否在消息体中的IPList列表中,接着判断消息体中的token是否与本地的token相符;以上逻辑按顺序执行,如果任意一个判断逻辑不通过,则不消费此消息;token值与本地相同则根据消息体中的LoggerName、LoggerLevel进行日志级别调整,如果LoggerName合法且日志级别调整成功,将实例最新的日志级别信息同步到服务端;如果本实例中不存在该LoggerName,不更新日志级别,直接把实例最新的日志级别信息同步到服务端;
5、客户端通过token机制保证MQ消息的可靠性;日志级别调整客户端在本地自定义token,使用人员在服务端系统调整目标APP的目录级别时,需要输入目标APP的token值,客户端通过判断MQ消息中的token值与本地配置值是否相同来确认消息是否合法。
以下对图3日志级别动态调整系统进行说明:
参照图3,对某APP集群内进行日志级别的动态调整,首先集群内的每一个APP都会向服务端同步日志级别信息;此处选择一个APP进行日志进程阐述,日志级别管理平台的某个APP将收集到的应用程序日志信息分解成相应的项目数据包,然后发送日志级别调整消息,消息发送到queue消息队列进行储存,等待客户端的接收;客户端接收消息后,根据消息内容调整日志级别到APP集群中;整体结构形成一个循环的体系,实现分布式集群的日志级别动态调整。
本发明可以实现企业中多个系统的日志级别统一管理:MQ在广播模式(发布订阅模式)下会将每条消息推送给集群内所有注册过的客户端,保证了日志级别调整消息至少被每台机器消费一次。每个客户端通过消息中的APPName过滤出本应用需要消费的日志级别调整消息;MQ的重试机制保证了客户端日志级别调整后的最新消息同步到服务端的可靠性。
本发明可以实现日志级别集群实例批量更新:服务端发送的MQ消息中,包含目标APPName值和IPlist列表;客户端接收到MQ消息时,通过APPName过滤出本APP的消息后,判断本实例的IP是否在IPlist列表中,如果当前实例IP在IPlist列表中则消费该消息,否则不消费该消息;此方案利用了MQ发布订阅特性,通过IP过滤的方式,只有实例IP在IPlist列表中的部分实例会消费消息,由此达到了集群中实例批量更新日志级别的效果。
本发明能够实现安全的调整日志级别:
a、网络隔离:日志级别调整服务端系统内部部署在企业内网,企业统一的MQ服务也部署在企业内网中,操作人员必须连接公司内网进行登录操作,登录后才可以进行日志级别修改操作,同时,服务端系统会记录操作日志;此方案通过网络隔离杜绝了公司之外的人员恶意调用系统日志级别接口的行为,由此也防止了大部分非安全因素;
b、token机制:每个APP客户端人员自定义的token只有本系统人员知晓,token认证的方式防止了系统日志级别被非本系统人员操作,在网络隔离的基础上,保证了内网环境中的安全性。
4、日志级别调整服务端与客户端消息通讯:客户端通过RPC接口或HTTP接口向服务端系统注册日志级别信息;服务端通过MQ通知客户端修改日志级别,服务端发送广播(发布订阅)模式的MQ主题,客户端获取日志级别修改消息。
通过上述实施例可知,本发明提供的基于分布式集群的日志级别动态调整方法,至少实现了如下的有益效果:
本发明通过分布式集群统一管理日志级别:集群下每个实例向日志管理后台注册日志级别信息,统一界面实时观察应用集群下各个实例的日志级别状态,用户一次操作可以修改指定APP的指定Logger下部分(一个或多个)实例(集群下的主机)的日志级别;
本发明无需重复开发,简单配置:使用此功能仅需引入工具jar包,监听日志级别管理平台的MQ主题,无额外开发工作,侵入性低;
本发明安全性隐秘性好:日志级别调整功能只允许由内网触发,同时保证每个系统都有单独的令牌,保证系统无法被他人更改日志级别。
虽然已经通过例子对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上例子仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。

Claims (10)

1.一种基于分布式集群的日志级别动态调整方法,其特征在于,应用于客户端和日志级别调整服务端,包括步骤:
客户端启动,扫描本地的日志记录器信息;
分布式集群内的每一个应用程序均向日志级别调整服务端同步实例日志级别信息;
所述日志级别调整服务端对其中一个实例日志级别信息进行验证参数合法性;
所述日志级别调整服务端进行参数合法性的校验后,发送广播主题消息到消息中间件,消息中包括目标应用程序名称,目标应用程序下的实例IP列表,目标日志记录器名称和更新的目标日志级别;
消息中间件发送日志级别调整消息到所述客户端;
所述客户端收到消息中间件发送的日志级别调整消息后,判断消息中的应用程序名称是否与本地配置应用程序名称符合,当判断消息中的应用程序名称与本地配置应用程序名称符合时,继续判断本地实例IP是否在消息体中的IP列表中,当判断本地实例IP在消息体中的IP列表中时,判断消息中的令牌是否与本地的令牌相符,当判断消息中的令牌与本地的令牌相符时,则根据消息中的日志记录器名称和日志记录器级别对分布式集群内的全部应用程序进行日志级别调整;
如果消息中的日志记录器名称合法且日志级别调整成功,将实例最新的日志级别信息同步到所述日志级别调整服务端。
2.根据权利要求1所述的基于分布式集群的日志级别动态调整方法,其特征在于,扫描本地的日志记录器信息的同时,将所述日志记录器信息维护到名为LoggerMap的HashMap中,所述HashMap采用数组和链表的数据结构,存储的内容包括键值对key和value的映射,HashMap的key值为日志名称、value值为日志级别信息。
3.根据权利要求2所述的基于分布式集群的日志级别动态调整方法,其特征在于,所述分布式集群内的每一个应用程序均向日志级别调整服务端同步实例日志级别信息,包括通过RPC接口或HTTP接口同步实例的日志级别信息到日志级别调整服务端,其中接口参数包括应用程序名称、实例IP、承载本实例日志级别信息的LoggerMap。
4.根据权利要求2所述的基于分布式集群的日志级别动态调整方法,其特征在于,所述日志级别调整服务端对其中一个实例日志级别信息进行验证参数合法性包括:验证参数应用程序名称是否注册过,当应用程序名称已经注册过,则在一个事务中更新日志级别调整服务端日志级别消息标的数据,以应用程序名称和实例IP为条件删除所有日志记录器记录,然后将LoggerMap中的日志信息插入到表中。
5.根据权利要求1所述的基于分布式集群的日志级别动态调整方法,其特征在于,还包括步骤验证参数应用程序名称是否注册过,当应用程序名称未注册过时,同步响应提示信息,进行应用程序注册。
6.根据权利要求1所述的基于分布式集群的日志级别动态调整方法,其特征在于,所述消息中间件接收到广播主题消息后,将会保证该消息被每个监听该主题的客户端至少消费该消息一次。
7.根据权利要求1所述的基于分布式集群的日志级别动态调整方法,其特征在于,当判断消息中的应用程序名称是否与本地配置APP名称符合、判断本地实例IP是否在消息体中的IP列表中、判断消息中的令牌是否与本地的令牌相符时,至少其中之一判断结果为不相符,客户端不消费该消息。
8.根据权利要求1所述的基于分布式集群的日志级别动态调整方法,其特征在于,还包括:当本地实例中不存在日志记录器名称时,不更新日志级别,将实例最新的日志级别信息同步到日志级别调整服务端。
9.根据权利要求1所述的基于分布式集群的日志级别动态调整方法,其特征在于,所述日志记录器根据行为包括的日志级别从高到低从分为:ERROR、WARN、INFO、DEBUG。
10.根据权利要求1所述的基于分布式集群的日志级别动态调整方法,其特征在于,所述消息中间件采用发布/订阅模式进行异步数据传输。
CN201911404697.8A 2019-12-31 2019-12-31 基于分布式集群的日志级别动态调整方法 Pending CN111130905A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911404697.8A CN111130905A (zh) 2019-12-31 2019-12-31 基于分布式集群的日志级别动态调整方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911404697.8A CN111130905A (zh) 2019-12-31 2019-12-31 基于分布式集群的日志级别动态调整方法

Publications (1)

Publication Number Publication Date
CN111130905A true CN111130905A (zh) 2020-05-08

Family

ID=70505982

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911404697.8A Pending CN111130905A (zh) 2019-12-31 2019-12-31 基于分布式集群的日志级别动态调整方法

Country Status (1)

Country Link
CN (1) CN111130905A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111796935A (zh) * 2020-06-29 2020-10-20 中国工商银行股份有限公司 调用日志信息的消费实例分配方法及系统
CN111966519A (zh) * 2020-08-07 2020-11-20 苏州浪潮智能科技有限公司 一种调整日志级别的方法、装置、设备及可读介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140279918A1 (en) * 2013-03-15 2014-09-18 Yahoo! Inc. Method and system for data-triggered dynamic log level control
CN106681891A (zh) * 2015-11-05 2017-05-17 阿里巴巴集团控股有限公司 一种Java应用系统中调整日志级别的方法及装置
CN108804279A (zh) * 2018-03-30 2018-11-13 阿里巴巴集团控股有限公司 修改日志打印等级的方法及应用设备
CN108846070A (zh) * 2018-06-07 2018-11-20 北京京东尚科信息技术有限公司 分布式系统的日志处理方法、系统、电子设备和存储介质
CN108897659A (zh) * 2018-06-06 2018-11-27 腾讯音乐娱乐科技(深圳)有限公司 修改日志级别的方法、装置及存储介质
CN109032881A (zh) * 2017-06-09 2018-12-18 武汉斗鱼网络科技有限公司 一种日志级别动态调整方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140279918A1 (en) * 2013-03-15 2014-09-18 Yahoo! Inc. Method and system for data-triggered dynamic log level control
CN106681891A (zh) * 2015-11-05 2017-05-17 阿里巴巴集团控股有限公司 一种Java应用系统中调整日志级别的方法及装置
CN109032881A (zh) * 2017-06-09 2018-12-18 武汉斗鱼网络科技有限公司 一种日志级别动态调整方法及装置
CN108804279A (zh) * 2018-03-30 2018-11-13 阿里巴巴集团控股有限公司 修改日志打印等级的方法及应用设备
CN108897659A (zh) * 2018-06-06 2018-11-27 腾讯音乐娱乐科技(深圳)有限公司 修改日志级别的方法、装置及存储介质
CN108846070A (zh) * 2018-06-07 2018-11-20 北京京东尚科信息技术有限公司 分布式系统的日志处理方法、系统、电子设备和存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111796935A (zh) * 2020-06-29 2020-10-20 中国工商银行股份有限公司 调用日志信息的消费实例分配方法及系统
CN111796935B (zh) * 2020-06-29 2023-08-08 中国工商银行股份有限公司 调用日志信息的消费实例分配方法及系统
CN111966519A (zh) * 2020-08-07 2020-11-20 苏州浪潮智能科技有限公司 一种调整日志级别的方法、装置、设备及可读介质
WO2022028058A1 (zh) * 2020-08-07 2022-02-10 苏州浪潮智能科技有限公司 一种调整日志级别的方法、装置、设备及可读介质
CN111966519B (zh) * 2020-08-07 2023-06-06 苏州浪潮智能科技有限公司 一种调整日志级别的方法、装置、设备及可读介质

Similar Documents

Publication Publication Date Title
US10645181B2 (en) Meta broker for publish-subscribe-based messaging
US9578081B2 (en) System and method for providing an actively invalidated client-side network resource cache
US9425973B2 (en) Resource-based synchronization between endpoints in a web-based real time collaboration
US9137172B2 (en) Managing multiple proxy servers in a multi-tenant application system environment
EP2771803B1 (en) File fetch from a remote client device
US20130067024A1 (en) Distributing multi-source push notifications to multiple targets
US20190124141A1 (en) Technologies for low latency messaging
CN111970315A (zh) 推送消息的方法、装置及系统
US10169434B1 (en) Tokenized HTTP event collector
US11829381B2 (en) Data source metric visualizations
WO2021232197A1 (zh) 设备状态监控方法、装置、设备及存储介质
CN113839977B (zh) 消息推送方法、装置、计算机设备及存储介质
US8326913B2 (en) Method and system for service contract discovery
CN114024972A (zh) 一种长连接通信方法、系统、装置、设备及存储介质
CN111130905A (zh) 基于分布式集群的日志级别动态调整方法
US11019036B2 (en) Method for privacy protection
US20080034008A1 (en) User side database
US11722481B2 (en) Multiple identity provider authentication system
US10742619B1 (en) Secure authentication for a computing environment
CN111182066A (zh) 基于token认证的日志级别动态调整方法
CN111371615A (zh) 在线服务器、运维工具的更新方法及系统和可读存储介质
US10972570B2 (en) Restful method and apparatus to import content by geo-aware content caching service
CN114443940A (zh) 一种消息订阅方法、装置及设备
CN113778709B (zh) 接口调用方法、装置、服务器及存储介质
CN115632815A (zh) 一种数据的更新方法、装置、电子设备及存储介质

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
AD01 Patent right deemed abandoned
AD01 Patent right deemed abandoned

Effective date of abandoning: 20221216