CN110399271B - 日志处理设备、方法、电子设备及计算机可读存储介质 - Google Patents

日志处理设备、方法、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN110399271B
CN110399271B CN201910693836.7A CN201910693836A CN110399271B CN 110399271 B CN110399271 B CN 110399271B CN 201910693836 A CN201910693836 A CN 201910693836A CN 110399271 B CN110399271 B CN 110399271B
Authority
CN
China
Prior art keywords
log
cache
cluster
unit
information
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.)
Active
Application number
CN201910693836.7A
Other languages
English (en)
Other versions
CN110399271A (zh
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN201910693836.7A priority Critical patent/CN110399271B/zh
Publication of CN110399271A publication Critical patent/CN110399271A/zh
Application granted granted Critical
Publication of CN110399271B publication Critical patent/CN110399271B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开提供了一种日志处理设备,包括:日志采集装置,用于采集一个或多个应用的日志数据,日志缓存装置,用于将来自日志采集装置的日志数据缓存至缓存集群,并监控所述缓存集群的存储资源使用情况,以及控制调度装置,用于在根据日志缓存装置监控的缓存集群的存储资源使用情况,确定对缓存集群进行扩容的情况下,向日志缓存装置发送扩容指令,接收来自日志缓存装置扩容后的缓存集群的集群信息,以及向日志采集装置发送扩容后的缓存集群的集群信息。本公开还提供了一种日志处理方法、一种电子设备及一种计算机可读存储介质。本公开可以在不干扰应用容器运行的情况下,实现了日志缓存层的负载均衡自适应调整及日志采集层的负载动态调整。

Description

日志处理设备、方法、电子设备及计算机可读存储介质
技术领域
本公开涉及互联网技术领域,更具体地,涉及一种日志处理设备、一种日志处理方法、一种电子设备及一种计算机可读存储介质。
背景技术
随着云平台技术的不断成熟和大规模推广使用,越来越多的开发者将应用及其所依赖的环境打包到容器中运行,而日志作为记录容器运行状态的重要信息,得到了人们越来越多的重视。
集中式容器日志采集存储架构主要包含日志采集层、日志缓存层、日志消费层和日志存储层四个部分。随着容器数目的持续增多,缓存层、消费层和存储层需横向扩展为多个集群才能满足爆发式增长的日志采集需求。
集中式容器日志采集架构主要包含日志采集层、日志缓存层两个部分。随着容器数目的持续增多,缓存层需横向扩展为多个集群才能满足爆发式增长的日志采集需求。
在目前的日志采集架构下,日志采集容器通常需要重新生成才能加载最新配置,导致编排在一起的应用容器也需一同重启,影响了业务连续性和用户感知。
发明内容
本公开提供了一种日志处理设备、一种日志处理方法、一种电子设备及一种计算机可读存储介质,以解决现有容器日志采集容器需要重新生成才能加载最新配置而影响了业务连续性和用户感知的问题。
本公开的一个方面提供了一种日志处理设备,包括:日志采集装置,用于采集一个或多个应用的日志数据;日志缓存装置,用于将来自所述日志采集装置的日志数据缓存至缓存集群,并监控所述缓存集群的存储资源使用情况;以及控制调度装置,用于:在根据所述日志缓存装置监控的缓存集群的存储资源使用情况,确定对所述缓存集群进行扩容的情况下,向所述日志缓存装置发送用于对所述缓存集群进行扩容的扩容指令;接收来自所述日志缓存装置扩容后的缓存集群的集群信息;以及向所述日志采集装置发送所述扩容后的缓存集群的集群信息。
可选地,所述日志采集装置包括:负载重新分配单元,用于接收由所述控制调度装置发送的所述扩容后的缓存集群的集群信息,并调用负载均衡单元;以及负载均衡单元,用于根据所述扩容后的缓存集群的集群信息和所述日志缓存装置的容器启动特征信息,确定采集的日志数据在所述缓存集群中的缓存地址。
可选地,所述日志采集装置还包括:采集编排单元,用于确定日志采集路径、日志解析格式、日志编码格式以及对外暴露所述日志采集容器自身的调用端口。
可选地,所述日志采集装置还包括:配置生成单元,用于根据所述负载均衡单元和所述采集编排单元提供的信息,生成配置文件。
可选地,所述日志缓存装置包括:数据缓存单元,用于缓存所述日志采集装置发送的日志数据;以及监控报警单元,用于监控所述缓存集群的存储资源使用情况,并根据所述存储资源使用情况确定是否向所述控制调度装置发送报警信息。
可选地,所述监控报警单元通过监控以下信息中的至少之一,以监控所述缓存集群的存储资源使用情况:所述缓存集群的事务处理速率、连接数、存储占用情况。
可选地,所述日志缓存装置还包括:集群扩容单元,用于根据预设规则对所述缓存集群进行扩容和主机配置,并将扩容后的缓存集群的集群信息反馈给所述控制调度装置。
本公开的另一个方面提供了一种日志处理方法,包括:通过日志采集装置采集一个或多个应用的日志数据;通过日志缓存装置将来自所述日志采集装置的日志数据缓存至缓存集群,并监控所述缓存集群的存储资源使用情况;以及通过控制调度装置执行:在根据所述日志缓存装置监控的缓存集群的存储资源使用情况,确定对所述缓存集群进行扩容的情况下,向所述日志缓存装置发送用于对所述缓存集群进行扩容的扩容指令;接收来自所述日志缓存装置扩容后的缓存集群的集群信息;以及向所述日志采集装置发送所述扩容后的缓存集群的集群信息。
本公开的另一方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个指令,其中,当所述一个或多个指令被所述一个或多个处理器执行时,使得所述一个或多个处理器实现第二方面所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,其上存储有可执行指令,所述指令在被执行时用于实现如上第二方面所述的方法。
根据本公开的实施例,通过日志采集装置采集一个或多个应用的日志数据,通过日志缓存装置将来自日志采集装置的日志数据缓存至缓存集群,并监控缓存集群的存储资源使用情况,以及通过控制调度装置,在根据日志缓存装置监控的缓存集群的存储资源使用情况,确定对缓存集群进行扩容的情况下,向日志缓存装置发送用于对缓存集群进行扩容的扩容指令,接收来自日志缓存装置扩容后的缓存集群的集群信息,以及向日志采集装置发送扩容后的缓存集群的集群信息。上述方法通过控制调度装置将缓存集群进行扩容后的集群信息发送给日志采集装置,在不干扰应用容器运行和影响用户感知的情况下,实现了日志缓存层的负载均衡自适应调整、日志采集层的负载动态调整。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的一种日志处理设备的系统架构框图;
图2示意性示出了根据本公开实施例的另一种日志处理设备的系统架构框图;
图3示意性示出了根据本公开实施例的日志采集装置的结构框图;
图4示意性示出了根据本公开实施例的日志缓存装置的结构框图;
图5示意性示出了根据本公开实施例的控制调度装置的结构框图;
图6示意性示出了根据本公开实施例的日志消费装置的结构框图;
图7示意性示出了根据本公开实施例的日志存储装置的结构框图;
图8示意性示出了根据本公开实施例的日志处理方法的流程图;以及
图9示意性示出了根据本公开实施例的电子设备的结构框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
本文中涉及的术语解释如下:
容器:是指一种在资源隔离的过程中,运行应用程序和其依赖项的、轻量的、操作系统级别的虚拟化技术。该技术将运行应用程序所需的所有必要组件都打包为单个镜像,这个镜像是可以重复使用的。当镜像运行时,它是运行在独立的环境中,并不会和其他的应用共享主机操作系统的内存,CPU或磁盘。这保证了容器内的进程不会影响到容器外的任何进程。容器包括操作系统容器和应用程序容器。
日志数据:是指应用程序执行的过程中产生的的执行记录、异常信息记录、错误记录、业务轨迹记录、时间记录等。
本公开的实施例提供了一种日志处理设备、一种日志处理方法、一种电子设备及一种计算机可读存储介质,该方法通过日志采集装置采集一个或多个应用的日志数据,通过日志缓存装置将来自日志采集装置的日志数据缓存至缓存集群,并监控缓存集群的存储资源使用情况,以及通过控制调度装置,在根据日志缓存装置监控的缓存集群的存储资源使用情况,确定对缓存集群进行扩容的情况下,向日志缓存装置发送用于对缓存集群进行扩容的扩容指令,接收来自日志缓存装置扩容后的缓存集群的集群信息,以及向日志采集装置发送扩容后的缓存集群的集群信息。
上述方法通过控制调度装置将缓存集群进行扩容后的集群信息发送给日志采集装置,在不干扰应用容器运行和影响用户感知的情况下,实现了日志缓存层的负载均衡自适应调整、日志采集层的负载动态调整。
图1示意性示出了根据本公开实施例的一种日志处理设备示例性系统架构框图。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,本公开实施例的一种日志处理设备的系统架构100,包括:日志采集装置101、日志缓存装置102及控制调度装置103。
日志采集装置101用于采集一个或多个应用的日志数据。
日志缓存装置102用于将来自日志采集装置101的日志数据缓存至缓存集群,并监控所述缓存集群的存储资源使用情况。
控制调度装置103用于:在根据日志缓存装置102监控的缓存集群的存储资源使用情况,确定对缓存集群进行扩容的情况下,向日志缓存装置102发送用于对缓存集群进行扩容的扩容指令;接收来自日志缓存装置102扩容后的缓存集群的集群信息;以及向日志采集装置101发送扩容后的缓存集群的集群信息。根据本实施方式的日志处理设备的系统架构100,每一个日志采集装置101、日志缓存装置102及控制调度装置103均可以为一个容器,且数量可以为多个。
日志采集装置101可以与应用容器编排在一起。日志采集装置101可以基于本地存储的应用容器配置信息,以确定采集日志路径、解析规则,进行日志数据的采集。
缓存集群的存储资源使用情况可以包括缓存集群的事务处理速率、连接数、存储占用情况等。
日志缓存装置102将来自日志采集装置101的日志数据缓存至缓存集群。日志缓存装置102实时监控各缓存集群的资源使用情况,当缓存遇到瓶颈时,报警至控制调度装置103,并根据控制调度装置103的扩容指令,对缓存集群的进行扩容新增,并将新增的缓存集群信息反馈至控制调度装置103。
下面对控制调度装置103的工作进行详细描述。
控制调度装置103将存储日志缓存装置102的集群信息,提供给日志采集装置101,使日志采集装置101将采集到的日志数据发送给日志缓存装置102。
当控制调度装置103接收日志缓存装置102的报警,控制调度装置103根据日志缓存装置102监控的缓存集群的存储资源使用情况,确定对缓存集群进行扩容的情况下,向日志缓存装置102发送扩容指令,使日志缓存装置102完成扩容,接收日志缓存装置102完成扩容后最新的集群信息,并将日志缓存装置102完成扩容后最新的集群信息转发至日志采集装置101,使日志采集装置101根据日志缓存装置102最新的集群信息完成负载的重新均衡。
本公开的实施例提供了一种日志处理设备,包括日志采集装置101、日志缓存装置102及控制调度装置103。日志采集装置101用于采集一个或多个应用的日志数据。日志缓存装置102用于将来自日志采集装置101的日志数据缓存至缓存集群,并监控缓存集群的存储资源使用情况,以及控制调度装置103用于在确定对缓存集群进行扩容的情况下,向日志缓存装置102发送用于对缓存集群进行扩容的扩容指令,并向日志采集装置101发送扩容后的缓存集群的集群信息。在不干扰应用容器运行和影响用户感知的情况下,实现了日志缓存装置102的负载均衡自适应调整和日志采集装置101的负载动态调整。
图2示意性示出了根据本公开实施例的另一种日志处理设备的系统架构框图。
需要说明的是,如图2所示的日志处理设备的系统架构200是对图1所示的日志处理设备的系统架构100的进一步改进。本公开实施例的日志处理设备的系统架构200除了包括日志采集装置101、日志缓存装置102及控制调度装置103之外还可以包括:日志消费装置104和日志存储装置105。根据本公开的实施例,为了描述的简洁起见,其中,关于日志采集装置101、日志缓存装置102及控制调度装置103的描述,可以参考上述对附图1的描述,在此不再赘述。
日志消费装置104用于获取来自日志缓存装置102的日志数据,并确定日志数据的存储地址。
日志存储装置105用于将来自日志消费装置104的日志数据存储至与确定的存储地址对应的存储集群,并监控存储集群的存储资源使用情况。
控制调度装置103还可以用于将存储日志缓存装置102的集群信息,提供给日志消费装置104,使日志消费装置104从日志缓存装置102获取日志数据。控制调度装置105向日志消费装置104提供日志路由发送配置,使日志消费装置104根据解析的日志数据中特征字段的信息差别,将日志路由发送到日志存储装置105的不同集群,完成日志数据的存储。
图3示意性示出了根据本公开实施例的日志采集装置101的结构框图。
如图3所示,本公开实施例的日志采集装置101可以包括:负载重新分配单元1011、负载均衡单元1012、采集编排单元1013、配置生成单元1014。
负载重新分配单元1011用于接收由控制调度装置103发送的扩容后的缓存集群的集群信息,并调用负载均衡单元1012。
负载均衡单元1012用于根据扩容后的缓存集群的集群信息和日志缓存装置102的容器启动特征信息,确定采集的日志数据在缓存集群中的缓存地址。
采集编排单元1013用于确定日志采集路径、日志解析格式、日志编码格式以及对外暴露日志采集容器自身的调用端口。
配置生成单元1014用于根据负载均衡单元1012和采集编排单元1013提供的信息,生成配置文件。
在本实施方式中,负载重新分配单元1011部署了开源软件Fluentd,通过修改Fluentd源码,向控制调度装置103暴露HTTP端口,通过控制调度装置103解析HTTP请求,获取日志缓存装置102的缓存集群最新信息。缓存集群最新信息可以包括集群数目、各集群地址和各集群字符特征等信息。当从控制调度装置103获取的缓存集群信息有更新时,根据获取的信息调用负载均衡单元1012重新确定发送目的集群,并通过配置生成单元1014更新配置文件td-agent.conf,最后,向Fluentd采集进程发送HUP指令完成配置热加载。负载重新分配单元1011向控制调度装置103暴露的HTTP端口定义示例如表1所示。
表1
Figure BDA0002147394060000091
负载均衡单元1012根据负载重新分配单元1011从控制调度装置103中获取日志缓存装置102的缓存集群的信息,通过负载均衡算法重新实现负载均衡。
负载均衡算法可以实现日志缓存装置102中各缓存集群连接的日志采集容器数目尽可能相等。假设总共有N个日志采集容器,缓存集群的数目为M,通过负载均衡算法,使每个缓存集群连接的日志采集数目尽可能接近N/M,M和N均为正整数。负载均衡算法可以有多种方式实现,可以包括基于日志容器的启动时间平均、基于日志容器所在的宿主机IP平均、基于容器ID进行平均等。以基于容器启动时的随机ID进行平均为例,将64位容器ID可能的字符(包括数字0-9和小写字母a-z)映射为数字(0-35),将容器ID映射的数字求和,并除以缓存集群总数取余,根据获得的余数决定该日志容器发送的目的缓存集群。
采集编排单元1013用于自定义配置应用容器的日志采集路径、日志解析格式、日志编码格式以及日志采集容器自身的HTTP调用端口等信息。具体配置信息示例如表2所示。
表2
Figure BDA0002147394060000101
配置生成单元1014部署了开源软件Fluentd,基于采集编排单元1013和负载均衡单元1012提供的相关信息,生成最终的完整配置文件td-agent.conf,完成日志采集发送。
配置文件可以包含HTTP调用端口配置、采集文件及格式配置、辅助信息添加配置和发送配置等。
图4示意性示出了根据本公开实施例的日志缓存装置102的结构框图。
如图4所示,本公开实施例的日志缓存装置102可以包括:数据缓存单元1021、监控报警单元1022和集群扩容单元1023。
数据缓存单元1021用于缓存日志采集装置101发送的日志数据。
监控报警单元1022用于监控缓存集群的存储资源使用情况,并根据缓存集群的存储资源使用情况确定是否向控制调度装置103发送报警信息。
集群扩容单元1023用于根据预设规则对缓存集群进行扩容和主机配置,并将扩容后的缓存集群的集群信息反馈给控制调度装置103。
数据缓存单元1021缓存日志采集装置101发送的日志数据,并可以提供历史缓存数据的定期清理机制。
监控报警单元1022通过监控以下信息中的至少之一,以监控缓存集群的存储资源使用情况:缓存集群的事务处理速率、连接数、存储占用情况。
在本实施方式中,监控报警单元1022主要监控缓存集群的事务处理速率、连接数、存储占用情况,以及各宿主机的CPU、内存、IO等情况。当缓存集群的资源使用出现瓶颈时,例如,各集群连接数超过阈值,监控报警单元1022将发送报警信息至控制调度装置103。
集群扩容单元1023内预设了扩容缓存集群的规模和主机配置(即预设规则),以实现缓存集群的标准化,并固化为部署模板。集群扩容单元1023向供控制调度装置103提供调用接口,当接收到控制调度装置103发送的扩容指令时,根据扩容指令快速部署开通新的缓存集群。待完成后,集群扩容单元1023将集群信息反馈给控制调度装置103。
缓存集群部署模板包含的主机配置信息示例如表3所示。
表3
Figure BDA0002147394060000111
扩容指从控制调度装置103传入集群扩容单元1023的参数和集群扩容单元1023完成扩容后反馈给控制调度装置103的参数示例如表4所示。
表4
Figure BDA0002147394060000121
图5示意性示出了根据本公开实施例的控制调度装置103的结构框图。
如图5所示,本公开实施例的控制调度装置103可以包括:采集管控单元1031、数据存储1032、扩容调度单元1033。
采集管控单元1031用于从数据存储单元1032中获取日志缓存集群相关配置信息,提供给日志采集装置101均衡负载使用;封装API请求调用日志采集装置101的负载重新分配单元1011,实现采集端负载均衡。
数据存储单元1032用于持久化存储日志缓存装置102的集群配置信息。
扩容调度单元1033用于接收日志缓存装置102的资源报警,根据报警信息,发送扩容指令至日志缓存装置102,以及,将日志缓存装置102返回的扩容结果信息存入数据存储单元1032,并调用采集管控单元1031实现日志采集装置101的负载重分配。
图6示意性示出了根据本公开实施例的日志消费装置104的结构框图。
如图6所示,本公开实施例的日志消费装置104可以包括消费解析单元1041和数据发送单元1042。
消费解析单元1041用于从日志缓存装置102中消费日志数据,解析成可写入日志消费存储装置105的格式。
数据发送单元1042用于将解析后的日志数据写入日志存储装置105中。
在本实施方式中,日志消费装置容器化部署了开源软件Logstash。
消费解析单元1041在启动时,从控制调度装置103中获取日志缓存装置102的集群信息,生成消费解析配置。从日志缓存装置102的数据缓存单元1021消费日志数据,并将日志数据解析成特定格式,如JSON格式和XML格式等。
路由发送单元1042从解析后的日志数据中提取特征字段,根据该字段值的不同,路由发送日志数据至日志存储装置105中的不同存储集群。
图7示意性示出了根据本公开实施例的日志存储装置105的结构框图。
如图7所示,本公开实施例的日志存储装置105包括归集存储单元1051。
归集存储单元1051用于统一存储日志消费装置104写入的日志数据,同时提供快速查询聚合的服务。
图8示意性示出了根据本公开实施例的日志处理方法的流程图。
如图8所示,本公开实施例的日志处理方法可以包括步骤S801~步骤S805,对该方法的描述参照参照图1~图7的装置说明。
步骤S801,通过日志采集装置101采集一个或多个应用的日志数据。
日志数据是指应用程序执行的过程中产生的的执行记录、异常信息记录、错误记录、业务轨迹记录、时间记录等。
在本实施方式中,日志采集装置101可以与应用容器编排在一起。日志采集装置101可以基于本地存储的应用容器配置信息,以确定采集日志路径、解析规则,进行日志数据的采集。
步骤S802,通过日志缓存装置102将来自日志采集装置101的日志数据缓存至缓存集群,并监控缓存集群的存储资源使用情况。
缓存集群的存储资源使用情况可以包括缓存集群的事务处理速率、连接数、存储占用情况,以及各宿主机的CPU、内存、IO情况等。当缓存集群的资源使用出现瓶颈时,例如,各集群连接数超过阈值,日志缓存装置102将发送报警信息至控制调度装置103,以执行步骤S803。
日志缓存装置102通过监控报警单元1022向控制调度装置103报警。
步骤S803,控制调度装置103根据日志缓存装置102监控的缓存集群的存储资源使用情况,确定对缓存集群进行扩容的情况下,向日志缓存装置102发送用于对缓存集群进行扩容的扩容指令。
控制调度装置103通过扩容调度单元1033收到报警信息,根据报警信息,发送扩容指令至日志缓存装置102。
步骤S804,接收来自日志缓存装置102扩容后的缓存集群的集群信息。
缓存集群的信息可以包括集群数目、各集群地址和各集群字符特征等信息。
日志缓存装置102集群扩容单元1023完成缓存集群扩容后,向控制调度装置103反馈新的缓存集群的信息。
在本实施方式中,控制调度装置103通过扩容调度单元1033接收日志缓存装置102返回的新的缓存集群的信息,并将接收到的信息存入数据存储单元1032。
步骤S805,向日志采集装置101发送扩容后的缓存集群的集群信息。
根据本公开实施例的一个示例,控制调度装置103的扩容调度单元1033在收到新的缓存集群信息后,调用采集管控单元1031向日志采集装置101发送负载重分配请求,使日志采集装置101进行扩容,处理方法还可以包括以下步骤。
日志采集装置101的负载重新分配单元1011接收由控制调度装置103发送的扩容后的缓存集群的集群信息,解析收到的集群信息,并调用负载均衡单元1012。
日志采集装置101的负载均衡单元1012根据扩容后的缓存集群的集群信息和日志缓存装置102的容器启动特征信息,确定采集的日志数据在缓存集群中的缓存地址。
日志缓存装置102的容器启动特征信息可以包括容器的启动时间、容器所在的宿主机IP、容器ID等。
基于扩容后的缓存集群的集群信息和日志缓存装置102的容器启动特征信息,负载均衡单元1012根据负载均衡算法,重新计算该日志采集装置发送的目的缓存集群。
日志采集装置101的配置生成单元1014根据负载均衡单元1012和采集编排单元1013提供的信息,生成配置文件。
配置文件可以包含HTTP调用端口配置、采集文件及格式配置、辅助信息添加配置和发送配置等。
在生成配置文件后,日志采集装置101根据新的配置文件向日志缓存装置发送日志数据。
日志缓存装置102将来自日志采集装置101的日志数据缓存至缓存集群,在此之后,本公开实施例的日志处理方法还可以包括以下步骤。
日志消费装置104从日志缓存装置102的数据缓存单元1021中消费入职数据,并将日志数据写入日志存储装置105。
日志存储装置105接收日志数据,完成日志数据的归集存储。
本公开的实施例提供了一种日志处理方法,通过日志采集装置101采集一个或多个应用的日志数据,通过日志缓存装置102将来自日志采集装置101的日志数据缓存至缓存集群,以及通过控制调度装置103在确定对缓存集群进行扩容的情况下,向日志缓存装置102发送用于对缓存集群进行扩容的扩容指令,并向日志采集装置101发送扩容后的缓存集群的集群信息。在不干扰应用容器运行的情况下,该方法实现了日志缓存装置102的负载均衡自适应调整和日志采集装置101的负载动态调整。
图9示意性示出了根据本公开实施例的电子设备的结构框图。
如图9所示,电子设备900包括处理器910、计算机可读存储介质920。该电子设备900可以执行上面参考图8描述的方法。
具体地,处理器910例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器910还可以包括用于缓存用途的板载存储器。处理器910可以是用于执行参考图8描述的根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质920,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
计算机可读存储介质920可以包括计算机程序921,该计算机程序921可以包括代码/计算机可执行指令,其在由处理器910执行时使得处理器910执行例如上面结合图8所描述的方法流程及其任何变形。
计算机程序921可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序921中的代码可以包括一个或多个程序模块,例如包括921A、模块921B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器910执行时,使得处理器910可以执行例如上面结合图8所描述的方法流程及其任何变形。
根据本发明的实施例,日志采集装置101、日志缓存装置102及控制调度装置103中的至少一个可以实现为参考图9描述的计算机程序模块,其在被处理器910执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (10)

1.一种日志处理设备,包括:
日志采集装置,用于采集一个或多个应用的日志数据;
日志缓存装置,用于将来自所述日志采集装置的日志数据缓存至缓存集群,并监控所述缓存集群的存储资源使用情况;以及
控制调度装置,用于:
在根据所述日志缓存装置监控的缓存集群的存储资源使用情况,确定对所述缓存集群进行扩容的情况下,向所述日志缓存装置发送用于对所述缓存集群进行扩容的扩容指令;
接收来自所述日志缓存装置扩容后的缓存集群的集群信息;以及
向所述日志采集装置发送所述扩容后的缓存集群的集群信息;
其中,所述控制调度装置包括:
数据存储单元,用于持久化存储所述日志缓存装置的缓存集群的集群信息;
采集管控单元,用于从所述数据存储单元中获取所述缓存集群的集群信息,提供给所述日志采集装置均衡负载使用;
扩容调度单元,用于接收所述日志缓存装置的资源报警,根据报警信息,发送扩容指令至所述日志缓存装置,以及,将所述日志缓存装置返回的扩容结果信息存入所述数据存储单元,并调用采集管控单元实现日志采集装置的负载重分配。
2.根据权利要求1所述的设备,其中,所述日志采集装置包括:
负载重新分配单元,用于接收由所述控制调度装置发送的所述扩容后的缓存集群的集群信息,并调用负载均衡单元;以及
所述负载均衡单元,用于根据所述扩容后的缓存集群的集群信息和所述日志缓存装置的容器启动特征信息,确定采集的日志数据在所述缓存集群中的缓存地址。
3.根据权利要求1或2所述的设备,其中,所述日志采集装置还包括:
采集编排单元,用于确定日志采集路径、日志解析格式、日志编码格式以及对外暴露所述日志采集容器自身的调用端口。
4.根据权利要求3所述的设备,其中,所述日志采集装置还包括:
配置生成单元,用于根据所述负载均衡单元和所述采集编排单元提供的信息,生成配置文件。
5.根据权利要求4所述的设备,其中,所述日志缓存装置包括:
数据缓存单元,用于缓存所述日志采集装置发送的日志数据;以及
监控报警单元,用于监控所述缓存集群的存储资源使用情况,并根据所述存储资源使用情况确定是否向所述控制调度装置发送报警信息。
6.根据权利要求5所述的设备,其中,所述监控报警单元通过监控以下信息中的至少之一,以监控所述缓存集群的存储资源使用情况:
所述缓存集群的事务处理速率、连接数、存储占用情况。
7.根据权利要求5所述的设备,其中,所述日志缓存装置还包括:
集群扩容单元,用于根据预设规则对所述缓存集群进行扩容和主机配置,并将扩容后的缓存集群的集群信息反馈给所述控制调度装置。
8.一种日志处理方法,包括:
通过日志采集装置采集一个或多个应用的日志数据;
通过日志缓存装置将来自所述日志采集装置的日志数据缓存至缓存集群,并监控所述缓存集群的存储资源使用情况;以及
通过控制调度装置执行:
在根据所述日志缓存装置监控的缓存集群的存储资源使用情况,确定对所述缓存集群进行扩容的情况下,向所述日志缓存装置发送用于对所述缓存集群进行扩容的扩容指令;
接收来自所述日志缓存装置扩容后的缓存集群的集群信息;以及
向所述日志采集装置发送所述扩容后的缓存集群的集群信息;
其中,所述控制调度装置包括:
数据存储单元,用于持久化存储所述日志缓存装置的缓存集群的集群信息;
采集管控单元,用于从所述数据存储单元中获取所述缓存集群的集群信息,提供给所述日志采集装置均衡负载使用;
扩容调度单元,用于接收所述日志缓存装置的资源报警,根据报警信息,发送扩容指令至所述日志缓存装置,以及,将所述日志缓存装置返回的扩容结果信息存入所述数据存储单元,并调用采集管控单元实现日志采集装置的负载重分配。
9.一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个指令,
其中,当所述一个或多个指令被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求8所述的方法。
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求8所述的方法。
CN201910693836.7A 2019-07-29 2019-07-29 日志处理设备、方法、电子设备及计算机可读存储介质 Active CN110399271B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910693836.7A CN110399271B (zh) 2019-07-29 2019-07-29 日志处理设备、方法、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910693836.7A CN110399271B (zh) 2019-07-29 2019-07-29 日志处理设备、方法、电子设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110399271A CN110399271A (zh) 2019-11-01
CN110399271B true CN110399271B (zh) 2022-03-18

Family

ID=68326627

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910693836.7A Active CN110399271B (zh) 2019-07-29 2019-07-29 日志处理设备、方法、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN110399271B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111258722B (zh) * 2020-02-14 2023-01-10 苏州浪潮智能科技有限公司 一种集群的日志采集方法、系统、设备以及介质
CN111625423A (zh) * 2020-05-27 2020-09-04 网神信息技术(北京)股份有限公司 日志处理方法、装置、系统、介质、及程序
CN111796770B (zh) * 2020-06-30 2024-02-27 中国工商银行股份有限公司 日志路由负载均衡实现方法及装置
CN111796769B (zh) * 2020-06-30 2024-02-27 中国工商银行股份有限公司 云平台日志存储系统扩容方法及装置
CN112988511B (zh) * 2021-03-12 2023-02-21 山东英信计算机技术有限公司 一种日志信息收集方法、系统、存储介质及设备
CN117332881B (zh) * 2023-11-27 2024-04-05 荣耀终端有限公司 分布式训练方法及电子设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9170928B1 (en) * 2013-12-31 2015-10-27 Symantec Corporation I/O scheduling and load balancing across the multiple nodes of a clustered environment
CN105183609B (zh) * 2015-09-16 2017-03-15 焦点科技股份有限公司 一种应用于软件系统的实时监控系统及方法
CN106936623A (zh) * 2015-12-31 2017-07-07 五八同城信息技术有限公司 分布式缓存系统及缓存集群的管理方法
CN106682097B (zh) * 2016-12-01 2020-06-05 北京奇虎科技有限公司 一种处理日志数据的方法和装置
CN109597567B (zh) * 2017-09-30 2022-03-08 网宿科技股份有限公司 一种数据处理方法和装置
CN108282522B (zh) * 2018-01-15 2021-01-08 吉浦斯信息咨询(深圳)有限公司 基于动态路由的数据存储访问方法及系统
CN108712296A (zh) * 2018-06-07 2018-10-26 郑州云海信息技术有限公司 一种基于分布式的日志监控装置及方法

Also Published As

Publication number Publication date
CN110399271A (zh) 2019-11-01

Similar Documents

Publication Publication Date Title
CN110399271B (zh) 日志处理设备、方法、电子设备及计算机可读存储介质
KR102624607B1 (ko) 고성능 ssd들을 사용하여 롱 테일 레이턴시를 감소시키기 위한 랙-레벨의 스케줄링
JP6689873B2 (ja) プロセッサ/コプロセッサ構成に対するデータのオフローディング及びオンローディングのための技術
CN110399272B (zh) 日志处理设备、方法、电子设备及计算机可读存储介质
US20220261661A1 (en) Methods, systems, articles of manufacture and apparatus to improve job scheduling efficiency
CN110413585B (zh) 日志处理设备、方法、电子设备及计算机可读存储介质
US20110258634A1 (en) Method for Monitoring Operating Experiences of Images to Improve Workload Optimization in Cloud Computing Environments
US20170293443A1 (en) Providing service address space for diagnostics collection
CN109284180B (zh) 一种任务调度方法、装置、电子设备及存储介质
US10860364B2 (en) Containerized management services with high availability
US20230136661A1 (en) Task scheduling for machine-learning workloads
US9766995B2 (en) Self-spawning probe in a distributed computing environment
US8539453B2 (en) Autonomic I/O tracing and performance tuning
CN111611086A (zh) 信息处理方法、装置、电子设备和介质
Ulm et al. OODIDA: on-board/off-board distributed real-time data analytics for connected vehicles
US20180089055A1 (en) Method and apparatus for monitoring logs
WO2020104693A1 (en) System, devices and method for execution of tasks in an internet-of-things (iot) environment
KR20170031131A (ko) 가상 스트림 및 처리 에이전트를 이용한 스트림 기반 이벤트 처리 기법
US9772877B2 (en) Managing I/O operations in a shared file system
US20210149726A1 (en) Scheduling device, scheduling system, scheduling method, and non-transitory computer-readable medium
US20180083846A1 (en) Service level management of a workload defined environment
CN113127158B (zh) 用于执行数据处理任务的方法及装置
KR101820269B1 (ko) 마이그레이션 방법 및 시스템
US9436523B1 (en) Holistic non-invasive evaluation of an asynchronous distributed software process
US11343134B1 (en) System and method for mitigating analytics loads between hardware devices

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
GR01 Patent grant
GR01 Patent grant