资源监控方法、装置、计算机设备和存储介质与流程

文档序号:20676901发布日期:2020-05-08 17:57阅读:136来源:国知局
资源监控方法、装置、计算机设备和存储介质与流程

本申请涉及容器技术领域,尤其涉及一种资源监控方法、装置、计算机设备和存储介质。



背景技术:

随着容器技术的发展和应用,越来越多的客户端使用容器技术实现计算环境的转移和复用,解决了应用程序在不同的硬件环境和操作系统中的可靠运行问题。

通常情况下,当一个容器集群系统中的容器集群执行一个完整的工作流时,该完整的工作流包括多个步骤,每个步骤需要使用多个容器实现,例如,深度学习工作流一般包括数据预处理、模型训练、模型预测、模型评估等步骤,每个步骤均需使用对应数量的容器以完成深度学习工作流。为了方便管理,在实际应用中,需要实时监控容器集群系统中各容器在容器集群中对cpu、gpu、内存等资源的使用情况进行监控。

但是,目前的容器集群系统无法监控工作流在容器集群中的资源使用情况。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够有效监控包括工作流对象、用户对象、团队对象的资源消耗情况的资源监控方法、装置、计算机设备和存储介质。

第一方面,一种资源监控方法,所述方法包括:

接收监控指令;监控指令携带目标监控对象的标识;

根据监控指令获取标识对应的容器集群系统中预设的容器标签集合;容器标签包括容器对应的目标监控对象的标识;

根据容器标签集合确定目标监控对象对应的资源消耗信息。

在其中一个实施例中,根据监控指令获取标识对应的容器集群系统中预设的容器标签集合,包括;

从监控指令提取出目标监控对象的标识;

根据目标监控对象的标识确定容器集群系统中包含标识的容器标签,得到容器标签集合。

在其中一个实施例中,根据容器标签集合确定目标监控对象对应的容器资源消耗信息,包括:,包括:

确定与容器标签集合关联的容器列表;

从预设数据库中,获取容器列表中各容器的实时资源消耗信息;预设数据库中存储了容器集群系统中各容器的实时资源消耗信息和各容器的容器标签;

根据容器列表中各容器的实时资源消耗信息确定目标监控对象对应的资源消耗信息。

在其中一个实施例中,确定与容器标签集合关联的容器列表,包括:

将容器标签集合中各容器标签对应的容器,确定为与容器标签集合关联的容器列表中的容器。

在其中一个实施例中,预设数据库的创建过程包括:

接收用户端发送的任务指令;任务指令包括目标监控对象的定义文件,目标监控对象的定义文件包括目标监控对象对应容器的定义文件;

根据目标监控对象的定义文件创建目标监控对象,以及根据目标监控对象对应容器的定义文件,创建目标监控对象对应的容器;容器携带容器标签;

获取目标监控对象对应的容器的实时资源消耗信息和目标监控对象对应的容器的容器标签;

将目标监控对象对应的容器的实时资源消耗信息和目标监控对象对应的容器的容器标签存储至预设数据库。

在其中一个实施例中,根据目标监控对象的定义文件创建目标监控对象,包括:

接收用户端输入的目标监控对象的标识,并将目标监控对象的标识添加至目标监控对象的定义文件;

根据添加后的目标监控对象的定义文件,创建目标监控对象。

在其中一个实施例中,根据目标监控对象对应容器的定义文件,创建目标监控对象对应的容器,包括:

将目标监控对象的标识添加至目标监控对象对应容器的定义文件;

根据添加后的容器的定义文件,创建目标监控对象对应的容器。

在其中一个实施例中,任务指令还包括用户认证信息,

则在接收用户端发送的任务指令之后,所述方法还包括:

根据用户认证信息验证用户端的的身份;

若认证通过,则执行根据目标监控对象的定义文件创建目标监控对象的步骤。

在其中一个实施例中,获取目标监控对象对应的容器的实时资源消耗信息和目标监控对象对应的容器的容器标签,包括:

获取采集器采集到的目标监控对象对应的容器的实时资源消耗信息和目标监控对象对应的容器的容器标签;采集器包括容器集群管理程序提供的采集器,或者自定义网络服务程序提供的采集器。

第二方面,一种资源监控装置,所述装置包括:

接收模块,用于接收监控指令;监控指令携带目标监控对象的标识;

获取模块,用于根据监控指令获取标识对应的容器集群系统中预设的容器标签集合;容器标签包括容器对应的目标监控对象的标识;

确定模块,用于根据容器标签集合确定目标监控对象对应的资源消耗信息。

第三方面,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面任一实施例所述的资源监控方法。

第四方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一实施例所述的资源监控方法。

本申请提供的一种资源监控方法、装置、计算机设备和存储介质,包括:接收监控指令,并根据监控指令获取标识对应的容器集群系统中预设的容器标签集合,再根据容器标签集合确定目标监控对象对应的资源消耗信息。上述方法实现了对容器集群系统中目标监控对象的资源消耗的实时监控,且由于容器集群系统中的各容器预设有容器标签,容器标签包含该容器对应的目标监控对象的标识,使资源监控服务器可以根据目标监控对象的标识很容易的确定目标监控对象对应的容器,从而使资源监控服务器可以很容易的根据目标监控对象对应的容器获取到目标监控对象在容器集群系统中的资源消耗信息。上述方法简单实用,仅需在创建容器时添加包含目标监控对象的标识,即可根据目标监控对象的标识,实时监控到目标监控对象所消耗资源。

附图说明

图1为一个实施例提供的一种容器集群系统的结构示意图;

图2为一个实施例提供的一种资源监控方法的流程图;

图3为图2实施例中s102的另一种实现方式的流程图;

图4为图2实施例中s103的另一种实现方式的流程图;

图5为一个实施例提供的一种资源监控方法的流程图;

图6为一个实施例提供的一种资源监控方法的流程图;

图7为图5实施例中s402的一种实现方式的流程图;

图8为图5实施例中s402的另一种实现方式的流程图;

图9为一个实施例提供的一种容器的创建方法的流程图;

图10为一个实施例提供的一种资源监控系统的结构示意图;

图11为一个实施例提供的一种资源监控方法的流程图;

图12为一个实施例提供的一种资源监控装置的结构示意图;

图13为一个实施例提供的一种资源监控装置的结构示意图;

图14为一个实施例提供的一种资源监控装置的结构示意图;

图15为一个实施例提供的一种资源监控装置的结构示意图;

图16为一个实施例提供的一种资源监控装置的结构示意图;

图17为一个实施例提供的一种计算机设备的内部结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。

本申请提供的资源监控方法,可以应用于如图1所示的容器集群系统,该容器集群系统包括多个节点终端、资源监控服务器、以及用户端,其中,用户端与资源监控服务器通过网络连接,资源监控服务器与多个节点终端通过网络连接。节点终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备;用户端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备;资源监控服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

下面将通过实施例并结合附图具体地对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。

图2为一个实施例提供的一种资源监控方法的流程图,该方法的执行主体为图1中的资源监控服务器,该方法涉及的是资源监控服务器监控目标监控对象在容器集群系统中的资源消耗的具体过程。如图2所示,该方法具体包括以下步骤:

s101、接收监控指令;监控指令携带目标监控对象的标识。

其中,目标监控对象可以为容器集群系统中需要被用户监控的对象,例如,目标监控对象可以是容器集群系统中被监控的容器、被监控的工作流、被监控的用户、被监控的用户组、被监控的团队等。可选地,本实施中的目标监控对象包括:工作流监控对象、用户监控对象、团队监控对象中的至少一种,其中的工作流监控对象为容器集群系统中被监控的工作流,用户监控对象为容器集群系统中被监控的用户下的工作流或容器,团队监控对象为容器集群系统中被监控的团队下的用户、或工作流、或容器。目标监控对象的标识用于唯一表征被监控的对象,例如,其可以是工作流的标识、用户的标识、团队的标识等,其具体可以用数字、字母、序列号、文字等表示,对此本实施例不做限定。容器集群系统可以为如图1所示的系统。上述监控指令用于监控目标监控对象在容器集群系统中的资源消耗,其资源消耗可以具体指容器集群系统的内存、磁盘、网络等资源的消耗。

本实施例中,当用户端需要实时、周期性、或事件触发性的监控目标监控对象在容器集群系统中的资源消耗时,用户端可以向资源监控服务器发送监控指令,当资源监控服务器接收到该监控指令后,即可执行相应的监控操作,以获取目标监控对象在容器集群系统中的资源消耗,以便之后将获取到的资源消耗发送给用户端,以便用户端能够及时查看或调整目标监控对象在容器集群系统中的资源消耗情况。

s102、根据监控指令获取标识对应的容器集群系统中预设的容器标签集合;容器标签包括容器对应的目标监控对象的标识。

其中,容器集群系统中的各节点终端上包括多个容器,各容器携带容器标签。容器标签集合为容器集群系统中某些容器携带的容器标签的集合。在实际应用中,一个目标监控对象可以对应一个容器,也可以对应多个容器,当多个容器对应一个目标监控对象时,这多个容器的容器标签均包含同一个目标监控对象的标识。

本实施例中,当资源监控服务器接收到用户端发送的监控指令,执行相应的监控操作时,可以进一步的根据该监控指令中的目标监控对象的标识,获取容器集群系统中与该标识对应的容器标签集合,以便之后能够根据该容器标签集合确定目标监控对象对应的容器,以便资源监控服务器后期能够针对性的监控目标监控对象对应的容器的资源消耗。

s103、根据容器标签集合确定目标监控对象对应的资源消耗信息。

本实施例中,当资源监控服务器获取到容器标签集合时,可以进一步的根据容器标签集合确定目标监控对象对应的容器,然后通过采集上述对应的容器在容器集群系统中的资源消耗,得到目标监控对象对应的容器的资源消耗信息,即目标监控对象对应的资源消耗信息。

本实施例提供的一种资源监控方法,包括:接收监控指令,并根据监控指令获取标识对应的容器集群系统中预设的容器标签集合,再根据容器标签集合确定目标监控对象对应的容器的资源消耗信息。上述方法实现了对容器集群系统中目标监控对象的资源消耗的实时监控,且由于容器集群系统中的各容器预设有容器标签,容器标签包含该容器对应的目标监控对象的标识,使资源监控服务器可以根据目标监控对象的标识很容易的确定目标监控对象对应的容器,从而使资源监控服务器可以很容易的根据目标监控对象对应的容器获取到目标监控对象在容器集群系统中的资源消耗信息。上述方法简单实用,仅需在创建容器时添加包含目标监控对象的标识,即可根据目标监控对象的标识,实时监控到目标监控对象所消耗资源。

在实际应用中,当资源监控服务器执行完上述s103步骤后,还可以执行步骤:将目标监控对象对应的容器的资源消耗信息发送至用户端。本实施例中,当资源监控服务器得到目标监控对象对应的资源消耗信息时,可以直接将该资源消耗信息发送至用户端,以便用户端获取该资源消耗信息,或者展示该资源消耗信息,方便用户查看或根据实际应用需求调整目标监控对象在容器集群系统中的资源消耗情况,从而合理利用容器集群系统中的各种类型资源。

图3为图2实施例中s102的另一种实现方式的流程图,如图3所示,上述s102“根据监控指令获取标识对应的容器集群系统中预设的容器标签集合”,包括:

s201、从监控指令提取出目标监控对象的标识。

当资源监控服务器接收到监控指令时,即可从该监控指令中提取出目标监控对象的标识,以便之后查询容器标签时使用。

s202、根据目标监控对象的标识确定容器集群系统中包含标识的容器标签,得到容器标签集合。

当资源监控服务器获取到目标监控对象的标识时,可以在容器集群系统中的各容器的容器标签中确定包含该目标监控对象的标识的容器标签,若该容器标签为多个,则可得到容器标签集合。

图4为图2实施例中s103的另一种实现方式的流程图,如图4所示,上述s103“根据容器标签集合确定目标监控对象对应的容器资源消耗信息”,包括:

s301、确定与容器标签集合关联的容器列表。

本实施例中,当资源监控服务器获取到容器标签集合时,可以直接根据容器标签集合中的各容器标签确定各容器标签对应的容器,然后将各容器标签对应的容器录入到一张列表中,生成容器列表,该容器列表即与容器标签集合关联,也与目标监控对象的标识关联。

s302、从预设数据库中,获取容器列表中各容器的实时资源消耗信息,预设数据库中存储了容器集群系统中各容器的实时资源消耗信息和各容器的容器标签。

其中,预设数据库可以是资源监控服务器上的数据库,也可以是独立的云端数据库,还可以是其它设备上的数据库,对此本实施例不做限定。预设数据库中预先存储了容器集群系统中各容器的实时资源消耗信息和各容器的容器标签,其中各容器的实时资源消耗信息由容器集群系统中的各节点终端实时采集自身容器上的资源消耗信息得到,或由容器集群系统中独立设置的采集装置实时采集各节点终端上容器的资源消耗信息得到。各容器的容器标签预先由容器集群系统中的各节点终端采集自身容器上的标签信息时获得,或由容器集群系统中独立设置的采集装置实时采集各节点终端上容器的标签信息获得,而容器标签则由各节点终端在创建各自容器时确定。

本实施例中,当资源监控服务器获取到与容器标签集合关联的容器列表后,即可从该容器列表中记录的容器信息中获取到与容器标签集合关联的各容器,再根据各容器的标识从预设数据库中获取各容器的实时资源消耗信息,以便之后使用。

s303、根据容器列表中各容器的实时资源消耗信息确定目标监控对象的标识对应的资源消耗信息。

当资源监控服务器获取到容器列表中各容器的实时资源消耗信息时,资源监控服务器可以进一步的将容器列表中各容器的实时资源消耗信息相加或合并,从而得到目标监控对象对应的资源消耗信息。

可选地,在一个实施例中提供了上述s201的另一种实现方式,上述s201“确定与容器标签集合关联的容器列表”,具体包括步骤:将容器标签集合中各容器标签对应的容器,确定为与容器标签集合关联的容器列表中的容器。

本实施例涉及根据容器标签集合容器列表的具体过程,包括:先根据容器标签集合中各容器标签携带的容器标识或用于识别容器的信息,确定各容器标签对应的容器,再进一步的将对应的容器录入到一张列表中,以生成容器列表。需要说明的是,不同的容器标签集合对应不同的容器列表,相当于不同的目标监控对象对应不同的容器列表。

在实际应用中,上述预设数据库可以预先由资源监控服务器创建,也可以由容器集群系统中的其它设备创建,或者由云端服务器创建,对此本实施例不做限定。基于上述应用环境,预设数据库的创建过程,如图5所示,包括:

s401、接收用户端发送的任务指令;任务指令包括目标监控对象的定义文件,目标监控对象的定义文件包括目标监控对象对应容器的定义文件。

其中,目标监控对象的定义文件可以包括一个工作流的定义文件,也可以包括多个工作流的定义文件,当目标监控对象为工作流监控对象时,目标监控对象的定义文件包括工作流的定义文件,当目标监控对象为用户监控对象时,目标监控对象的定义文件可以包括与该用户对象关联的至少一个工作流的定义文件,当目标监控对象为团队监控对象时,目标监控对象的定义文件可以包括与该团队对象关联的至少一个工作流的定义文件。容器的定义文件为与目标监控对象关联的各容器的容器定义文件。

本实施例中,当用户端需要将容器集群系统中各容器的实时资源消耗信息和各容器的容器标签存储至预设的数据库,以创建预设数据库时,用户端可以向资源监控服务器发送任务指令,当资源监控服务器接收到该任务指令后,即可从该任务指令中提取出目标监控对象的定义文件,以及目标监控对象的定义文件中包含的目标监控对象对应容器的定义文件,以便之后创建目标监控对象和容器时使用。

s402、根据目标监控对象的定义文件创建目标监控对象,以及根据目标监控对象对应容器的定义文件,创建目标监控对象对应的容器;容器携带容器标签。

本实施例中,当资源监控服务器从任务指令中提取出目标监控对象的定义文件后,即可根据该目标监控对象的定义文件创建目标监控对象,该目标监控对象携带包含目标监控对象的标识的标签。当资源监控服务器从任务指令中提取出目标监控对象的定义文件,并从中提取出目标监控对象对应容器的定义文件后,即可根据该目标监控对象对应容器的定义文件创建目标监控对象对应的容器,该容器携带包含目标监控对象的标识的容器标签。

s403、获取目标监控对象对应的容器的实时资源消耗信息和目标监控对象对应的容器的容器标签。

本实施例中,当资源监控服务器确定目标监控对象对应的各容器时,可以从各容器所属节点终端上采集的信息中获取到各容器的实时资源消耗信息,和各容器的容器标签。可选的,在容器集群系统中也可以独立设置采集装置,采集容器所属节点终端上的各容器的实时资源消耗信息和容器标签,然后资源监控服务器从该采集装置上获取目标监控对象对应的容器的实时资源消耗信息和目标监控对象对应的容器的容器标签。

s404、将目标监控对象对应的容器的实时资源消耗信息和目标监控对象对应的容器的容器标签存储至预设数据库。

当资源监控服务器从容器所属节点终端或采集装置上获取到目标监控对象对应的容器的实时资源消耗信息和目标监控对象对应的容器的容器标签后,即可将该目标监控对象对应的容器的实时资源消耗信息和目标监控对象对应的容器的容器标签存储至预设数据库中,以便后期监控容器集群系统中各容器,或监控容器集群系统中的目标监控对象时使用。可选的,当资源监控服务器从容器所属节点终端或采集装置上获取到目标监控对象对应的容器的实时资源消耗信息和目标监控对象对应的容器的容器标签后,还可以先对这些信息进行整理,即对这些数据的数据格式进行变换,使这些数据可以正常存储至预设数据库,并可以被正常读取。

上述实施例完成了预设数据库的创建,需要说明的是,创建过程中,资源监控服务器可以根据用户端输入的各种任务指令,执行创建操作,其中不同种任务指令可以包含不同的目标监控对象的定义文件,即创建不同的目标监控对象,以及不同的目标监控对象对应的容器,因此,最终创建好的预设数据库中可以存储多种类型的目标监控对象对应的容器的实时资源消耗信息,以及多种类型的目标监控对象对应的容器的容器标签。

在一种应用场景中,只要容器集群系统中的所有容器均预先打上容器标签,则上述最终创建好的预设数据库中存储了容器集群系统中所有容器的容器标签,以及所有容器的实时资源消耗信息。所有容器可以包括属于某目标监控对象的容器,也可以包括独立的容器。当容器为某目标监控对象的容器的容器时,可以按照上述实施例所述的方法直接创建目标监控对象对应的容器,当容器为独立的容器时,资源监控服务器可以直接接收用户端发送的任务指令,该任务指令包含容器的定义文件,之后,资源监控服务器在该容器定义文件中添加容器的标识,并根据添加后的容器定义文件创建容器,且该容器携带包含容器标识的容器标签。

在一种应用场景中,上述任务指令还可以包括用户认证信息,则资源监控服务器在接收用户端发送的任务指令之后,如图6所示,本申请提供的资源监控方法还包括:

s501、根据用户认证信息验证用户端的的身份。

其中,用户认证信息可以包括用户名、密码等。当资源监控服务器接收到用户端发送的包含用户认证信息的任务指令时,可以从该任务指令中提取出用户认证信息,对该用户端的身份进行验证。具体的验证过程包括:在存储用户信息的数据库中进行查询,如果查询到与该用户认证信息一致的用户,则验证通过,如果查询不到与该用户认证信息一致的用户,则验证失败。需要说明的是,上述存储用户信息的数据库可以是上述预设数据库,也可以是其它数据库,对此本实施例不做限定。

s502、若验证通过,则执行根据目标监控对象的定义文件创建目标监控对象的步骤。

本实施例涉及上述用户端身份验证通过的场景,在该种场景下,说明用户具有创建目标监控对象或容器的权限,当用户端身份验证通过时,可以直接返回执行上述s302的步骤,以根据目标监控对象的定义文件创建目标监控对象,以及根据目标监控对象对应容器的定义文件,创建目标监控对象对应的容器,以便之后监控目标监控对象时使用。

图7为图5实施例中s402的一种实现方式的流程图,如图7所示,上述s402中的“根据目标监控对象的定义文件创建目标监控对象”,包括:

s601、接收用户端输入的目标监控对象的标识,并将目标监控对象的标识添加至目标监控对象的定义文件。

本实施例中,当用户端需要监控目标监控对象在容器集群系统中的资源消耗时,用户端可以先将该目标监控对象的标识发送给资源监控服务器,当资源监控服务器接收到该目标监控对象的标识,以及接收到用户端发送的目标监控对象的定义文件时,资源监控服务器即可读取该目标监控对象的定义文件,并将目标监控对象的标识添加至目标监控对象的定义文件。

s602、根据添加后的目标监控对象的定义文件,创建目标监控对象。

当资源监控服务器将目标监控对象的标识添加至目标监控对象的定义文件后,可以进一步的调用相应的容器集群管理程序,创建目标监控对象。可选的,资源监控服务器也可以将添加后的目标监控对象的定义文件传递给相应的目标监控对象引擎,驱动目标监控对象引擎调用相应的容器集群管理程序,创建目标监控对象。例如,若目标监控对象为工作流监控对象,资源监控服务器可以在不同的工作流步骤中,自动调用容器集群管理程序,创建工作流对应的携带容器标签的容器,并用于执行工作流任务。若目标监控对象为用户监控对象,资源监控服务器可以在该用户管理的各工作流的不同工作流步骤中,自动调用容器集群管理程序,创建该用户对应的各工作流,以及各工作流下的携带容器标签的容器,并用于执行该用户的各工作流任务。

图8为图5实施例中s402的另一种实现方式的流程图,如图7所示,上述s402中的“根据目标监控对象对应容器的定义文件,创建目标监控对象对应的容器”,包括:

s701、将目标监控对象的标识添加至目标监控对象对应容器的定义文件。

本实施例中,当资源监控服务器接收到目标监控对象的定义文件时,可以进一步的从其中获取到目标监控对象对应容器的定义文件,此时,资源监控服务器即可读取目标监控对象对应容器的定义文件,并将目标监控对象的标识添加至目标监控对象对应容器的定义文件。

s702、根据添加后的容器的定义文件,创建目标监控对象对应的容器。

当资源监控服务器将目标监控对象的标识添加至目标监控对象对应容器的定义文件后,可以进一步的调用相应的容器集群管理程序,创建携带容器标签的目标监控对象对应的容器。可选的,资源监控服务器也可以将添加后的目标监控对象对应容器的定义文件传递给相应的容器集群管理服务器,驱动容器集群管理服务器调用相应的容器集群管理程序,在容器集群系统中的各节点终端上创建携带容器标签的目标监控对象对应的容器。

综合上述图6-图8实施例所述的方法,本申请还提供了一种创建携带容器标签的容器的创建方法,如图9所示,该方法包括:

s801、接收用户端发送的任务指令,任务指令包括用户认证信息、目标监控对象的定义文件,目标监控对象的定义文件包括目标监控对象对应容器的定义文件。

s802、根据用户认证信息验证用户端的的身份,若验证通过,则执行步骤s804,若验证不通过,则执行步骤s803。

s803、返回s801的步骤,重新接收用户端发送的任务指令。

s804、接收用户端输入的目标监控对象的标识,并将目标监控对象的标识添加至目标监控对象的定义文件。

s805、根据添加后的目标监控对象的定义文件,调用目标监控对象引擎创建目标监控对象。

s806、将目标监控对象的标识添加至目标监控对象对应容器的定义文件。

s807、根据添加后的容器的定义文件,调用容器集群管理程序创建目标监控对象对应的容器。

上述过程预先创建了携带容器标签的各容器,且各容器携带的标签中包括该容器对应的目标监控对象的标识,则后期在对目标监控对象进行监控时,很容易的能够根据容器标签实现对目标监控对象所耗资源进行监控,上述目标监控对象可以包含任一类型的监控对象,从而扩大了本申请提出的监控方法在容器集群系统中监控的应用领域。

可选地,上述s403中的“获取目标监控对象对应的容器的实时资源消耗信息和目标监控对象对应的容器的容器标签”,具体包括:获取采集器采集到的目标监控对象对应的容器的实时资源消耗信息和目标监控对象对应的容器的容器标签;采集器包括容器集群管理程序提供的采集器,或者自定义网络服务程序提供的采集器。

本实施例中,当资源监控服务器基于图6-图9实施例的步骤,给容器集群系统中的目标监控对象打上标签,以及目标监控对象对应的容器打上容器标签后,容器集群系统中各节点终端上的采集器,或者容器集群系统中独立的采集装置即可实时采集容器集群系统中每个容器的实时资源消耗信息和每个容器的容器标签。上述各节点终端上的采集器可以是容器集群管理程序提供的采集器,该类型的采集器分布于各个节点终端中的进程中,并可以通过一些计算机系统命令获取容器的实时资源消耗信息。例如,容器集群系统kubernetes的组件kubelet、apiserver等可以提供容器信息。可选的,上述各节点终端上的采集器可以是自定义网络服务程序提供的采集器,该采集器具体可以是用户编写的一个网络服务程序,该程序可以运行于容器集群系统中每个节点终端上。例如,当需要采集每个节点终端gpu利用率等信息时,用户可以自定义网络服务程序,并通过nvidia-smi命令获取gpu利用率等信息。

当容器集群系统中各节点终端上的采集器或容器集群系统中采集装置实时采集到容器集群系统中目标监控对象对应的容器的实时资源消耗信息和目标监控对象对应的容器的容器标签时,资源监控服务器可以从上述采集器或采集装置上获取到目标监控对象对应的容器的实时资源消耗信息和目标监控对象对应的容器的容器标签。

可选的,在一种应用场景中,资源监控服务器上可以预先设置中央总采集器,该中央总采集器可以是运行在资源监控服务器上的进程,其每隔一段时间访问一遍上述每个节点终端上的采集器或独立设置的采集装置,以获取到目标监控对象对应的容器的实时资源消耗信息和目标监控对象对应的容器的容器标签。在该应用场景下,需要说明的是,当上述每个节点终端上的采集器或独立设置的采集装置采集到目标监控对象对应的容器的实时资源消耗信息和目标监控对象对应的容器的容器标签时,还需要将这些信息整理成中央总采集器可以识别的数据格式,然后等中央总采集器来抓取这些数据或者将这些数据主动发送给中央总采集器。

综上,本申请提供了一种资源监控系统,如图10所示,该资源监控系统包括:多个节点终端、资源监控服务器、用户端、预设数据库、容器集群管理服务器,其中节点终端上设置有采集器,以及包括多个预设有容器标签的容器,资源监控服务器设置有中央总采集器。节点终端用于调用容器集群管理服务器上的容器集群管理程序创建携带目标监控对象的标识的容器标签的容器;资源监控服务器用于根据用户端发送的任务指令,调用容器集群管理服务器上的容器集群管理程序创建目标监控对象,资源监控服务器还用于获取各节点终端上采集器采集到的容器标签和该资源监控系统中各容器的实时资源消耗信息,并将这些信息或数据存储至预设数据库中。另外,资源监控服务器还用于根据用户端发送的监控指令,监控目标监控对象在该资源监控系统中的资源消耗,并将监控到的目标监控对象的资源消耗信息发送给用户端。用户端用于向资源监控服务器发送封装目标监控对象的标识的监控指令和封装目标监控对象的定义文件的任务指令。预设数据库用于存储资源监控系统中各容器的实时资源消耗信息和各容器的容器标签。容器集群管理服务器用于提供容器集群管理程序给资源监控系统中的其它服务器或设备使用。

基于图10实施例所述的资源监控系统的结构示意图,本申请提供了一种资源监控方法,如图11所示,该方法包括:

s901、资源监控服务器接收用户端发送的任务指令;任务指令包括目标监控对象的定义文件,目标监控对象的定义文件包括目标监控对象对应容器的定义文件。

s902、资源监控服务器接收用户端输入的目标监控对象的标识,并将目标监控对象的标识添加至目标监控对象的定义文件,以及将目标监控对象的标识添加至目标监控对象对应容器的定义文件。

s903、资源监控服务器调用容器集群管理服务器上的容器集群管理程序,根据目标监控对象的定义文件创建目标监控对象,以及根据目标监控对象对应容器的定义文件,在各节点终端上创建目标监控对象对应的容器;容器携带容器标签。

s904、资源监控服务器获取节点终端上采集器采集到的目标监控对象对应的容器的实时资源消耗信息和目标监控对象对应的容器的容器标签。

s905、资源监控服务器将采集到的目标监控对象对应的容器的实时资源消耗信息和目标监控对象对应的容器的容器标签存储至预设数据库中。

s906、接收用户端发送的监控指令;监控指令携带目标监控对象的标识;监控指令用于监控目标监控对象在容器集群系统中的资源消耗。

s907、根据监控指令获取容器集群系统中与目标监控对象的标识对应的容器标签集合。

s908、根据容器标签集合确定与容器标签集合关联的容器列表;所述容器列表中各容器的容器标签包含的目标监控对象的标识相同。

s909、从预设数据库中,获取容器列表中各容器的实时资源消耗信息。

s910、将各容器的实时资源消耗信息进行合并,得到目标监控对象对应的资源消耗信息。

s911、将目标监控对象对应的容器的资源消耗信息发送至用户端。

上述实施中各步骤的说明内容与前述实施例中的各实施例的说明内容相同,详细内容请参见前述说明,在此不重复累赘说明。

应该理解的是,虽然图2-11的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-11中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行。

在一个实施例中,如图12所示,提供了一种资源监控装置,包括:接收模块11、获取模块12和确定模块13,其中:

接收模块11,用于接收监控指令;监控指令携带目标监控对象的标识;

获取模块12,用于根据监控指令获取标识对应的容器集群系统中预设的容器标签集合;容器标签包括容器对应的目标监控对象的标识;

确定模块13,用于根据容器标签集合确定目标监控对象对应的容器的资源消耗信息。

在一个实施例中,如图13所示,上述获取模块12包括:

提取单元121,用于从监控指令提取出目标监控对象的标识;

确定标签集合单元122,用于根据目标监控对象的标识确定容器集群系统中包含标识的容器标签,得到容器标签集合。

在一个实施例中,如图14所示,上述确定模块13包括:

第一确定单元131,用于确定与容器标签集合关联的容器列表;

第一获取单元132,用于从预设数据库中,获取容器列表中各容器的实时资源消耗信息;预设数据库中存储了容器集群系统中各容器的实时资源消耗信息和各容器的容器标签;

第二确定单元133,用于根据容器列表中各容器的实时资源消耗信息确定目标监控对象对应的资源消耗信息。

在一个实施例中,上述第一确定单元131具体用于将容器标签集合中各容器标签对应的容器,确定为与容器标签集合关联的容器列表中的容器。

在一个实施例中,如图15所示,上述资源监控装置还包括:创建模块15,该创建模块15包括:

接收单元151,用于接收用户端发送的任务指令;任务指令包括目标监控对象的定义文件,目标监控对象的定义文件包括目标监控对象对应容器的定义文件;

创建单元152,用于根据目标监控对象的定义文件创建目标监控对象,以及根据目标监控对象对应容器的定义文件,创建目标监控对象对应的容器;容器携带容器标签;

第二获取单元153,用于获取目标监控对象对应的容器的实时资源消耗信息和目标监控对象对应的容器的容器标签;

存储单元154,用于将目标监控对象对应的容器的实时资源消耗信息和目标监控对象对应的容器的容器标签存储至预设数据库。

在一个实施例中,上述创建单元152具体用于接收用户端输入的目标监控对象的标识,并将目标监控对象的标识添加至目标监控对象的定义文件;根据添加后的目标监控对象的定义文件,创建目标监控对象。

在一个实施例中,上述创建单元152还具体用于将目标监控对象的标识添加至目标监控对象对应容器的定义文件;根据添加后的容器的定义文件,创建目标监控对象对应的容器。

在一个实施例中,上述任务指令还包括用户认证信息,则上述接收单元151之前,如图16所示,上述创建模块15还包括:

验证单元155,用于根据用户认证信息验证用户端的的身份;

执行单元156,用于在认证通过时,执行根据目标监控对象的定义文件创建目标监控对象的步骤。

在一个实施例中,上述第二获取单元153具体用于获取采集器采集到的目标监控对象对应的容器的实时资源消耗信息和目标监控对象对应的容器的容器标签;采集器包括容器集群管理程序提供的采集器,或者自定义网络服务程序提供的采集器。

关于资源监控装置的具体限定可以参见上文中对于一种资源监控方法的限定,在此不再赘述。上述资源监控装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图17所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种资源监控方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图17中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

接收监控指令;监控指令携带目标监控对象的标识;

根据监控指令获取标识对应的容器集群系统中预设的容器标签集合;容器标签包括容器对应的目标监控对象的标识;

根据容器标签集合确定目标监控对象对应的容器的资源消耗信息。

上述实施例提供的一种计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时还实现以下步骤:

接收监控指令;监控指令携带目标监控对象的标识;

根据监控指令获取标识对应的容器集群系统中预设的容器标签集合;容器标签包括容器对应的目标监控对象的标识;

根据容器标签集合确定目标监控对象对应的容器的资源消耗信息。

上述实施例提供的一种计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双倍数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1