System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,尤其涉及一种基于kubernetes的容器组日志采集方法、系统、电子设备及存储介质。
技术介绍
1、应用打印的日志是非常重要的信息,当我们需要分析应用运行情况,或查找故障原因时,查看日志是非常关键的环节。在非容器环境下,应用的日志路径是静态的,确定的,即使应用发生重启,它的路径也不会变化,因此日志采集器只需要配置一个静态的路径即可。但在容器环境中,应用的日志是动态的,不确定的,不仅需要考虑不同运行时标准输出日志目录的不同,还需要考虑应用本身挂载卷的差异,同时应用的pod若发生重启,也会导致路径的变化。另外,不同的日志采集器,其配置方式也不同,若不统一,会导致额外的学习及运维成本。
技术实现思路
1、针对上述问题中存在的不足之处,本专利技术提供一种基于kubernetes的容器组日志采集方法、系统、电子设备及存储介质。
2、为实现上述目的,本专利技术提供一种基于kubernetes的容器组日志采集方法,包括:
3、定义采集规则,所述采集规则包括标签、日志路径、忽略文件、kafka中的分区、存储数据库和日志筛选键值;
4、基于所述采集规则配置采集器;
5、所述采集器基于配置进行采集;
6、其中,基于所述采集规则配置采集器包括:
7、判断所述采集规则是否被添加终结器;若没有则添加一所述终结器;
8、所述终结器通过标签选择器基于所述采集规则中的标签匹配到对应pod;
9、解
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.一种电子
9.一种存储介质,其特征在于,其存储有可由电子电子设备执行的计算机程序,当所述程序在所述电子电子设备上运行时,使得所述电子电子设备执行权利要求1~6任一权利要求所述的方法。
...【技术特征摘要】
1.一种基于kubernetes的容器组日志采集方法,其特征在于,包括:
2.根据权利要求1所述的基于kubernetes的容器组日志采集方法,其特征在于,所述采集规则包括应用采集规则和主机采集规则。
3.根据权利要求2所述的基于kubernetes的容器组日志采集方法,其特征在于,所述应用采集规则包括标签、标准输出日志路径、日志路径、忽略文件、kafka中的分区、存储数据库和日志筛选键值。
4.根据权利要求3所述的基于kubernetes的容器组日志采集方法,其特征在于,所述主机采集规则包括日志路径、忽略文件、kafka中的分区、存储数据库和日志筛选键值。
5.根据权利要求4所述的基于kubernetes的容器组日志采集方法,...
【专利技术属性】
技术研发人员:牛旷野,陈炜舜,张城,陈毅,王翱宇,
申请(专利权)人:杭州谐云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。