云平台容器平均负载监视方法、终端设备及可读存储介质技术

技术编号:28836815 阅读:14 留言:0更新日期:2021-06-11 23:34
本公开实施例中提供了一种云平台容器平均负载监视方法、终端设备及可读存储介质,本公开实施例的方法通过获取容器中所有进程的进程信息;根据所述进程信息获取所述进程的状态信息;根据所述进程的状态信息按照预设规则统计处于活动状态的进程数;根据活动的进程数按照预设公式计算得到容器的平均负载。通过本公开的方案,对于不能方便获取底层系统调用的语言来说,可以很方便大致计算容器系统平均负载,达到监控容器的效果。方便在任何平台以及任何语言体系,都可以使用这种轻量的方式,快速实现容器平均负载监控。

【技术实现步骤摘要】
云平台容器平均负载监视方法、终端设备及可读存储介质
本公开涉及云服务器
,尤其涉及一种云平台容器平均负载监视方法、终端设备及计算机可读存储介质。
技术介绍
近年来,云原生(CloudNative)可谓是IT界最火的概念之一,且随着云计算普及进程的不断加深,有愈演愈烈的趋势。当下再谈云原生已经不是少数几个大企业的专属,越来越多的企业正在拥抱它,享受它带来的红利。谈到云原生就不得不先了解一下容器技术。作为一种先进的虚拟化技术,容器技术可谓是撑起了云原生生态的半壁江山,已然成为了云原生时代软件开发和运维的标准基础设施。对容器的监控也越来越重要,对于容器系统平均负载的计算,目前没有开箱即用的,其中谷歌开源产品CAdvisor是一个容器资源监控工具,对系统平均负载的计算,是通过netLink方式来获取相关数据。然而在这种实现方案中,需要额外安装监控组件,如果是基于Java的技术体系,无法直接使用netLink这种底层的内核通讯技术。鉴于此,需要提供一种能够在任何平台以及任何语言体系,都可以使用的轻量的方式来快速实现容器平均负载监控的方法。
技术实现思路
有鉴于此,本公开实施例提供一种云平台容器平均负载监视方法,至少部分解决现有技术中存在的问题。第一方面,本公开实施例提供了一种云平台容器平均负载监视方法,所述方法包括如下步骤:获取容器中所有进程的进程信息;根据所述进程信息获取所述进程的状态信息;根据所述进程的状态信息按照预设规则统计处于活动状态的进程数;根据活动的进程数按照预设公式计算得到容器的平均负载。根据本公开实施例的一种具体实现方式,所述获取容器中所有进程的进程信息的步骤中的所述进程信息包括进程ID信息,则所述根据所述进程信息获取所述进程的状态信息的步骤,包括:根据所述进程ID信息获取所述进程的状态信息。根据本公开实施例的一种具体实现方式,所述根据所述进程信息获取所述进程的状态信息的步骤包括:从所有进程的进程信息中筛选出所有进程的状态信息。根据本公开实施例的一种具体实现方式,所述根据所述进程ID获取所述进程的状态信息的步骤,包括:根据所述进程ID获取所述进程对应的Proc文件。所述根据所述进程ID获取所述进程对应的Proc文件的步骤,包括:根据所述进程ID读取Proc文件中的标识码;根据所述Proc文件的标识码匹配与所述进程的ID码匹配的Proc文件。根据本公开实施例的一种具体实现方式,所述根据活动的进程数按照预设公式计算得到容器的平均负载步骤中的预设公式为:load(t)=α*load(t-1)+n*(1-α)*loadt-1);其中,load(t)为当前时刻下的平均负载值;load(t-1)为上一个时刻下的平均负载值;n为当前时间的活跃进程数;α为平滑常数,范围在[0,1]之间。根据本公开实施例的一种具体实现方式,所述获取容器中所有进程的进程信息的步骤中的容器中的所有进程包括:当前处于就绪队列中的进程、处于等待IP的不可被信号中断的进程;其中,所述根据所述进程的状态信息按照预设规则统计处于活动状态的进程数的步骤中的预设规则为:将当前就绪队列中的进程和处于等待IO的不可被信号中断的进程定为处于活动状态的进程。根据本公开实施例的一种具体实现方式,所述进程的状态还包括如下状态:可中断的睡眠状态、暂停状态或跟踪状态、进程成为僵尸进程的退出状态、进程即将被销毁的退出状态。根据本公开实施例的一种具体实现方式,所述步骤获取容器中所有进程的进程信息的步骤包括:间隔预设时间获取容器中的所有进程的进程信息。为实现上述目的,本公开实施例还提出一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上任一项所述方法的步骤。为实现上述目的,本公开实施例还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述方法的步骤。本公开实施例中的云平台容器平均负载监视方法,所述方法通过获取容器中所有进程的进程信息;根据所述进程信息获取所述进程的状态信息;根据所述进程的状态信息按照预设规则统计处于活动状态的进程数;根据活动的进程数按照预设公式计算得到容器的平均负载。通过本公开的方案,对于不能方便获取底层系统调用的语言来说,可以很方便大致计算容器系统平均负载,达到监控容器的效果。方便在任何平台以及任何语言体系,都可以使用这种轻量的方式,快速实现容器平均负载监控。附图说明为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本公开实施例提供的一种云平台容器平均负载监视方法流程示意图;图2为本公开实施例提供的电子设备示意图。具体实施方式下面结合附图对本公开实施例进行详细描述。以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。本公开实施例提供一种云平台容器平均负载监视方法。监控部署在云服务器上微服务应用,目前行业大部分提供的监控指标都是云服本文档来自技高网...

【技术保护点】
1.一种云平台容器平均负载监视方法,其特征在于,所述方法包括如下步骤:/n获取容器中所有进程的进程信息;/n根据所述进程信息获取所述进程的状态信息;/n根据所述进程的状态信息按照预设规则统计处于活动状态的进程数;/n根据处于活动状态的进程数按照预设公式计算得到容器的平均负载。/n

【技术特征摘要】
1.一种云平台容器平均负载监视方法,其特征在于,所述方法包括如下步骤:
获取容器中所有进程的进程信息;
根据所述进程信息获取所述进程的状态信息;
根据所述进程的状态信息按照预设规则统计处于活动状态的进程数;
根据处于活动状态的进程数按照预设公式计算得到容器的平均负载。


2.根据权利要求1所述的云平台容器平均负载监视方法,其特征在于,所述获取容器中所有进程的进程信息的步骤中的所述进程信息包括进程ID信息,则所述根据所述进程信息获取所述进程的状态信息的步骤,包括:
根据所述进程ID信息获取所述进程的状态信息。


3.根据权利要求1所述的云平台容器平均负载监视方法,其特征在于,所述根据所述进程信息获取所述进程的状态信息的步骤包括:
从所有进程的进程信息中筛选出所有进程的状态信息。


4.根据权利要求2所述的云平台容器平均负载监视方法,其特征在于,所述根据所述进程ID获取所述进程的状态信息的步骤,包括:
根据所述进程ID获取所述进程对应的Proc文件。
所述根据所述进程ID获取所述进程对应的Proc文件的步骤,包括:
根据所述进程ID读取Proc文件中的标识码;
根据所述Proc文件的标识码匹配与所述进程的ID码匹配的Proc文件。


5.根据权利要求1所述的云平台容器平均负载监视方法,其特征在于,所述根据处于活动状态的进程数按照预设公式计算得到容器的平均负载步骤中的预设公式为:
load(t)=α*load(t-1)+...

【专利技术属性】
技术研发人员:张腾叶建林
申请(专利权)人:北京滴普科技有限公司
类型:发明
国别省市:北京;11

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

1