CN110413585B - 日志处理设备、方法、电子设备及计算机可读存储介质 - Google Patents
日志处理设备、方法、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110413585B CN110413585B CN201910693769.9A CN201910693769A CN110413585B CN 110413585 B CN110413585 B CN 110413585B CN 201910693769 A CN201910693769 A CN 201910693769A CN 110413585 B CN110413585 B CN 110413585B
- Authority
- CN
- China
- Prior art keywords
- log
- storage
- cluster
- unit
- alarm
- 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
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/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (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用于:
在根据日志存储装置监控的存储集群的存储资源使用情况,确定对存储集群进行扩容的情况下,向日志存储装置发送用于对存储集群进行扩容的扩容指令;
接收来自日志存储装置扩容后的存储集群的集群信息;以及
向日志消费装置发送扩容后的存储集群的集群信息。
根据本实施方式的日志处理设备的系统架构100,每一个日志消费装置101、日志存储装置102及控制调度装置103均可以为一个容器,且数量可以为多个。
日志消费装置101在启动时,可以从控制调度装置103中获取对应的缓存集群信息,从日志缓存装置中的某一缓存集群读取并解析日志数据,并从控制调度装置103中获取统一的日志路由发送配置,通过解析日志数据中特征字段的信息差别,将日志数据发送到日志存储装置102的不同集群。日志消费装置101还可以实时监测控制调度装置103的更新通知,当发现自身的路由发送配置滞后于控制调度装置103时,更新加载自身配置。
日志存储装置102可以向控制调度装置103提供各类型数据的存储和增长情况查询接口,供控制调度装置103分析决策。当日志数据的存储遇到瓶颈时,日志存储装置102报警至控制调度装置103,并根据控制调度装置103的扩容指令,对存储集群进行扩容新增,并将新增集群信息反馈至控制调度装置103。
下面对控制调度装置103的工作进行详细描述。
控制调度装置103将存储日志缓存装置的集群信息,提供日志消费装置101,使日志消费装置101从日志缓存装置获取日志数据。控制调度装置103向日志消费装置101提供日志路由发送配置,使日志消费装置101根据解析的日志数据中特征字段的信息差别,将日志路由发送到日志存储装置102的不同集群。
当控制调度装置103接收日志存储装置102的报警,控制调度装置103在根据日志存储装置102监控的存储集群的存储资源使用情况,确定对存储集群进行扩容的情况下,通过算法决策执行集群扩容和路由调整,包括向日志存储装置102发送用于对存储集群进行扩容的扩容指令,重新生成日志消费装置101的路由发送配置,通知各日志消费装置101完成配置更新。
本公开提供的一种日志处理设备,通过日志消费装置101获取来自日志缓存装置的日志数据,并确定日志数据的存储地址,通过日志存储装置102将来自所述日志消费装置101的日志数据存储至与确定的存储地址对应的存储集群,并监控存储集群的存储资源使用情况,以及通过控制调度装置103在确定对存储集群进行扩容的情况下,向日志存储装置102发送扩容指令,并向日志消费装置101发送扩容后的存储集群的集群信息。本公开可以在不影响用户查询日志便利性的情况下,实现日志存储装置各集群之间的负载均衡自适应调整。
图2示意性示出了根据本公开实施例的另一种日志处理设备的系统架构。
需要说明的是,如图2所示的日志处理设备的系统架构200是对图1所示的日志处理设备的系统架构100的进一步改进。本公开实施例的日志处理设备的系统架构200除了包括日志消费装置101、日志存储装置102及控制调度装置103之外,还可以包括:日志采集装置104和日志缓存装置105。根据本公开的实施例,为了描述的简洁起见,其中,关于日志消费装置101、日志存储装置102及控制调度装置103的描述,可以参考上述对附图1的描述,在此不再赘述。
日志采集装置104用于基于应用配置信息生成日志采集配置文件,将日志数据发送至日志缓存装置105。
日志缓存装置105用于缓存日志采集装置104所发送的日志,并将数据提供给日志消费装置101消费,以及,将缓存集群配置信息提供给控制调度装置103存储。
控制调度装置103还可以用于将存储日志缓存装置105的集群信息,提供给日志采集装置104,使日志采集装置104将采集到的日志数据发送给日志缓存装置105,使日志消费装置101从日志缓存装置105获取日志数据。
图3示意性示出了根据本公开实施例的日志消费装置101的结构框图。
如图3所示,本公开实施例的日志消费装置101可以包括:消费解析单元1011、路由发送单元1012、更新检测单元1013。
具体的,消费解析单元1011用于对日志数据进行解析,并生成特定格式的日志数据。
路由发送单元1012用于从特定格式的日志数据中提取特征字段,根据特征字段确定日志数据的存储地址,并根据存储地址将日志数据路由发送给日志存储装置102的对应存储集群中。
更新检测单元1013用于按照预定时间间隔调用控制调度装置103的路由发送配置文件的更新通知接口,以解析更新通知时间,并基于更新通知时间将当前路由发送配置文件替换为最新路由发送配置文件。
本公开实施方式中,日志消费装置101上容器化部署了开源软件Logstash。
消费解析单元1011在启动时,从控制调度装置103中获取日志缓存装置105的集群信息,生成消费解析配置。从日志缓存装置105获取到日志数据后,消费解析单元1011将日志数据解析成特定格式,如JSON格式和XML格式等。
路由发送单元1012从解析后的日志数据中提取特征字段,根据该字段值的不同,路由发送日志数据至日志存储装置102中的不同存储集群。
更新检测单元1013按照预定时间间隔,定时调用控制调度装置103的路由发送配置文件的更新通知接口,解析通知更新时间。如果通知更新时间晚于路由发送单元1012配置文件的更新时间,则更新检测单元1013调用控制调度装置103的配置更新接口,获取最新配置文件替换当前配置,并调用路由发送单元1012按新配置向日志存储装置102发送数据。
图4示意性示出了根据本公开实施例的日志存储装置102的结构框图。
如图4所示,本公开实施例的日志存储装置102可以包括:数据存储单元1021、监控报警单元1022和集群扩容单元1023。
具体的,数据存储单元1021用于将来自日志消费装置101的日志数据存储至与确定的存储地址对应的存储集群。
监控报警单元1022用于对存储集群的资源使用情况进行监控,并根据存储资源使用情况确定是否向控制调度装置103发送报警信息,其中,监控报警单元1022还用于提供存储集群的日志分布情况和各类型日志增长情况查询接口。
集群扩容单元1023用于根据预设规则对存储集群进行扩容和主机配置,并将扩容后的存储集群的集群信息反馈给控制调度装置103。
监控报警单元1022通过监控以下信息中的至少之一,以监控存储集群的存储资源使用情况:存储集群的事务处理速率、连接数、存储占用情况。
监控报警单元还用于提供存储集群的日志分布情况和各类型日志增长情况查询接口。
在本公开实施方式中,日志存储装置102部署了开源软件ElasticSearch。
在本公开实施方式中,当存储集群的资源使用出现瓶颈时,例如,线程池被持续占满,导致写入请求拒绝率超过阈值时,监控报警单元1022发送报警信息至控制调度装置103。监控报警单元1022向控制调度装置103提供集群日志分布情况、各类型日志增长情况的查询接口,以使控制调度装置103查询存储集群的存储资源使用情况,在确定对存储集群进行扩容的情况下,控制调度装置103向集群扩容单元1023发送用于对存储集群进行扩容的扩容指令,使集群扩容单元1023根据扩容指令进行扩容。控制调度装置103通过监控报警单元1022提供的查询接口,获取的监控指标项列举如表1所示。
表1
指标数据名称 | 说明 |
集群状态 | 集群状态是否健康(green) |
磁盘空间 | 集群整体磁盘占用情况 |
线程池状态 | 线程池排队情况和拒绝接受(reject)情况 |
JVM垃圾回收 | 集群各节点JVM垃圾回收的频率和持续时间 |
I/O性能 | 集群各节点对磁盘写入和读取性能情况 |
数据分布情况 | 各类型日志占用存储大小和增长速度 |
集群扩容单元1023根据预设的扩容存储集群的规模和主机配置(即预设规则),以实现存储集群的标准化,并固化为部署模板。集群扩容单元1023向控制调度装置103提供服务接口,用于接收控制调度装置103发送的扩容指令,并根据扩容指令,利用云平台快速部署开通新的存储集群。待扩容完成后,集群扩容单元1023将新的集群信息反馈给控制调度装置103。集群扩容单元1023上预设的主机配置信息示例如表2所示。
表2
图5示意性示出了根据本公开实施例的控制调度装置103的结构框图。
如图5所示,本公开实施例的控制调度装置103可以包括:配置存储单元1031、路由生成单元1032、扩容调度单元1033、报警决策单元1034。
具体的,配置存储单元1031用于获取日志缓存装置105的缓存集群的配置信息,以生成配置文件,并向日志消费装置101提供配置文件,保存日志存储装置的各存储集群地址。
路由生成单元1032用于根据日志存储装置102的各存储集群地址和每个存储集群接收的对应日志类型,生成路由发送配置文件。
扩容调度单元1033用于调用日志存储装置102的扩容接口,并将新增存储集群的地址信息存入配置存储单元1031。
报警决策单元1034用于:
接收来自日志存储装置102的报警信息,根据报警信息确定报警集群规模,当报警集群规模涉及第一数量的存储集群时,通过日志存储装置102查询存储集群内各类型日志的分布和增速情况,按照预先设定的第一调整策略重新确定各存储集群接收的日志类型;
接收来自日志存储装置102的报警信息,根据报警信息确定报警集群规模,当报警集群规模涉及第二数量的存储集群时,调用扩容调度单元完成存储集群的新增扩容,再根据预先设定的第二调整策略确定新增扩容后的各存储集群接收的日志类型,并调用路由生成单元完成路由发送配置更新,其中,第一数量小于第二数量。
配置存储单元1031从日志缓存装置105获取的的缓存集群的配置信息可以包括代理地址(Broker)、字符特征(Topic)等,配置存储单元1031根据这些配置信息生成配置文件,提供给日志采集装置101、日志消费装置101使用。同时,配置存储单元1031保存日志存储装置102的各存储集群地址,提供给报警决策单元1034使用。
路由生成单元1032根据日志存储装置102的各存储集群地址,与每个集群对应接收的各类型日志,生成新的路由发送配置文件。日志存储装置的各存储集群地址,与每个集群对应接收的各类型日志示例如表3所示。
表3
扩容调度单元1033调用日志存储装置102中集群扩容单元1023提供的扩容接口,发送扩容指令,使集群扩容单元1023根据扩容指令进行存储集群新增扩容,并在完成扩容后将新增存储集群的地址信息存入配置存储单元1031。
在本实施方式中,报警决策单元1034接收日志存储装置102的报警信息存入配置存储单元1031,每隔固定时间(比如3分钟),从配置存储单元1031获取这段时间内的报警,分析报警集群规模。当报警集群规模涉及第一数量的存储集群时,例如,当发现报警仅涉及个别存储集群时,通过日志存储装置102查询集群内各类型日志的分布和增速情况,按照预先设定的第一调整策略重新确定各存储集群接收的日志类型,调用路由生成单元1032完成路由发送配置更新。当报警集群规模涉及第二数量的存储集群时,例如,当发现报警涉及所有存储集群时,调用扩容调度单元1033完成新增扩容,之后再根据预先设定的第二调整策略完成路由调整。
其中,第一调整策略可以为,基于报警集群内各类型日志的增速排序,将其中增速最快的3个类型日志平均分配给未报警集群。
其中,第二调整策略可以为,计算现有日志存储装置102的所有类型日志的增速情况并排序,按照顺序依次将各类型日志分配给各个存储集群,比如按照增速有快到慢对各类型日志的排序情况为log1、log2、log3和log4,对应的存储集群为es1、es2。那么调整分配后es1存储log1、log3类型的新增日志,es2存储log2、log4类型的新增日志。
图6示意性示出了根据本公开实施例的日志采集装置104的结构框图。
如图6所示,日志采集装置104可以包括:采集配置单元1041和数据发送单元1042。
采集配置单元1041用于配置应用容器的日志采集路径、日志解析格式、日志编码格式等,生成采集配置文件。
数据发送单元1042用于发送日志数据至日志缓存装置105。
图7示意性示出了根据本公开实施例的日志缓存装置105的结构框图。
如图7所示,日志缓存装置105可以包括:数据缓存单元1051和配置提供单元1052。
数据缓存单元1051用于缓存日志采集装置104发送的日志数据,提供给日志消费装置101消费,提供历史缓存数据的定期清理机制。
配置提供单元1052用于提供缓冲集群的代理地址(Broker)、字符特征(Topic)等配置信息的获取服务。
图8示意性示出了根据本公开实施例的日志处理方法的流程图。
如图8所示,本公开实施例的日志处理方法可以包括步骤S801~步骤S805,对该方法的描述参照参照图1~图7的装置说明。
在执行本公开实施例的日志处理方法之前,还可以包括以下步骤。
通过日志采集装置104采集一个或多个应用的日志数据。
通过日志缓存装置105将来自日志采集装置104的日志数据缓存至缓存集群。
在本实施方式中,日志采集装置104与应用容器编排在一起,日志采集装置104可以基于本地存储的应用容器配置信息,以确定采集日志路径、解析规则,进行日志数据的采集。
缓存集群的存储资源使用情况可以包括缓存集群的事务处理速率、连接数、存储占用情况,以及各宿主机的CPU、内存、IO情况。
当日志缓存装置105将来自日志采集装置104的日志数据缓存至缓存集群之后,可执行本公开实施例的日志处理方法步骤S801~步骤S805。
步骤S801,通过日志消费装置101获取来自日志缓存装置105的日志数据,并确定日志数据的存储地址。
日志消费装置101从控制调度装置103中获取统一的日志路由发送配置,该日志路由发送备值包含日志存储装置102不同集群的地址,根据根据日志数据中特征字段的信息差别,确认日志数据的存储地址。
步骤S802,通过日志存储装置102将来自日志消费装置101的日志数据存储至与确定的存储地址对应的存储集群,并监控存储集群的存储资源使用情况。
存储集群的存储资源使用情况可以包括:存储集群的事务处理速率、存储占用量、线程池使用量等。
当存储集群的资源使用出现瓶颈时,例如,线程池被持续占满,导致写入请求拒绝率超过阈值时,日志存储装置102发送报警信息至控制调度装置103,以执行步骤S803。
日志存储装置102通过监控报警单元1022向控制调度装置103报警。
步骤S803,控制调度装置103在根据日志存储装置102监控的存储集群的存储资源使用情况,确定对存储集群进行扩容的情况下,向日志存储装置102发送用于对存储集群进行扩容的扩容指令。
存储集群的存储资源使用情况可以包括存储集群的事务处理速率、连接数、存储占用情况。
控制调度装置103的报警决策单元1034接收到日志存储装置102的报警后,首先分析报警集群规模。
当发现报警仅涉及个别或少数几个存储集群时,通过日志存储装置102查询集群内各类型日志的分布和增速情况,基于报警集群内各类型日志的增速排序,将其中增速最快的几个类型日志平均分配给未报警集群,调用路由生成单元1032完成路由发送配置更新。
当报警集群规模涉及多个甚至所有存储集群时,控制调度装置103的报警决策单元1034调用扩容调度单元1033,向日志存储装置102发送扩容指令,使日志存储装置102的集群扩容单元1023进行新增扩容。
步骤S804,接收来自日志存储装置102扩容后的存储集群的集群信息。
控制调度装置103的扩容调度单元1033调用日志存储装置102的集群扩容单元1023完成存储集群新增扩容。当日志存储装置102完成扩容后,将扩容后的存储集群的集群信息发送给控制调度装置103。
步骤S805,向日志消费装置101发送扩容后的存储集群的集群信息。
控制调度装置103向日志消费装置101发送扩容后的存储集群的集群信息,使日志消费装置101获取新的日志路由发送配置,重新确认日志数据的存储地址。处理方法可以包括以下几个步骤。
控制调度装置103的报警决策单元1034通过日志存储装置102监控报警单元的1022获取日志分布和增速,生成路由调整策略并调用路由生成单元1032。
控制调度装置103的路由生成单元1032生成新的路由配置,更新通知接口时间戳信息。
日志消费装置101的更新检测单元1013通过控制调度装置103的路由生成单元1032,检测到配置更新,并下载替换最新配置文件。
当日志消费装置101完成配置更新后,日志消费装置101按照新的配置向日志存储装置102发送日志数据。处理方法可以包括以下步骤。
日志消费装置101的路由发送单元1012按照最新路由策略,发送日志数据至日志存储装置102。
日志存储装置102的数据存储单元1021接收到日志数据后,集中存储日志数据。
本公开提供的一种日志处理方法,通过日志消费装置101获取来自日志缓存装置105的日志数据,并确定日志数据的存储地址,通过日志存储装置102将来自日志消费装置101的日志数据存储至与确定的存储地址对应的存储集群,并监控存储集群的存储资源使用情况,以及通过控制调度装置103在确定对存储集群进行扩容的情况下,向日志存储装置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所描述的方法流程及其任伺变形。
根据本发明的实施例,日志采集装置104、日志缓存装置105、日志消费装置101、日志存储装置102及控制调度装置103中的至少一个可以实现为参考图8描述的计算机程序模块,其在被处理器910执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (9)
1.一种日志处理设备,包括:
日志消费装置,用于获取来自日志缓存装置的日志数据,并确定所述日志数据的存储地址;
日志存储装置,用于将来自所述日志消费装置的日志数据存储至与确定的存储地址对应的存储集群,并监控所述存储集群的存储资源使用情况;以及
控制调度装置,用于:
在根据所述日志存储装置监控的存储集群的存储资源使用情况,确定对所述存储集群进行扩容的情况下,向所述日志存储装置发送用于对所述存储集群进行扩容的扩容指令;
接收来自所述日志存储装置扩容后的存储集群的集群信息;以及
向所述日志消费装置发送所述扩容后的存储集群的集群信息;
其中,所述控制调度装置包括:
配置存储单元,用于获取所述日志缓存装置的缓存集群的配置信息,以生成配置文件,并向所述日志消费装置提供所述配置文件,保存所述日志存储装置的各存储集群地址;
路由生成单元,用于根据所述日志存储装置的各存储集群地址和每个存储集群接收的对应日志类型,生成路由发送配置文件;
扩容调度单元,用于调用所述日志存储装置的扩容接口,并将新增存储集群的地址信息存入所述配置存储单元;
报警决策单元,用于:
接收来自所述日志存储装置的报警信息,根据所述报警信息确定报警集群规模,当所述报警集群规模涉及第一数量的存储集群时,通过所述日志存储装置查询存储集群内各类型日志的分布和增速情况,按照预先设定的第一调整策略重新确定各存储集群接收的日志类型;
接收来自所述日志存储装置的报警信息,根据所述报警信息确定报警集群规模,当所述报警集群规模涉及第二数量的存储集群时,调用所述扩容调度单元完成所述存储集群的新增扩容,再根据预先设定的第二调整策略确定新增扩容后的各存储集群接收的日志类型,并调用所述路由生成单元完成路由发送配置更新,其中,所述第一数量小于所述第二数量。
2.根据权利要求1所述的设备,其中,所述日志消费装置包括:
消费解析单元,用于对所述日志数据进行解析,并生成特定格式的日志数据;以及
路由发送单元,用于从所述特定格式的日志数据中提取特征字段,根据所述特征字段确定所述日志数据的存储地址,并根据所述存储地址将所述日志数据路由发送给所述日志存储装置的对应存储集群中。
3.根据权利要求1所述的设备,其中,所述日志消费装置还包括:
更新检测单元,用于按照预定时间间隔调用所述控制调度装置的路由发送配置文件的更新通知接口,以解析更新通知时间,并基于所述更新通知时间将当前路由发送配置文件替换为最新路由发送配置文件。
4.根据权利要求1所述的设备,其中,所述日志存储装置包括:
数据存储单元,用于将来自所述日志消费装置的日志数据存储至与确定的存储地址对应的存储集群;以及
监控报警单元,用于对所述存储集群的资源使用情况进行监控,并根据所述存储资源使用情况确定是否向所述控制调度装置发送报警信息。
5.根据权利要求4所述的设备,其中,所述监控报警单元还用于提供所述存储集群的日志分布情况和各类型日志增长情况查询接口。
6.根据权利要求4所述的设备,其中,所述日志存储装置还包括:
集群扩容单元,用于根据预设规则对所述存储集群进行扩容和主机配置,并将扩容后的存储集群的集群信息反馈给所述控制调度装置。
7.一种日志处理方法,包括:
通过日志消费装置获取来自日志缓存装置的日志数据,并确定所述日志数据的存储地址;
通过日志存储装置将来自所述日志消费装置的日志数据存储至与确定的存储地址对应的存储集群,并监控所述存储集群的存储资源使用情况;以及
通过控制调度装置执行:
在根据所述日志存储装置监控的存储集群的存储资源使用情况,确定对所述存储集群进行扩容的情况下,向所述日志存储装置发送用于对所述存储集群进行扩容的扩容指令;
接收来自所述日志存储装置扩容后的存储集群的集群信息;以及
向所述日志消费装置发送所述扩容后的存储集群的集群信息;
其中,所述控制调度装置包括:配置存储单元、路由生成单元、扩容调度单元和报警决策单元;
所述方法还包括:
通过所述配置存储单元获取所述日志缓存装置的缓存集群的配置信息,以生成配置文件,并向所述日志消费装置提供所述配置文件,保存所述日志存储装置的各存储集群地址;
通过所述路由生成单元根据所述日志存储装置的各存储集群地址和每个存储集群接收的对应日志类型,生成路由发送配置文件;
通过所述扩容调度单元调用所述日志存储装置的扩容接口,并将新增存储集群的地址信息存入所述配置存储单元;
通过所述报警决策单元执行:
接收来自所述日志存储装置的报警信息,根据所述报警信息确定报警集群规模,当所述报警集群规模涉及第一数量的存储集群时,通过所述日志存储装置查询存储集群内各类型日志的分布和增速情况,按照预先设定的第一调整策略重新确定各存储集群接收的日志类型;
接收来自所述日志存储装置的报警信息,根据所述报警信息确定报警集群规模,当所述报警集群规模涉及第二数量的存储集群时,调用所述扩容调度单元完成所述存储集群的新增扩容,再根据预先设定的第二调整策略确定新增扩容后的各存储集群接收的日志类型,并调用所述路由生成单元完成路由发送配置更新,其中,所述第一数量小于所述第二数量。
8.一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个指令,
其中,当所述一个或多个指令被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求7所述的方法。
9.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求7所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910693769.9A CN110413585B (zh) | 2019-07-29 | 2019-07-29 | 日志处理设备、方法、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910693769.9A CN110413585B (zh) | 2019-07-29 | 2019-07-29 | 日志处理设备、方法、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110413585A CN110413585A (zh) | 2019-11-05 |
CN110413585B true CN110413585B (zh) | 2022-03-15 |
Family
ID=68364137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910693769.9A Active CN110413585B (zh) | 2019-07-29 | 2019-07-29 | 日志处理设备、方法、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110413585B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111258722B (zh) * | 2020-02-14 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种集群的日志采集方法、系统、设备以及介质 |
CN111444015A (zh) * | 2020-03-24 | 2020-07-24 | 北京奇艺世纪科技有限公司 | 服务器的控制方法、装置、计算机设备及存储介质 |
CN111796769B (zh) * | 2020-06-30 | 2024-02-27 | 中国工商银行股份有限公司 | 云平台日志存储系统扩容方法及装置 |
CN113918358A (zh) * | 2021-09-17 | 2022-01-11 | 远景智能国际私人投资有限公司 | 日志发送方法、装置及日志管理系统 |
Citations (5)
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 |
CN105183609A (zh) * | 2015-09-16 | 2015-12-23 | 焦点科技股份有限公司 | 一种应用于软件系统的实时监控系统及方法 |
CN107609129A (zh) * | 2017-09-18 | 2018-01-19 | 北京奇虎科技有限公司 | 日志实时处理系统 |
CN108712296A (zh) * | 2018-06-07 | 2018-10-26 | 郑州云海信息技术有限公司 | 一种基于分布式的日志监控装置及方法 |
CN109597567A (zh) * | 2017-09-30 | 2019-04-09 | 网宿科技股份有限公司 | 一种数据处理方法和装置 |
-
2019
- 2019-07-29 CN CN201910693769.9A patent/CN110413585B/zh active Active
Patent Citations (5)
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 |
CN105183609A (zh) * | 2015-09-16 | 2015-12-23 | 焦点科技股份有限公司 | 一种应用于软件系统的实时监控系统及方法 |
CN107609129A (zh) * | 2017-09-18 | 2018-01-19 | 北京奇虎科技有限公司 | 日志实时处理系统 |
CN109597567A (zh) * | 2017-09-30 | 2019-04-09 | 网宿科技股份有限公司 | 一种数据处理方法和装置 |
CN108712296A (zh) * | 2018-06-07 | 2018-10-26 | 郑州云海信息技术有限公司 | 一种基于分布式的日志监控装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110413585A (zh) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110413585B (zh) | 日志处理设备、方法、电子设备及计算机可读存储介质 | |
CN110399272B (zh) | 日志处理设备、方法、电子设备及计算机可读存储介质 | |
CN110399271B (zh) | 日志处理设备、方法、电子设备及计算机可读存储介质 | |
KR102624607B1 (ko) | 고성능 ssd들을 사용하여 롱 테일 레이턴시를 감소시키기 위한 랙-레벨의 스케줄링 | |
US11748154B2 (en) | Computing node job assignment using multiple schedulers | |
US11010205B2 (en) | Virtual network function resource allocation | |
CN105631026B (zh) | 一种安全数据分析系统 | |
US7890620B2 (en) | Monitoring system and monitoring method | |
KR101789962B1 (ko) | 이동 디바이스에서 거동 분석 동작들을 수행함으로써 애플리케이션 상태들을 추론하기 위한 방법 및 시스템 | |
US11106560B2 (en) | Adaptive thresholds for containers | |
US10977077B2 (en) | Computing node job assignment for distribution of scheduling operations | |
US20160246586A1 (en) | Methods and apparatus to manage application updates in a cloud environment | |
US20110258634A1 (en) | Method for Monitoring Operating Experiences of Images to Improve Workload Optimization in Cloud Computing Environments | |
US20130067267A1 (en) | Resource aware placement of applications in clusters | |
US10599529B2 (en) | Instantiating data queues for management of remote data stores | |
US10797938B2 (en) | Automatic monitoring, correlation, and resolution of network alarm conditions | |
CN112800017B (zh) | 分布式日志采集方法、装置、介质及电子设备 | |
KR20190066516A (ko) | 도커 컨테이너 관리 시스템 및 방법, 이를 수행하기 위한 기록매체 | |
US8365172B2 (en) | Horizontal scaling of stream processing | |
US20150264152A1 (en) | Dynamically instantiating dual-queue systems | |
CN104580194A (zh) | 面向视频应用的虚拟化资源管理方法及装置 | |
Liu et al. | Optimizing shuffle in wide-area data analytics | |
CN111796769B (zh) | 云平台日志存储系统扩容方法及装置 | |
US20230094964A1 (en) | Dynamic management of locations of modules of a platform hosted by a distributed system | |
CN111859139A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |