一种日志收集方法、装置、设备及可读存储介质制造方法及图纸

技术编号:32834094 阅读:7 留言:0更新日期:2022-03-26 20:51
本申请公开了一种日志收集方法、装置、设备及可读存储介质,方法包括:获取业务pod中各待收集日志的类型,将业务pod中与类型对应的日志挂载到本地磁盘;在本地磁盘上生成与日志对应的目录,将目录挂载到Daemonset pod中,并获取日志对应的路径;根据日志对应的路径生成配置文件,根据配置文件收集目录下的日志。本申请公开的上述技术方案,先将业务pod中与各待收集日志的类型对应的日志挂载到本地,并在本地磁盘上生成目录,且将目录挂载到Daemonset pod中,然后,根据日志对应的路径生成配置文件,并根据配置文件进行日志收集,以实现对业务pod内部不同类型的日志的收集。实现对业务pod内部不同类型的日志的收集。实现对业务pod内部不同类型的日志的收集。

【技术实现步骤摘要】
一种日志收集方法、装置、设备及可读存储介质


[0001]本申请涉及kubernetes集群
,更具体地说,涉及一种日志收集方法、装置、设备及可读存储介质。

技术介绍

[0002]在kubernetes(简称k8s)集群中,对日志进行采集可以便于了解集群的运行状态以及进行错误排除。
[0003]目前,在kubernetes集群中,常通过将fluentbit(一种开源的日志收集工具)或fluentd(是一个针对日志的收集、处理、转发系统)部署到kubernetes集群的Node节点(组成kubernetes集群需要许多服务器,这些服务器称为Node节点)中,以进行日志收集,但是,这种方式只能收集pod(k8s中最小的调度单元)中的标准日志,而无法收集pod内部其他类型的日志。
[0004]综上所述,如何实现对pod内部不同类型的日志进行收集,是目前本领域技术人员亟待解决的技术问题。

技术实现思路

[0005]有鉴于此,本申请的目的是提供一种日志收集方法、装置、设备及可读存储介质,用于实现对pod内部不同类型的日志进行收集。
[0006]为了实现上述目的,本申请提供如下技术方案:
[0007]一种日志收集方法,应用于kubernetes集群中的Daemonset pod,包括:
[0008]获取业务pod中各待收集日志的类型,将所述业务pod中与所述类型对应的日志挂载到本地磁盘;
[0009]在所述本地磁盘上生成与所述日志对应的目录,将所述目录挂载到所述Daemonset pod中,并获取所述日志对应的路径;
[0010]根据所述日志对应的路径生成配置文件,根据所述配置文件收集所述目录下的日志。
[0011]优选的,还包括:
[0012]当存在业务pod发生销毁时,则判断发生销毁的业务pod当前是否包含在所述kubernetes集群中;
[0013]若所述发生销毁的业务pod当前未包含在所述kubernetes集群中,则获取所述发生销毁的业务pod对应的日志的最后写入时间;
[0014]判断所述日志的最后写入时间与当前时间的时间差是否大于预设值;
[0015]若所述日志的最后写入时间与当前时间的时间差不大于预设值,则保留所述日志;
[0016]若所述日志的最后写入时间与当前时间的时间差大于预设值,则删除所述日志。
[0017]优选的,还包括:
[0018]当存在业务pod发生重建,则将发生重建的业务pod中与所述类型对应的日志挂载到所述本地磁盘,并返回执行在所述本地磁盘上生成与所述日志对应的目录的步骤。
[0019]优选的,在根据所述配置文件收集所述目录下的日志时,还包括:
[0020]每收集所述日志中的一行内容,则在所述日志中的对应行上进行标记。
[0021]优选的,将所述业务pod中与所述类型对应的日志挂载到本地磁盘,包括:
[0022]通过hostpath挂载方式将所述业务pod中与所述类型对应的日志挂载到本地磁盘。
[0023]优选的,在所述本地磁盘上生成与所述日志对应的目录,包括:
[0024]通过subpathexpr在所述本地磁盘上生成以所述业务pod的名称命名的目录。
[0025]优选的,在根据所述配置文件收集所述目录下的日志之后,还包括:
[0026]将收集到的日志发送到消息队列中。
[0027]一种日志收集装置,应用于kubernetes集群中的Daemonset pod,包括:
[0028]第一挂载模块,用于获取业务pod中各待收集日志的类型,将所述业务pod中与所述类型对应的日志挂载到本地磁盘;
[0029]第二挂载模块,用于在所述本地磁盘上生成与所述日志对应的目录,将所述目录挂载到所述Daemonset pod中,并获取所述日志对应的路径;
[0030]日志收集模块,用于根据所述日志对应的路径生成配置文件,根据所述配置文件收集所述目录下的日志。
[0031]一种日志收集设备,包括:
[0032]存储器,用于存储计算机程序;
[0033]处理器,用于执行所述计算机程序时实现如上述任一项所述的日志收集方法的步骤。
[0034]一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的日志收集方法的步骤。
[0035]本申请提供了一种日志收集方法、装置、设备及可读存储介质,其中,该方法应用于kubernetes集群中的Daemonset pod,包括:获取业务pod中各待收集日志的类型,将业务pod中与类型对应的日志挂载到本地磁盘;在本地磁盘上生成与日志对应的目录,将目录挂载到Daemonset pod中,并获取日志对应的路径;根据日志对应的路径生成配置文件,根据配置文件收集目录下的日志。
[0036]本申请公开的上述技术方案,首先,kubernetes集群中的Daemonset pod获取业务pod中的待收集日志的类型,然后,将业务pod中与前述类型对应的日志挂载到本地磁盘,并在本地磁盘生成与日志对应的目录,以借助本地磁盘来进行日志收集,并利用本地磁盘实现日志的持久化,以提高日志收集的可靠性,之后,将目录挂载到Daemonset pod中,并根据日志的前述操作获取日志对应的路径,然后,根据日志对应的路径生成配置文件,并根据所生成的配置文件来进行日志收集,从而实现对业务pod内部不同类型的日志的收集,进而便于基于收集到的多种类型的日志来了解更好地了解集群的运行状态及进行错误排除等。
附图说明
[0037]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0038]图1为本申请实施例提供的一种日志收集方法的流程图;
[0039]图2为本申请实施例提供的一种日志收集装置的结构示意图;
[0040]图3为本申请实施例提供的一种日志收集设备的结构示意图。
具体实施方式
[0041]目前,在k8s集群中,通常是将fluentbit或fluentd部署到k8s集群的Node节点中,以进行日志收集,但是,其只能收集到pod中的标准日志,而并无法收集到pod内部不同目录的多种类型的日志。
[0042]为此,本申请提供一种日志收集方法、装置、设备及可读存储介质,用于实现对pod内部不同类型的日志的收集。
[0043]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种日志收集方法,其特征在于,应用于kubernetes集群中的Daemonset pod,包括:获取业务pod中各待收集日志的类型,将所述业务pod中与所述类型对应的日志挂载到本地磁盘;在所述本地磁盘上生成与所述日志对应的目录,将所述目录挂载到所述Daemonset pod中,并获取所述日志对应的路径;根据所述日志对应的路径生成配置文件,根据所述配置文件收集所述目录下的日志。2.根据权利要求1所述的日志收集方法,其特征在于,还包括:当存在业务pod发生销毁时,则判断发生销毁的业务pod当前是否包含在所述kubernetes集群中;若所述发生销毁的业务pod当前未包含在所述kubernetes集群中,则获取所述发生销毁的业务pod对应的日志的最后写入时间;判断所述日志的最后写入时间与当前时间的时间差是否大于预设值;若所述日志的最后写入时间与当前时间的时间差不大于预设值,则保留所述日志;若所述日志的最后写入时间与当前时间的时间差大于预设值,则删除所述日志。3.根据权利要求1所述的日志收集方法,其特征在于,还包括:当存在业务pod发生重建,则将发生重建的业务pod中与所述类型对应的日志挂载到所述本地磁盘,并返回执行在所述本地磁盘上生成与所述日志对应的目录的步骤。4.根据权利要求1所述的日志收集方法,其特征在于,在根据所述配置文件收集所述目录下的日志时,还包括:每收集所述日志中的一行内容,则在所述日志中的对应行上进行标记。5.根据权利要求...

【专利技术属性】
技术研发人员:林海涛岑浩铭王伟吕勇朱付贵
申请(专利权)人:税友信息技术有限公司
类型:发明
国别省市:

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

1