一种容器环境下采集输出日志的方法及装置制造方法及图纸

技术编号:37991926 阅读:9 留言:0更新日期:2023-06-30 10:06
本发明专利技术提供一种容器环境下采集输出日志的方法及装置,所述方法包括:S1、对正在运行的容器进行搜索,确定所述容器的属性;S2、根据所述容器为新创建容器还是创建一段时间容器确定日志文件的起始读取位置;S3、根据所述属性和所述起始读取位置对所述日志文件进行采集。本发明专利技术通过记录日志文件位置的方式,能够对容器日志精确定位,避免出现日志数据漏采的情况。况。况。

【技术实现步骤摘要】
一种容器环境下采集输出日志的方法及装置


[0001]本专利技术属于软件
,具体而言属于一种容器环境下采集输出日志的方法及装置。

技术介绍

[0002]容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了容器引擎的服务器上(包括流行的Linux机器、windows机器),也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。
[0003]在现代软件开发中,容器化技术已经是非常流行和成熟的一种方式。容器环境下的日志记录和管理是一项重要的任务,对容器应用程序的运行状态、调试和问题排查至关重要。但是,现有的众多方案中,普遍缺少对容器日志的精确定位,会导致日志数据的漏采。
[0004]有鉴于此,特提出本专利技术。

技术实现思路

[0005]有鉴于此,本专利技术公开了一种容器环境下采集输出日志的方法及装置,通过记录日志文件位置的方式,能够对容器日志精确定位,避免出现输出日志数据漏采的问题。
[0006]具体的,本专利技术是通过以下技术方案实现的:
[0007]第一方面,本专利技术公开了一种容器环境下采集输出日志的方法,包括如下步骤:
[0008]S1、对正在运行的容器进行搜索,确定所述容器的属性;
[0009]S2、根据所述容器为新创建容器还是创建一段时间容器确定日志文件的起始读取位置;
[0010]S3、根据所述属性和所述起始读取位置对所述日志文件进行采集。
[0011]具体地,多个容器的采集是并行的,它们互不影响;上述新创建容器的识别方式是通过S1步骤对正在运行时的容器进行搜索时,自动发现新创建容器。
[0012]进一步地,所述S3步骤中,所述采集过程中时刻检查所述日志文件的状态,根据所述状态判断采集方式。
[0013]进一步地,所述判断采集方式的方法包括:
[0014]若发现所述日志文件被删除,则对所述日志文件的剩余数据进行采集;
[0015]具体地,在采集完毕后关闭和退出该日志文件,避免浪费资源;
[0016]若发现所述日志文件被截断,则调整采集位置,从所述截断后的位置开始采集;
[0017]具体地,若日志文件原来有10KB,被截断后只有5KB后,会及时调整采集位置,从截断后的位置重新开始采集,避免出现数据空白的情况;
[0018]若发现所述日志文件容量过大时,则创建新同名文件,并对旧文件采集到末尾后重新打开所述新同名文件从首部开始采集,完成采集目标替换。
[0019]具体地,文件翻转是日志系统常见的方式,当日志文件容量过大时,会先对该日志文件重命名,然后创建一个新同名文件,将数据写入到新同名文件,避免出现单个文件过大的情况,此时应该先把旧文件全部采集到末尾后,再重新打开新同名文件,从首部开始读取,完成一次采集目标的替换。
[0020]优选地,当容器停止运行时,会停止对该容器的日志采集任务。
[0021]进一步地,所述S1步骤中,所述属性包括日志文件路径和标签、通过所述标签提供的专属配置信息;
[0022]所述专属配置信息包括过滤、多行配置规则、字段切割规则。
[0023]进一步地,所述S2步骤中,所述确定的方法包括:
[0024]若所述容器为新创建容器,则起始读取位置为首部采集;
[0025]若所述容器为创建一段时间的容器,则根据记录判断起始读取位置。
[0026]进一步地,若有记录,则根据上次记录的位置开始采集;若没有记录,则从文件尾部采集。
[0027]通过确定起始读取位置,使用更准确的起始读取位置,确保数据的完整性。
[0028]第二方面,本专利技术公开了一种容器环境下采集输出日志的装置,包括:
[0029]确定属性模块:对正在运行的容器进行搜索,确定所述容器的属性;
[0030]确定起始读取位置模块:根据所述容器为所述新创建容器还是创建一段时间容器确定日志文件的起始读取位置;
[0031]输出日志采集模块:根据所述属性和所述起始读取位置对所述日志文件进行采集。
[0032]第三方面,本专利技术公开了一种计算机可读存储介质,其上存储有计算机程序所述程序被处理器执行时实现如第一方面所述容器环境下采集输出日志的方法的步骤。
[0033]第四方面,本专利技术公开了一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述容器环境下采集输出日志的方法的步骤。
[0034]与现有技术相比,本专利技术的有益效果在于:
[0035]本专利技术提出的容器环境下采集输出日志的方法及装置,适配多种容器运行时,多个容器并行采集,互不影响;本专利技术通过确定起始读取位置,使用更准确的起始读取位置,保证数据的完整性;时刻检查日志文件的状态,自动化处理日志文件的翻转和折断,并允许在容器标签添加专属配置,根据专属配置信息对数据进行解析处理。
附图说明
[0036]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0037]图1为本专利技术实施例提供的容器环境下采集输出日志的方法流程图;
[0038]图2为本专利技术实施例提供的容器环境下采集输出日志的方法操作流程图;
[0039]图3为本专利技术实施例提供的容器环境下采集输出日志的装置示意图;
[0040]图4为本专利技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
[0041]下面将结合附图和具体实施方式对本专利技术的技术方案进行清楚、完整地描述,但是本领域技术人员将会理解,下列所描述的实施例是本专利技术一部分实施例,而不是全部的实施例,仅用于说明本专利技术,而不应视为限制本专利技术的范围。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0042]为了更加清晰的对本专利技术中的技术方案进行阐述,下面以具体实施例的形式进行说明。
[0043]实施例
[0044]参照图1

4所示,本专利技术公开了一种容器环境下采集输出日志的方法及装置,其中,参阅图1所示,容器环境下采集输出日志的方法包括如下步骤:
[0045]S1、对正在运行的容器进行搜索,确定所述容器的属性;
[0046]S2、根据所述容器为新创建容器还是创建一段时间容器确定日志文件的起始读取位置;
[0047]S3、根据所述属性和所述起始读取位置对所述日志文件进行采集。
[0048]本专利技术实际操作按照如下流程,参阅图2所示,具体本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种容器环境下采集输出日志的方法,其特征在于,包括以下步骤:S1、对正在运行的容器进行搜索,确定所述容器的属性;S2、根据所述容器为新创建容器还是创建一段时间容器确定日志文件的起始读取位置;S3、根据所述属性和所述起始读取位置对所述日志文件进行采集。2.根据权利要求1所述的容器环境下采集输出日志的方法,其特征在于,所述S3步骤中,所述采集过程中时刻检查所述日志文件的状态,根据所述状态判断采集方式。3.根据权利要求2所述的容器环境下采集输出日志的方法,其特征在于,所述判断采集方式的方法包括:若发现所述日志文件被删除,则对所述日志文件的剩余数据进行采集;若发现所述日志文件被截断,则调整采集位置,从所述截断后的位置开始采集;若发现所述日志文件容量过大时,则创建新同名文件,并对旧文件采集到末尾后重新打开所述新同名文件从首部开始采集,完成采集目标替换。4.根据权利要求1所述的容器环境下采集输出日志的方法,其特征在于,所述S1步骤中,所述属性包括日志文件路径和标签、通过所述标签提供的专属配置信息;所述专属配置信息包括过滤、多行配置规则、字段切割规则。5.根据权利要求1所述的容器环境下采集输出日志的方法,其特征在于,所述...

【专利技术属性】
技术研发人员:李国壮蒋烁淼
申请(专利权)人:上海观测未来信息技术有限公司
类型:发明
国别省市:

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

1