System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于kubernetes的容器组日志采集方法、系统、电子设备及存储介质技术方案_技高网

一种基于kubernetes的容器组日志采集方法、系统、电子设备及存储介质技术方案

技术编号:44447385 阅读:5 留言:0更新日期:2025-02-28 18:53
本发明专利技术公开了一种基于kubernetes的容器组日志采集方法、系统、电子设备及存储介质,包括定义采集规则,采集规则包括标签、日志路径、忽略文件、kafka中的分区、存储数据库和日志筛选键值;基于采集规则配置采集器;采集器基于配置进行采集;基于采集规则配置采集器包括判断采集规则是否被添加终结器;若没有则添加一终结器;终结器通过标签选择器基于采集规则中的标签匹配到对应pod;解析采集规则构建用于渲染模板的结构并将pod添加至结构体中;基于结构体渲染出采集器所使用的配置文件。本发明专利技术采用通用方式来配置应用的日志采集,在容器环境下动态采集应用日志,同时屏蔽不同采集器之间配置的差异。

【技术实现步骤摘要】

本专利技术涉及计算机,尤其涉及一种基于kubernetes的容器组日志采集方法、系统、电子设备及存储介质


技术介绍

1、应用打印的日志是非常重要的信息,当我们需要分析应用运行情况,或查找故障原因时,查看日志是非常关键的环节。在非容器环境下,应用的日志路径是静态的,确定的,即使应用发生重启,它的路径也不会变化,因此日志采集器只需要配置一个静态的路径即可。但在容器环境中,应用的日志是动态的,不确定的,不仅需要考虑不同运行时标准输出日志目录的不同,还需要考虑应用本身挂载卷的差异,同时应用的pod若发生重启,也会导致路径的变化。另外,不同的日志采集器,其配置方式也不同,若不统一,会导致额外的学习及运维成本。


技术实现思路

1、针对上述问题中存在的不足之处,本专利技术提供一种基于kubernetes的容器组日志采集方法、系统、电子设备及存储介质。

2、为实现上述目的,本专利技术提供一种基于kubernetes的容器组日志采集方法,包括:

3、定义采集规则,所述采集规则包括标签、日志路径、忽略文件、kafka中的分区、存储数据库和日志筛选键值;

4、基于所述采集规则配置采集器;

5、所述采集器基于配置进行采集;

6、其中,基于所述采集规则配置采集器包括:

7、判断所述采集规则是否被添加终结器;若没有则添加一所述终结器;

8、所述终结器通过标签选择器基于所述采集规则中的标签匹配到对应pod;

9、解析所述采集规则构建用于渲染模板的结构并将所述pod添加至所述结构体中;

10、基于所述结构体渲染出所述采集器所使用的配置文件。

11、优选的是,所述采集规则包括应用采集规则和主机采集规则。

12、优选的是,所述应用采集规则包括标签、标准输出日志路径、日志路径、忽略文件、kafka中的分区、存储数据库和日志筛选键值。

13、优选的是,所述主机采集规则包括日志路径、忽略文件、kafka中的分区、存储数据库和日志筛选键值。

14、优选的是,解析所述采集规则包括:

15、基于容器id,获得对应的容器信息和容器的环境变量信息;

16、通过正则表达式匹配其路径中是否存在环境变量,并从容器环境变量中查找是否存在该环境变量,若存在,则将路径替换为真实路径;

17、基于所述真实路径找到对应的挂载点。

18、优选的是,若定义有标准输出日志路径,则根据不同的运行找到对应标准输出日志路径。

19、本申请还提供一种基于kubernetes的容器组日志采集系统,包括:

20、定义模块,用于定义采集规则,所述采集规则包括标签、日志路径、忽略文件、kafka中的分区、存储数据库和日志筛选键值;

21、配置模块,用于基于所述采集规则配置采集器;

22、采集模块,用于所述采集器基于配置进行采集;

23、其中,基于所述采集规则配置采集器包括:

24、判断所述采集规则是否被添加终结器;若没有则添加一所述终结器;

25、所述终结器通过标签选择器基于所述采集规则中的标签匹配到对应pod;

26、解析所述采集规则构建用于渲染模板的结构并将所述pod添加至所述结构体中;

27、基于所述结构体渲染出所述采集器所使用的配置文件。

28、本专利技术还提供一种电子设备,包括至少一个处理单元以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行上述的方法。

29、本专利技术还提供一种存储介质,其存储有可由电子电子设备执行的计算机程序,当所述程序在所述电子电子设备上运行时,使得所述电子电子设备执行上述的方法。

30、与现有技术相比,本专利技术的有益效果为:

31、本专利技术采用通用方式来配置应用的日志采集,在容器环境下动态采集应用日志,同时屏蔽不同采集器之间配置的差异。

本文档来自技高网...

【技术保护点】

1.一种基于kubernetes的容器组日志采集方法,其特征在于,包括:

2.根据权利要求1所述的基于kubernetes的容器组日志采集方法,其特征在于,所述采集规则包括应用采集规则和主机采集规则。

3.根据权利要求2所述的基于kubernetes的容器组日志采集方法,其特征在于,所述应用采集规则包括标签、标准输出日志路径、日志路径、忽略文件、kafka中的分区、存储数据库和日志筛选键值。

4.根据权利要求3所述的基于kubernetes的容器组日志采集方法,其特征在于,所述主机采集规则包括日志路径、忽略文件、kafka中的分区、存储数据库和日志筛选键值。

5.根据权利要求4所述的基于kubernetes的容器组日志采集方法,其特征在于,解析所述采集规则包括:

6.根据权利要求5所述的基于kubernetes的容器组日志采集方法,其特征在于,若定义有标准输出日志路径,则根据不同的运行找到对应标准输出日志路径。

7.一种基于kubernetes的容器组日志采集系统,其特征在于,包括:

8.一种电子设备,其特征在于,包括至少一个处理单元以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行权利要求1~6任一权利要求所述的方法。

9.一种存储介质,其特征在于,其存储有可由电子电子设备执行的计算机程序,当所述程序在所述电子电子设备上运行时,使得所述电子电子设备执行权利要求1~6任一权利要求所述的方法。

...

【技术特征摘要】

1.一种基于kubernetes的容器组日志采集方法,其特征在于,包括:

2.根据权利要求1所述的基于kubernetes的容器组日志采集方法,其特征在于,所述采集规则包括应用采集规则和主机采集规则。

3.根据权利要求2所述的基于kubernetes的容器组日志采集方法,其特征在于,所述应用采集规则包括标签、标准输出日志路径、日志路径、忽略文件、kafka中的分区、存储数据库和日志筛选键值。

4.根据权利要求3所述的基于kubernetes的容器组日志采集方法,其特征在于,所述主机采集规则包括日志路径、忽略文件、kafka中的分区、存储数据库和日志筛选键值。

5.根据权利要求4所述的基于kubernetes的容器组日志采集方法,...

【专利技术属性】
技术研发人员:牛旷野陈炜舜张城陈毅王翱宇
申请(专利权)人:杭州谐云科技有限公司
类型:发明
国别省市:

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

1