一种清理Kubernetes中业务应用程序日志的方法技术

技术编号:25123133 阅读:21 留言:0更新日期:2020-08-05 02:52
本发明专利技术提供了一种清理Kubernetes中业务应用程序日志的方法,所述方法包括:在Kubernetes集群的每一个节点都部署清空日志程序;设置清空日志程序的扫描日志目录为宿主机的日志存储目录;设置清空日志程序的执行规则,其中,所述执行规则至少包括:定时规则、日志目录总容量阈值、单日志文件大小阈值;在所述定时规则触发时,分别统计日志目录总容量和日志目录下的每个文件容量大小;根据所述日志目录总容量阈值,对日志目录下的文件进行处理;根据单日志文件大小阈值,对日志文件进行处理。发明专利技术提供了Kubernetes集群针对业务应用的统一清理日志的方法,日志清理的应用只需部署一次,方便快捷;在原应用迁移到容器的过程中,不需要因为日志问题而修改程序。

【技术实现步骤摘要】
一种清理Kubernetes中业务应用程序日志的方法
本专利技术涉及日志处理
,尤其涉及一种清理Kubernetes中业务应用程序日志的方法。
技术介绍
kubernetes是一个开源的,管理云平台中多个主机上的容器化的应用,很多企业容器化改造过程中选用kubernetes,其中有的大量应用需要迁移到kubernetes中,应用会输出日志,有的应用会自己管理应用日志,比如分割并清理日志,但是仍有很多应用没有做到自清理日志的功能,部分应用不能继续改造日志的情况下(比如时间太久没有开发人员维护,当前版本不能快速及时迭代出新版本),当这些应用部署到kubernetes中以pod的形式存在,随着应用日志文件的增大,此pod占用的磁盘空间就会越来越大,会使得应用所在服务器的磁盘空间被占满,此时可以手动删除pod并重建pod来解决问题,但是需要人为操作,也有很大的可能导致业务中断。
技术实现思路
本专利技术的目的在于克服现有技术之缺陷,提供了一种清理Kubernetes中业务应用程序日志的方法,本专利技术的应用程序以DaemonSet的方式部署于Kubernetes,定时扫描指定日志目录下所有日志文件,根据单日志大小的阈值来判断是否置空超过阈值的日志文件,也同时支持根据日志目录总容量的阈值来判断是否置空日志目录下的所有日志文件。本专利技术是这样实现的:本专利技术提供一种清理Kubernetes中业务应用程序日志的方法,所述方法包括:在Kubernetes集群的每一个节点都部署清空日志程序;设置清空日志程序的扫描日志目录为宿主机的日志存储目录;设置清空日志程序的执行规则,其中,所述执行规则至少包括:定时规则、日志目录总容量阈值、单日志文件大小阈值;在所述定时规则触发时,分别统计日志目录总容量和日志目录下的每个文件容量大小;根据所述日志目录总容量阈值,对日志目录下的文件进行处理;根据单日志文件大小阈值,对日志文件进行处理。一种实现方式中,所述根据所述日志目录总容量阈值,对日志目录下的文件进行处理的步骤,包括:扫描日志目录下每一个文件及其子文件夹中的文件;计算所扫描到的文件的大小总和;与所述日志目录总容量阈值做比较;在所述总和大于所述日志目录总容量阈值,则将该目录下文件内容置空。一种实现方式中,所述根据单日志文件大小阈值,对日志文件进行处理的步骤,包括:扫描日志目录每一个文件;判断所扫描的文件大小是否超过所述单日志文件大小阈值;如果是,则对所扫描的文件进行置空处理。一种实现方式中,所述设置清空日志程序的扫描日志目录为宿主机的日志存储目录的步骤,包括:确定多个目标应用程序,其中,所述目标应用程序所产生的日志存储于宿主机的日志存储目录下;设置清空日志程序的扫描日志目录为宿主机的日志存储目录。应用本专利技术的清理Kubernetes中业务应用程序日志的方法,具有以下有益效果:(1)本专利技术的应用程序以DaemonSet的方式部署于Kubernetes,定时扫描指定日志目录下所有日志文件,根据单日志大小的阈值来判断是否置空超过阈值的日志文件,也同时支持根据日志目录总容量的阈值来判断是否置空日志目录下的所有日志文件。(2)专利技术提供了Kubernetes集群针对业务应用的统一清理日志的方法,日志清理的应用只需部署一次,方便快捷;在原应用迁移到容器的过程中,不需要因为日志问题而修改程序。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本专利技术实施例提供的清理Kubernetes中业务应用程序日志的方法的一种流程示意图;图2为本专利技术实施例提供的清理Kubernetes中业务应用程序日志的方法一种具体应用示意图。图3为本专利技术实施例提供的清理Kubernetes中业务应用程序日志的方法的另一种流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。参见图1,本专利技术实施例提供一种清理Kubernetes中业务应用程序日志的方法,所述方法包括:S101,在Kubernetes集群的每一个节点都部署清空日志程序。如图2所示,Kubernetes集群包含多个k8s-node节点,具体的,每一个节点可以有不同的ID或者设置不同的名称。S102,设置清空日志程序的扫描日志目录为宿主机的日志存储目录。如图2所示,清空日志程序为empty-log程序,如图2所示,empty-log程序设置于empty-log-pod中,在my-pod1中,通过app1-container与宿主机连接,将app1所产生的日志进行日志目录挂载,例如挂载在/data/logs/app1/app.log内;又例如,在my-pod2中,通过app2-container与宿主机连接,将app2所产生的日志进行日志目录挂载,例如挂载在/data/logs/app2/app.log内。那么app1和app2所产生的日志就会分别存储在/data/logs/app1/app.log和/data/logs/app2/app.log中。S103,设置清空日志程序的执行规则,其中,所述执行规则至少包括:定时规则、日志目录总容量阈值、单日志文件大小阈值。本专利技术实施例中,为了进行自动执行日志管理,例如日志清空的程序,设计执行规则,在达到所要执行的条件时则可以自动启动执行。定时规则是确定什么时候自动启动程序,例如,固定的时间规则,或者是别的规则。S104,在所述定时规则触发时,分别统计日志目录总容量和日志目录下的每个文件容量大小。因此,在规则触发时,分别对宿主机的目录的/data/logs进行扫描,例如,分别扫描其子文件的/data/logs/app1/app.log和/data/logs/app2/app.log的文件总量。S105,根据所述日志目录总容量阈值,对日志目录下的文件进行处理。S106,根据单日志文件大小阈值,对日志文件进行处理。示例性的,如图3所示,日志目录清理步骤:扫描/data/logs目录下每一个文件,与所有子文件夹的文件,然后计算所有文件的大小总和,并与目录阈值做比较,如总值和大于目录阈值,则将所有此目录下文件内容置空。单日志文件清理步骤:扫描/data/logs目录每一个文件,判断文件大小是否超过文件大小阈值,如超过则进行本文档来自技高网...

【技术保护点】
1.一种清理Kubernetes中业务应用程序日志的方法,其特征在于,所述方法包括:/n在Kubernetes集群的每一个节点都部署清空日志程序;/n设置清空日志程序的扫描日志目录为宿主机的日志存储目录;/n设置清空日志程序的执行规则,其中,所述执行规则至少包括:定时规则、日志目录总容量阈值、单日志文件大小阈值;/n在所述定时规则触发时,分别统计日志目录总容量和日志目录下的每个文件容量大小;/n根据所述日志目录总容量阈值,对日志目录下的文件进行处理;/n根据单日志文件大小阈值,对日志文件进行处理。/n

【技术特征摘要】
1.一种清理Kubernetes中业务应用程序日志的方法,其特征在于,所述方法包括:
在Kubernetes集群的每一个节点都部署清空日志程序;
设置清空日志程序的扫描日志目录为宿主机的日志存储目录;
设置清空日志程序的执行规则,其中,所述执行规则至少包括:定时规则、日志目录总容量阈值、单日志文件大小阈值;
在所述定时规则触发时,分别统计日志目录总容量和日志目录下的每个文件容量大小;
根据所述日志目录总容量阈值,对日志目录下的文件进行处理;
根据单日志文件大小阈值,对日志文件进行处理。


2.根据权利要求1所述的清理Kubernetes中业务应用程序日志的方法,其特征在于,所述根据所述日志目录总容量阈值,对日志目录下的文件进行处理的步骤,包括:
扫描日志目录下每一个文件及其子文件夹中的文件;
计算所扫描...

【专利技术属性】
技术研发人员:耿洪杰桂来军曹明晓
申请(专利权)人:上海思询信息科技有限公司
类型:发明
国别省市:上海;31

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

1