CN116760860A - 基于云计算的集群日志收集方法及相关设备 - Google Patents
基于云计算的集群日志收集方法及相关设备 Download PDFInfo
- Publication number
- CN116760860A CN116760860A CN202310707729.1A CN202310707729A CN116760860A CN 116760860 A CN116760860 A CN 116760860A CN 202310707729 A CN202310707729 A CN 202310707729A CN 116760860 A CN116760860 A CN 116760860A
- Authority
- CN
- China
- Prior art keywords
- cluster
- log
- node
- log data
- storage
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012790 confirmation Methods 0.000 claims abstract description 43
- 238000012544 monitoring process Methods 0.000 claims abstract description 31
- 230000015654 memory Effects 0.000 claims description 25
- 230000006835 compression Effects 0.000 claims description 11
- 238000007906 compression Methods 0.000 claims description 11
- 230000002776 aggregation Effects 0.000 claims description 10
- 238000004220 aggregation Methods 0.000 claims description 10
- 230000002159 abnormal effect Effects 0.000 claims description 9
- 230000004931 aggregating effect Effects 0.000 claims description 9
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 5
- 238000004378 air conditioning Methods 0.000 claims 1
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及云计算,提出一种基于云计算的集群日志收集方法、装置、电子设备及存储介质,基于云计算的集群日志收集方法包括:在Kubernetes集群的各个节点上部署采集容器,所述采集容器用于采集所述节点上的日志数据;监控所述采集容器的运行状态以获取多个节点日志数据集;将所有的节点日志数据集聚合后缓存至服务端的本地磁盘中获得集群日志文件;压缩所述集群日志文件并发送至集群数据库中进行存储获得确认返回值;基于所述确认返回值对所述服务端的本地磁盘中缓存的集群日志数据集进行删除。本申请能够减少由于日志数据量过大导致的系统资源被过多占用的情况,保证k8s集群的正常运行,进而有效提高集群日志的收集效率。
Description
技术领域
本申请涉及云计算技术领域,尤其涉及一种基于云计算的集群日志收集方法及相关设备,其中,相关设备包括基于云计算的集群日志收集装置、电子设备及存储介质。
背景技术
日志是指应用程序的运行过程中记录的一些与应用程序运行相关的信息,而应用程序往往需要被打包到一个可移植的容器中,才能发布到任何流行的linux机器上。随着计算机技术的发展,云计算在金融科技、数字医疗领域等的应用越来越广泛。而随着云计算的发展和企业(例如金融科技企业、数字医疗系统等)业务规模的扩大,部署的成百上千节点的大规模云环境成为必须应对的复杂情况,于是容器云管理工具kubernetes(k8s)应运而生。
然而,云计算环境提供服务需要众多组件的支撑,系统本身的组件会产生大量的日志数据,如负载均衡器、应用容器运行日志等,同时云环境中的应用生成的日志记录更是难记其数。目前许多日志系统都会使用filebeat或flume等开源组件来采集日志,但这些方式在面对大量的日志时会占用系统大量的资源,甚至影响到k8s集群的正常运行,从而降低了k8s集群的日志收集效率。
发明内容
鉴于以上内容,有必要提出一种基于云计算的集群日志收集方法及相关设备,以解决如何提高k8s集群的日志收集效率这一技术问题,其中,相关设备包括基于云计算的集群日志收集装置、电子设备及存储介质。
本申请提供一种基于云计算的集群日志收集方法,所述方法包括:
在Kubernetes集群的各个节点上部署采集容器,所述采集容器用于采集所述节点上的日志数据;
监控所述采集容器的运行状态以获取多个节点日志数据集;
将所有的节点日志数据集聚合后缓存至服务端的本地磁盘中获得集群日志文件;
压缩所述集群日志文件并发送至集群数据库中进行存储获得确认返回值;
基于所述确认返回值对所述服务端的本地磁盘中缓存的集群日志数据集进行删除。
在一些实施例中,所述在Kubernetes集群的各个节点上部署采集容器包括:
以DaemonSet形式在Kubernetes集群的各个节点上部署采集容器;
启动所述采集容器中的Fluent-bit程序以采集和转发所述节点上产生的日志数据;
在所述Kubernetes集群的服务端配置Fluentd组件以接收不同节点的Fluent-bit程序转发的日志数据。
在一些实施例中,所述监控所述采集容器的运行状态以获取多个节点日志数据集包括:
依据监控工具获取所述采集容器的运行状态;
基于所述运行状态启动Fluent-bit程序以采集各节点上产生的日志数据获得多个节点初始日志数据集;
基于所述监控工具对各节点初始日志数据集中的异常日志数据进行筛选获得多个节点日志数据集。
在一些实施例中,所述基于所述运行状态启动Fluent-bit程序以采集各节点上产生的日志数据获得多个节点初始日志数据集,包括:
依据固定周期检测所述节点的预设目录下的日志文件是否更新,所述预设目录下的日志文件用于存储所述节点上产生的日志数据;
当所述节点的预设目录下的日志文件更新时,则所述运行状态为日志更新,此时启动Fluent-bit程序对预设目录下的日志文件中新增的日志数据进行采集。
在一些实施例中,所述将所有的节点日志数据集聚合后缓存至服务端的本地磁盘中获得集群日志文件包括:
基于所述Fluentd组件聚合所有的节点日志数据集;
统一聚合后的所有节点日志数据集的日志数据格式;
将统一日志数据格式的所有节点日志数据集以文件形式缓存至服务端的本地磁盘中获得集群日志文件。
在一些实施例中,所述压缩所述集群日志文件并发送至集群数据库中进行存储获得确认返回值包括:
依据文件压缩工具压缩所述集群日志文件获得集群日志压缩文件;
将所述集群日志压缩文件划分为多个由固定数量的日志数据组成的数据包;
以http请求的方式将所有的数据包依次发送至集群数据库中进行存储,并获得所述集群数据库每次发送的确认返回值。
在一些实施例中,所述基于所述确认返回值对所述服务端的本地磁盘中缓存的集群日志数据集进行删除包括:
判断所述确认返回值与预设的存储确认返回值是否一致;
若所述确认返回值与预设的存储确认返回值一致,说明存储成功,将所述服务端的本地磁盘内缓存的集群日志数据集中已经存储成功的数据进行删除;
若所述确认返回值与预设的存储确认返回值不一致,说明存储失败,则将当前存储失败的数据包持续发送至集群数据库中进行存储,直到存储成功为止。
本申请实施例还提供一种基于云计算的集群日志收集装置,所述装置包括部署模块、监控模块、聚合模块、存储模块以及删除模块:
所述部署模块,用于在Kubernetes集群的各个节点上部署采集容器,所述采集容器用于采集所述节点上的日志数据;
所述监控模块,用于监控所述采集容器的运行状态以获取多个节点日志数据集;
所述聚合模块,用于将所有的节点日志数据集聚合后缓存至服务端的本地磁盘中获得集群日志文件;
所述存储模块,用于压缩所述集群日志文件并发送至集群数据库中进行存储获得确认返回值;
所述删除模块,用于基于所述确认返回值对所述服务端的本地磁盘中缓存的集群日志数据集进行删除。
本申请实施例还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;
处理器,执行所述存储器中存储的指令以实现所述的基于云计算的集群日志收集方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现所述的基于云计算的集群日志收集方法。
本申请通过在Kubernetes集群的各个节点上部署采集容器,并实时监控各采集容器的运行状态来及时获取Kubernetes集群中的日志数据,然后通过服务端的本地磁盘实现对采集到的日志数据的聚合及缓存,最终能够在将日志数据发送至集群数据库中进行存储后对所述服务端的本地磁盘中缓存的日志数据进行删除,从而减少由于日志数据量过大导致的系统资源被过多占用的情况,保证k8s集群的正常运行,进而有效提高集群日志的收集效率。
附图说明
图1是本申请所涉及的基于云计算的集群日志收集方法的较佳实施例的流程图。
图2是本申请所涉及的基于云计算的集群日志收集装置的较佳实施例的功能模块图。
图3是本申请所涉及的基于云计算的集群日志收集方法的较佳实施例的电子设备的结构示意图。
图4是本申请所涉及的Kubernetes集群的主要结构示意图。
具体实施方式
为了能够更清楚地理解本申请的目的、特征和优点,下面结合附图和具体实施例对本申请进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互结合。在下面的描述中阐述了很多具体细节以便于充分理解本申请,所述描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
本申请实施例提供一种基于云计算的集群日志收集方法,可应用于一个或者多个电子设备中,电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
电子设备可以是任何一种可与客户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备等。
电子设备还可以包括网络设备和/或客户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量主机或网络服务器构成的云。所述电子设备可以上传下载医疗数据,如个人健康档案、处方、检查报告等,或者可以上传下载业务数据、交易数据、支付数据等。
电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
如图1所示,是本申请基于云计算的集群日志收集方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
本申请提供的基于云计算的集群日志收集方法能够应用于任何一种需要对日志进行收集的场景中,比如数字医疗或者金融科技领域中的基于云计算的集群日志收集等。
在一个可选的实施例中,kubernetes(简称k8s)为Google开源的一个容器云管理工具,其中kubernetes集群包括众多的节点(Node),所述节点为kubernetes集群中的一个工作机器,通常是一个虚拟机或物理机,同时每个节点上都可运行多个容器和一个采集容器,所述采集容器用于采集对应节点上所有容器中产生的日志数据。
S10,在Kubernetes集群的各个节点上部署采集容器,所述采集容器用于采集所述节点上的日志数据。
在一个可选的实施例中,所述在Kubernetes集群的各个节点上部署采集容器,所述采集容器用于采集所述节点上的日志数据包括:
以DaemonSet形式在Kubernetes集群的各个节点上部署采集容器;
启动所述采集容器中的Fluent-bit程序以采集和转发所述节点上产生的日志数据;
在所述Kubernetes集群的服务端配置Fluentd组件以接收不同节点的Fluent-bit程序转发的日志数据。
该可选的实施例中,如图4所示,为Kubernetes集群的主要结构示意图,在Kubernetes集群部署的过程中可选择以DaemonSet形式在各个节点上部署采集容器,所述DemeonSet为Kubernetes集群的一种资源类型,通过DaemonSet这种部署方式,Kubernetes集群会在每一个组成集群的节点上运行一个名为logagent的采集容器,用于收集对应节点上所有容器产生的日志数据。
该可选的实施例中,可通过启动所述采集容器中的Fluent-bit程序来对所在节点上各容器的日志数据进行采集和转发,同时可在所述Kubernetes集群的服务端配置Fluentd组件来接收不同节点的Fluent-bit程序转发的日志数据。其中,所述Fluent-bit作为日志转发器分布在各个节点上,可以用来收集各节点的日志数据,而Fluentd则可作为日志聚合器,用于接收不同节点上的Fluent-bit转发的日志数据。
如此,可通过在Kubernetes集群的各个节点部署采集容器实现对各节点中的容器所产生的日志数据的快速采集。
S11,监控所述采集容器的运行状态以获取多个节点日志数据集。
在一个可选的实施例中,所述监控所述采集容器的运行状态以获取多个节点日志数据集包括:
依据监控工具获取所述采集容器的运行状态;
基于所述运行状态启动Fluent-bit程序以采集各节点上产生的日志数据获得多个节点初始日志数据集;
基于所述监控工具对各节点初始日志数据集中的异常日志数据进行筛选获得多个节点日志数据集。
该可选的实施例中,可通过所述Kubernetes中的监控工具Prometheus实现对各采集容器的运行状态的实时监控,具体过程为:节点上启动的各个容器的日志数据存储在节点的/var/log/目录下的日志文件中,可通过监控工具Prometheus依据固定周期定时扫描该目录,示例性的,如每隔100ms检测一次,当发现目录下的日志文件有更新的时候,则可认为采集容器已开始运行,此时通知Fluent-bit程序进行启动,从而对各节点上产生的日志数据进行采集,本方案中将每个节点采集到的所有日志数据作为对应节点的节点初始日志数据集,因此最终共会获得与所述Kubernetes集群中的节点数量相一致的多个节点初始日志数据集。
该可选的实施例中,还可通过监控工具Prometheus将各节点初始日志数据集中的日志内容匹配正则表达式,从而将不匹配正则表达式的异常字段进行查询和计数,并将所有的异常字段作为异常日志数据进行滤除,本方案中将经过滤除异常日志数据的各节点初始日志数据集作为节点日志数据集。其中,所述正则表达式又称为规则表达式,是对字符串操作的一种逻辑公式,即所述节点初始日志数据集中的日志内容需要按照正则表达式所要求的语言规则,本方案中将不符合正则表达式的日志数据作为异常日志数据。
如此,可通过监控工具实现对所述采集容器运行状态的实时监控,并通过对异常日志数据的筛选保证获得的节点日志数据集的准确度。
S12,将所有的节点日志数据集聚合后缓存至服务端的本地磁盘中获得集群日志文件。
在一个可选的实施例中,所述将所有的节点日志数据集聚合后缓存至服务端的本地磁盘中获得集群日志文件包括:
基于所述Fluentd组件聚合所有的节点日志数据集;
统一聚合后的所有节点日志数据集的日志数据格式;
将统一日志数据格式的所有节点日志数据集以文件形式缓存至服务端的本地磁盘中获得集群日志文件。
该可选的实施例中,由于所述Fluentd组件作为日志聚合器可以支持所有主流的日志数据类型,因此可通过所述Fluentd组件将各节点的节点日志数据集进行聚合,然后将聚合后的所有节点日志数据集中的日志数据格式进行统一,示例性的,可将聚合后的所有节点日志数据集中的日志数据格式统一为log格式。
该可选的实施例中,可将统一日志数据格式的所有节点日志数据集以File文件的形式缓存至服务端的本地磁盘中进行保存,以免进程或节点发生故障时造成日志数据的丢失,本方案中将统一数据格式后以文件形式缓存至服务端的本地磁盘中的所有节点日志数据集作为集群日志文件。
如此,可以对所有的节点日志数据集聚合后进行安全存储,防止进程或节点发生故障导致的日志数据丢失。
S13,压缩所述集群日志文件并发送至集群数据库中进行存储获得确认返回值。
在一个可选的实施例中,所述压缩所述集群日志文件并发送至集群数据库中进行存储获得确认返回值包括:
依据文件压缩工具压缩所述集群日志文件获得集群日志压缩文件;
将所述集群日志压缩文件划分为多个由固定数量的日志数据组成的数据包;
以http请求的方式将所有的数据包依次发送至集群数据库中进行存储,并获得所述集群数据库每次发送的确认返回值。
该可选的实施例中,可通过文件压缩工具如gzip对所述集群日志文件进行压缩,并将压缩后的集群日志文件作为集群日志压缩文件,并将所述集群日志压缩文件按照固定数量的日志数据进行划分从而获得多个数据包。示例性的,可将所述集群日志压缩文件中的日志数据按照每1000条数据为一个数据包进行划分,从而获得众多含有压缩日志数据的数据包。
该可选的实施例中,可通过http请求的方式依次将划分获得的各数据包发送至集群数据库中进行存储,所述集群数据库可以是elasticsearch数据库,所述http请求的方式为客户端和服务端之间进行通信时常见的请求-应答协议方式,所述fluentd组件通过http的方式向集群数据库发送数据存储请求,集群数据库在接收到数据存储请求后会向fluentd组件发出对应的确认返回值,即当集群数据库每次成功接收到fluentd组件以http请求的方式发送的数据包并进行存储后,会向所述fluentd组件发送确认返回值200,集群数据库没有对接收到的数据包进行成功存储,则会向所述fluentd组件发送ERROR作为确认返回值。
如此,可通过压缩所述集群日志文件提高将所述集群日志文件发送至集群数据库中进行存储的效率。
S14,基于所述确认返回值对所述服务端的本地磁盘中缓存的集群日志数据集进行删除。
在一个可选的实施例中,所述基于所述确认返回值对所述服务端的本地磁盘中缓存的集群日志数据集进行删除包括:
判断所述确认返回值与预设的存储确认返回值是否一致;
若所述确认返回值与预设的存储确认返回值一致,说明存储成功,将所述服务端的本地磁盘内缓存的集群日志数据集中已经存储成功的数据进行删除;
若所述确认返回值与预设的存储确认返回值不一致,说明存储失败,则将当前存储失败的数据包持续发送至集群数据库中进行存储,直到存储成功为止。
该可选的实施例中,当服务端的fluentd组件接收到来自集群数据库的确认返回值后,需要首先判断所述确认返回值是否为预先存储的确认返回值200,只有当所述fluentd组件接收到确认返回值且所述确认返回值为200时,说明当前数据包已成功存储至集群数据库中,因此可将所述服务端的本地磁盘中缓存的集群日志数据集中与当前数据包对应的日志数据进行删除,并继续向所述集群数据库发送下一批数据包,若所述fluentd组件未接收到确认返回值或接收到的确认返回值为ERROR,则说明存储失败,需要继续将未存储成功的数据包发送至集群数据库中进行存储,直到存储成功为止。最终,将所述集群日志压缩文件完全存储至集群数据库后,所述服务端的本地磁盘中缓存的集群日志数据集会被完全删除。
如此,可以保证集群日志数据集中的日志数据完全被存储至集群数据库,并通过删除服务端的本地磁盘中缓存的集群日志数据集来节省服务端的本地磁盘的存储空间。
请参见图2,图2是本申请基于云计算的集群日志收集装置的较佳实施例的功能模块图。基于云计算的集群日志收集装置11包括部署模块110、监控模块111、聚合模块112、存储模块113、删除模块114。本申请所称的单元/模块是指一种能够被处理器13所执行,并且能够完成固定功能的一系列计算机可读指令段,其存储在存储器12中。在本实施例中,关于各单元/模块的功能将在后续的实施例中详述。
在一个可选的实施例中,部署模块110用于在Kubernetes集群的各个节点上部署采集容器,所述采集容器用于采集所述节点上的日志数据。
在一个可选的实施例中,所述在Kubernetes集群的各个节点上部署采集容器,所述采集容器用于采集所述节点上的日志数据包括:
以DaemonSet形式在Kubernetes集群的各个节点上部署采集容器;
启动所述采集容器中的Fluent-bit程序以采集和转发所述节点上产生的日志数据;
在所述Kubernetes集群的服务端配置Fluentd组件以接收不同节点的Fluent-bit程序转发的日志数据。
在一个可选的实施例中,监控模块111用于监控所述采集容器的运行状态以获取多个节点日志数据集。
在一个可选的实施例中,所述监控所述采集容器的运行状态以获取多个节点日志数据集包括:
依据监控工具获取所述采集容器的运行状态;
基于所述运行状态启动Fluent-bit程序以采集各节点上产生的日志数据获得多个节点初始日志数据集;
基于所述监控工具对各节点初始日志数据集中的异常日志数据进行筛选获得多个节点日志数据集。
在一个可选的实施例中,聚合模块112用于将所有的节点日志数据集聚合后缓存至服务端的本地磁盘中获得集群日志文件。
在一个可选的实施例中,所述将所有的节点日志数据集聚合后缓存至服务端的本地磁盘中获得集群日志文件包括:
基于所述Fluentd组件聚合所有的节点日志数据集;
统一聚合后的所有节点日志数据集的日志数据格式;
将统一日志数据格式的所有节点日志数据集以文件形式缓存至服务端的本地磁盘中获得集群日志文件。
在一个可选的实施例中,存储模块113用于压缩所述集群日志文件并发送至集群数据库中进行存储获得确认返回值。
在一个可选的实施例中,所述压缩所述集群日志文件并发送至集群数据库中进行存储获得确认返回值包括:
依据文件压缩工具压缩所述集群日志文件获得集群日志压缩文件;
将所述集群日志压缩文件划分为多个由固定数量的日志数据组成的数据包;
以http请求的方式将所有的数据包依次发送至集群数据库中进行存储,并获得所述集群数据库每次发送的确认返回值。
在一个可选的实施例中,删除模块114用于基于所述确认返回值对所述服务端的本地磁盘中缓存的集群日志数据集进行删除。
在一个可选的实施例中,所述基于所述确认返回值对所述服务端的本地磁盘中缓存的集群日志数据集进行删除包括:
判断所述确认返回值与预设的存储确认返回值是否一致;
若所述确认返回值与预设的存储确认返回值一致,说明存储成功,将所述服务端的本地磁盘内缓存的集群日志数据集中已经存储成功的数据进行删除;
若所述确认返回值与预设的存储确认返回值不一致,说明存储失败,则将当前存储失败的数据包持续发送至集群数据库中进行存储,直到存储成功为止。
由以上技术方案可以看出,本申请能够通过在Kubernetes集群的各个节点上部署采集容器,并实时监控各采集容器的运行状态来及时获取Kubernetes集群中的日志数据,然后通过服务端的本地磁盘实现对采集到的日志数据的聚合及缓存,最终能够在将日志数据发送至集群数据库中进行存储后对所述服务端的本地磁盘中缓存的日志数据进行删除,从而减少由于日志数据量过大导致的系统资源被过多占用的情况,保证k8s集群的正常运行,进而有效提高集群日志的收集效率。
请参见图3,是本申请实施例提供的一种电子设备的结构示意图。电子设备1包括存储器12和处理器13。存储器12用于存储计算机可读指令,处理器13用执行所述储器中存储的计算机可读指令以实现上述任一实施例所述的基于云计算的集群日志收集方法。
在一个可选的实施例中,电子设备1还包括总线、存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如基于云计算的集群日志收集程序。
图3仅示出了具有存储器12和处理器13的电子设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
结合图1,电子设备1中的所述存储器12存储多个计算机可读指令以实现一种基于云计算的集群日志收集方法,所述处理器13可执行所述多个指令从而实现:
在Kubernetes集群的各个节点上部署采集容器,所述采集容器用于采集所述节点上的日志数据;
监控所述采集容器的运行状态以获取多个节点日志数据集;
将所有的节点日志数据集聚合后缓存至服务端的本地磁盘中获得集群日志文件;
压缩所述集群日志文件并发送至集群数据库中进行存储获得确认返回值;
基于所述确认返回值对所述服务端的本地磁盘中缓存的集群日志数据集进行删除。
具体地,所述处理器13对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,电子设备1可以是总线型结构,也可以是星形结构,电子设备1还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置,例如电子设备1还可以包括输入输出设备、网络接入设备等。
需要说明的是,电子设备1仅为举例,其他现有的或今后可能出现的电子产品如可适应于本申请,也应包含在本申请的保护范围以内,并以引用方式包含于此。
其中,存储器12至少包括一种类型的可读存储介质,所述可读存储介质可以是非易失性的,也可以是易失性的。所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器12在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。存储器12在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。存储器12不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如基于云计算的集群日志收集程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器13在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。处理器13是电子设备1的控制核心(Control Unit),利用各种接口和线路连接整个电子设备1的各个部件,通过运行或执行存储在所述存储器12内的程序或者模块(例如执行基于云计算的集群日志收集程序等),以及调用存储在所述存储器12内的数据,以执行电子设备1的各种功能和处理数据。
所述处理器13执行所述电子设备1的操作系统以及安装的各类应用程序。所述处理器13执行所述应用程序以实现上述各个基于云计算的集群日志收集方法实施例中的步骤,例如图1所示的步骤。
示例性的,所述计算机程序可以被分割成一个或多个单元/模块,所述一个或者多个单元/模块被存储在所述存储器12中,并由所述处理器13执行,以完成本申请。所述一个或多个单元/模块可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机程序在电子设备1中的执行过程。例如,所述计算机程序可以被分割成部署模块110、监控模块111、聚合模块112、存储模块113、删除模块114。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、计算机设备,或者网络设备等)或处理器(processor)执行本申请各个实施例所述的基于云计算的集群日志收集方法的部分。
电子设备1集成的单元/模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指示相关的硬件设备来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。
其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存储器及其他存储器等。
进一步地,计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,在图3中仅用一根箭头表示,但并不表示仅有一根总线或一种类型的总线。所述总线被设置为实现所述存储器12以及至少一个处理器13等之间的连接通信。
本申请实施例还提供一种计算机可读存储介质(图未示),计算机可读存储介质中存储有计算机可读指令,计算机可读指令被电子设备中的处理器执行以实现上述任一实施例所述的基于云计算的集群日志收集方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
此外,显然“包括”一词不排除其他模块或步骤,单数不排除复数。说明书陈述的多个模块或装置也可以由一个模块或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神和范围。
Claims (10)
1.一种基于云计算的集群日志收集方法,其特征在于,所述方法包括:
在Kubernetes集群的各个节点上部署采集容器,所述采集容器用于采集所述节点上的日志数据;
监控所述采集容器的运行状态以获取多个节点日志数据集;
将所有的节点日志数据集聚合后缓存至服务端的本地磁盘中获得集群日志文件;
压缩所述集群日志文件并发送至集群数据库中进行存储获得确认返回值;
基于所述确认返回值对所述服务端的本地磁盘中缓存的集群日志数据集进行删除。
2.如权利要求1所述的基于云计算的集群日志收集方法,其特征在于,所述在Kubernetes集群的各个节点上部署采集容器包括:
以DaemonSet形式在Kubernetes集群的各个节点上部署采集容器;
启动所述采集容器中的Fluent-bit程序以采集和转发所述节点上产生的日志数据;
在所述Kubernetes集群的服务端配置Fluentd组件以接收不同节点的Fluent-bit程序转发的日志数据。
3.如权利要求2所述的基于云计算的集群日志收集方法,其特征在于,所述监控所述采集容器的运行状态以获取多个节点日志数据集包括:
依据监控工具获取所述采集容器的运行状态;
基于所述运行状态启动Fluent-bit程序以采集各节点上产生的日志数据获得多个节点初始日志数据集;
基于所述监控工具对各节点初始日志数据集中的异常日志数据进行筛选获得多个节点日志数据集。
4.如权利要求3所述的基于云计算的集群日志收集方法,其特征在于,所述基于所述运行状态启动Fluent-bit程序以采集各节点上产生的日志数据获得多个节点初始日志数据集,包括:
依据固定周期检测所述节点的预设目录下的日志文件是否更新,所述预设目录下的日志文件用于存储所述节点上产生的日志数据;
当所述节点的预设目录下的日志文件更新时,则所述运行状态为日志更新,此时启动Fluent-bit程序对预设目录下的日志文件中新增的日志数据进行采集。
5.如权利要求2所述的基于云计算的集群日志收集方法,其特征在于,所述将所有的节点日志数据集聚合后缓存至服务端的本地磁盘中获得集群日志文件包括:
基于所述Fluentd组件聚合所有的节点日志数据集;
统一聚合后的所有节点日志数据集的日志数据格式;
将统一日志数据格式的所有节点日志数据集以文件形式缓存至服务端的本地磁盘中获得集群日志文件。
6.如权利要求1所述的基于云计算的集群日志收集方法,其特征在于,所述压缩所述集群日志文件并发送至集群数据库中进行存储获得确认返回值包括:
依据文件压缩工具压缩所述集群日志文件获得集群日志压缩文件;
将所述集群日志压缩文件划分为多个由固定数量的日志数据组成的数据包;
以http请求的方式将所有的数据包依次发送至集群数据库中进行存储,并获得所述集群数据库每次发送的确认返回值。
7.如权利要求1所述的基于云计算的集群日志收集方法,其特征在于,所述基于所述确认返回值对所述服务端的本地磁盘中缓存的集群日志数据集进行删除包括:
判断所述确认返回值与预设的存储确认返回值是否一致;
若所述确认返回值与预设的存储确认返回值一致,说明存储成功,将所述服务端的本地磁盘内缓存的集群日志数据集中已经存储成功的数据进行删除;
若所述确认返回值与预设的存储确认返回值不一致,说明存储失败,则将当前存储失败的数据包持续发送至集群数据库中进行存储,直到存储成功为止。
8.一种基于云计算的集群日志收集装置,其特征在于,所述装置包括部署模块、监控模块、聚合模块、存储模块以及删除模块:
所述部署模块,用于在Kubernetes集群的各个节点上部署采集容器,所述采集容器用于采集所述节点上的日志数据;
所述监控模块,用于监控所述采集容器的运行状态以获取多个节点日志数据集;
所述聚合模块,用于将所有的节点日志数据集聚合后缓存至服务端的本地磁盘中获得集群日志文件;
所述存储模块,用于压缩所述集群日志文件并发送至集群数据库中进行存储获得确认返回值;
所述删除模块,用于基于所述确认返回值对所述服务端的本地磁盘中缓存的集群日志数据集进行删除。
9.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储有计算机可读指令;及
处理器,执行所述存储器中存储的计算机可读指令以实现如权利要求1至7中任意一项所述的基于云计算的集群日志收集方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的基于云计算的集群日志收集方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310707729.1A CN116760860A (zh) | 2023-06-14 | 2023-06-14 | 基于云计算的集群日志收集方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310707729.1A CN116760860A (zh) | 2023-06-14 | 2023-06-14 | 基于云计算的集群日志收集方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116760860A true CN116760860A (zh) | 2023-09-15 |
Family
ID=87956609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310707729.1A Pending CN116760860A (zh) | 2023-06-14 | 2023-06-14 | 基于云计算的集群日志收集方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116760860A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116980420A (zh) * | 2023-09-22 | 2023-10-31 | 新华三技术有限公司 | 一种集群通信方法、系统、装置、设备及介质 |
CN117827382A (zh) * | 2024-03-06 | 2024-04-05 | 国网四川省电力公司信息通信公司 | 基于资源部署审核的容器云资源管理方法 |
-
2023
- 2023-06-14 CN CN202310707729.1A patent/CN116760860A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116980420A (zh) * | 2023-09-22 | 2023-10-31 | 新华三技术有限公司 | 一种集群通信方法、系统、装置、设备及介质 |
CN116980420B (zh) * | 2023-09-22 | 2023-12-15 | 新华三技术有限公司 | 一种集群通信方法、系统、装置、设备及介质 |
CN117827382A (zh) * | 2024-03-06 | 2024-04-05 | 国网四川省电力公司信息通信公司 | 基于资源部署审核的容器云资源管理方法 |
CN117827382B (zh) * | 2024-03-06 | 2024-04-30 | 国网四川省电力公司信息通信公司 | 基于资源部署审核的容器云资源管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10599874B2 (en) | Container update system | |
CN116760860A (zh) | 基于云计算的集群日志收集方法及相关设备 | |
US11664974B2 (en) | Summary chains in distributed systems | |
US20230052935A1 (en) | Asynchronous accounting method and apparatus for blockchain, medium and electronic device | |
CN114201421B (zh) | 一种数据流处理方法、存储控制节点及可读存储介质 | |
CN110895488B (zh) | 任务调度方法及装置 | |
CN112527599A (zh) | 智能监控方法、装置、电子设备及可读存储介质 | |
GB2529246A (en) | Method for securing integrity and consistency of a cloud storage service with efficient client operations | |
CN112650728A (zh) | 接口信息存储方法、装置、服务器及分布式业务系统 | |
CN111338834B (zh) | 数据存储方法和装置 | |
CN113051102B (zh) | 文件备份方法、装置、系统、存储介质和计算机设备 | |
CN111198885A (zh) | 数据的处理方法及装置 | |
CN112181662B (zh) | 任务调度方法、装置、电子设备及存储介质 | |
US20220044144A1 (en) | Real time model cascades and derived feature hierarchy | |
CN112187509A (zh) | 多架构云平台执行日志管理方法、系统、终端及存储介质 | |
CN112905676A (zh) | 一种数据文件的导入方法及装置 | |
CN114218303B (zh) | 一种交易数据的处理系统、处理方法、介质和设备 | |
CN115809119A (zh) | 容器编排引擎的监控方法、系统及装置 | |
CN113590703B (zh) | Es数据导入方法、装置、电子设备及可读存储介质 | |
CN115373757A (zh) | 一种Promethues分片模式下集群监控数据缺失的解决方法和装置 | |
CN110677497B (zh) | 一种网络介质分发方法及装置 | |
CN116743783A (zh) | 基于云计算的监控数据存储方法及相关设备 | |
CN113157645B (zh) | 集群数据迁移方法、装置、设备及存储介质 | |
CN114153647B (zh) | 云存储系统的快速数据校验方法、装置及系统 | |
CN116015986B (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 |