CN115658429A - 容器挂载设备监控方法、装置、设备及存储介质 - Google Patents
容器挂载设备监控方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115658429A CN115658429A CN202211268729.8A CN202211268729A CN115658429A CN 115658429 A CN115658429 A CN 115658429A CN 202211268729 A CN202211268729 A CN 202211268729A CN 115658429 A CN115658429 A CN 115658429A
- Authority
- CN
- China
- Prior art keywords
- hardware
- host
- application
- target container
- identifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本公开提供一种容器挂载设备监控方法、装置、设备及存储介质,涉及计算机技术领域,具体涉及应用程序容器化、软件交互、数据监控等技术领域,可应用于容器数据分析、容器故障预测、容器优化等场景下。具体实现方案包括:采集目标容器所在的宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识;采集目标容器挂载的硬件设备的设备标识;根据目标容器挂载的硬件设备的设备标识、宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识,确定目标容器挂载的硬件设备的运行数据。本公开可以更灵活地监控容器挂载的不同类型硬件设备的运行数据,对不同类型硬件设备的适应性更强,且监控成本较低。
Description
技术领域
本公开涉及计算机技术领域,具体涉及应用程序容器化、软件交互、数据监控等技术领域,可应用于容器数据分析、容器故障预测、容器优化等场景下,尤其涉及一种容器挂载设备监控方法、装置、设备及存储介质。
背景技术
应用程序容器化是指将应用程序的软件代码和所需的所有组件(例如,库、框架和其他依赖项等)打包在一起,让应用程序的软件代码和应用程序所需的所有组件隔离在应用程序对应的容器中进行运行。应用程序容器化可以使得应用程序能够在任何运行环境和任何基础架构上一致地移动和运行,不受运行环境或基础架构的操作系统影响。
当应用程序以容器化方式运行时,可以对应用程序对应的容器中所挂载的硬件设备(或称为挂载设备)的运行数据进行监控。通过对监控数据进行分析,可以了解容器的负载和瓶颈。
目前,对容器挂载的硬件设备进行监控的方式主要包括:在容器宿主机上运行一个监控服务。监控服务中内置容器挂载的硬件设备的软件开发工具包(softwaredevelopment kit,SDK)。监控服务通过容器运行时接口(container runtime interface,CRI)获取宿主机上运行的所有容器。针对每个容器,当监控服务发现容器挂载了硬件设备时,监控服务通过内置的该硬件设备的SDK,获取该硬件设备的使用率、显存使用率等运行数据作为该硬件设备的监控数据。
发明内容
本公开提供了一种容器挂载设备监控方法、装置、设备及存储介质,能够更灵活地监控容器挂载的不同类型硬件设备的运行数据,对不同类型硬件设备的适应性更强,且监控成本较低。
根据本公开的第一方面,提供了一种容器挂载设备监控方法,所述方法包括:
采集目标容器所在的宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识;采集目标容器挂载的硬件设备的设备标识;根据目标容器挂载的硬件设备的设备标识、宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识,确定目标容器挂载的硬件设备的运行数据。
根据本公开的第二方面,提供了一种容器挂载设备监控装置,所述装置包括:第一采集单元、第二采集单元、以及指标融合单元。
第一采集单元,用于采集目标容器所在的宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识;第二采集单元,用于采集目标容器挂载的硬件设备的设备标识;指标融合单元,用于根据目标容器挂载的硬件设备的设备标识、宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识,确定目标容器挂载的硬件设备的运行数据。
根据本公开的第三方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的方法。
根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行根据第一方面所述的方法。
根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据第一方面所述的方法。
根据本公开的第六方面,提供了一种容器监控系统,包括如第三方面所述的电子设备。
本公开通过采集目标容器所在的宿主机上运行的硬件设备的运行数据、宿主机上运行的硬件设备的设备标识、以及目标容器挂载的硬件设备的设备标识,并根据目标容器挂载的硬件设备的设备标识、宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识,确定目标容器挂载的硬件设备的运行数据,可以更灵活地监控容器挂载的不同类型硬件设备的运行数据,对不同类型硬件设备的适应性更强,且监控成本较低。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1为本公开实施例提供的容器挂载设备监控方法的流程示意图;
图2为本公开实施例提供的容器挂载设备监控方法的另一流程示意图;
图3为本公开实施例提供的容器挂载设备监控的原理示意图;
图4为本公开实施例提供的容器挂载设备监控方法的又一流程示意图;
图5为本公开实施例提供的容器挂载设备监控装置的组成示意图;
图6为本公开实施例提供的容器挂载设备监控装置的另一组成示意图;
图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
应当理解,在本公开各实施例中,字符“/”一般表示前后关联对象是一种“或”的关系。术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
应用程序容器化是指将应用程序的软件代码和所需的所有组件(例如,库、框架和其他依赖项等)打包在一起,让应用程序的软件代码和应用程序所需的所有组件隔离在应用程序对应的容器中进行运行。应用程序容器化可以使得应用程序能够在任何运行环境和任何基础架构上一致地移动和运行,不受运行环境或基础架构的操作系统影响。
当应用程序以容器化方式运行时,可以对应用程序对应的容器中所挂载的硬件设备(或称为挂载设备)的运行数据进行监控。通过对监控数据进行分析,可以了解容器的负载和瓶颈。
目前,对容器挂载的硬件设备进行监控的方式主要包括:在容器宿主机上运行一个监控服务。监控服务中内置容器挂载的硬件设备的软件开发工具包(softwaredevelopment kit,SDK)。监控服务通过容器运行时接口(container runtime interface,CRI)获取宿主机上运行的所有容器。针对每个容器,当监控服务发现容器挂载了硬件设备时,监控服务通过内置的该硬件设备的SDK,获取该硬件设备的使用率、显存使用率等运行数据作为该硬件设备的监控数据。
例如,相关技术中,监控服务可以是cAdvisor,容器挂载的硬件设备可以是Nvidia图形处理器(graphics processing unit,GPU)。cAdvisor中可以内置Nvidia GPU的NvidiaGPU SDK。当cAdvisor发现容器挂载了Nvidia GPU时,cAdvisor可以通过内置的Nvidia GPUSDK,获取Nvidia GPU的使用率、显存使用率等运行数据作为Nvidia GPU的监控数据。
但是,目前对容器挂载的硬件设备进行监控的方式,仅适用于对类似于NvidiaGPU这样具有较强的开源生态、能够提供SDK的部分硬件设备进行监控。而很多厂商提供的硬件设备可能并不具有很强的开源生态,或者出于其他考虑(如闭源、安全等)不能提供SDK,当容器挂载这类硬件设备时,目前对容器挂载的硬件设备进行监控的方式并不适用,目前并没有能够有效监控这类硬件设备的运行数据的方法。
换言之,目前对容器挂载的硬件设备进行监控的方式,对容器挂载的硬件设备运行数据进行监控的灵活性较差,并不能很好地适用不同类型的硬件设备。
另外,目前对容器挂载的硬件设备进行监控的方式中,将硬件设备的SDK内置到监控服务(如cAdvisor)中,可能会导致监控服务集成多种硬件设备的SDK而产生较高的成本。
在此背景技术下,本公开提供了一种容器挂载设备监控方法,能够更灵活地监控容器挂载的不同类型硬件设备的运行数据,对不同类型硬件设备的适应性更强,且监控成本较低。
一些实施例中,该方法的执行主体可以是容器(或称为目标容器)所在的宿主机。宿主机可以是计算机或服务器,或者还可以是其他具有数据处理能力的设备。
其他一些实施例中,该方法的执行主体也可以是容器监控系统,容器监控系统可以包括宿主机,或者,容器监控系统可以是在宿主机上运行的容器监控服务。本公开对该方法的执行主体不作限制。
可选地,服务器可以是单独的一个服务器,或者,也可以是由多个服务器构成的服务器集群。部分实施方式中,服务器集群还可以是分布式集群。本公开对服务器的具体实现方式也不作限制。
下面对该容器挂载设备监控方法进行示例性说明。
图1为本公开实施例提供的容器挂载设备监控方法的流程示意图。如图1所示,该方法可以包括:
S101、采集目标容器所在的宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识。
示例性地,目标容器可以是某个目标应用程序容器化得到的。例如,可以将目标应用程序的软件代码和所需的所有组件(例如,库、框架和其他依赖项等)打包在一起,让目标应用程序的软件代码和应用程序所需的所有组件隔离在目标应用程序对应的目标容器中进行运行。目标容器可以使得目标应用程序能够在任何运行环境和任何基础架构上一致地移动和运行,不受运行环境或基础架构的操作系统影响。
目标容器运行或部署的载体可以称为目标容器的宿主机。宿主机可以是服务器、计算机等设备,在此对宿主机的设备类型不作限制。
宿主机中可以部署多个(如至少两个)硬件设备,如,硬件设备可以包括:GPU、专用处理器、加速卡设备、FPGA、图形计算卡等。
当目标容器在宿主机上运行时,目标容器可以挂载宿主机中部署的硬件设备,以利用硬件设备的资源(如计算资源)执行目标应用程序的功能。其中,宿主机上运行的硬件设备可以包括N个,N为大于1的整数。目标容器挂载的硬件设备可以包括N个硬件设备中的一个或多个。
S101中可以采集目标容器所在的宿主机上运行的所有硬件设备的运行数据、以及所有硬件设备的设备标识。例如,运行数据可以包括硬件设备的使用率,设备标识可以包括硬件设备的设备名称、设备编号等。
可以理解的,设备标识可以用于唯一区分硬件设备的身份,不同硬件设备具有不同的设备标识。
S102、采集目标容器挂载的硬件设备的设备标识。
S102中所述的设备标识可以参考S101中所述的硬件设备的设备标识。对于同一个宿主机而言,该宿主机中每个硬件设备具有唯一的设备标识。
在S102中,可以采集目标容器挂载的硬件设备的设备标识。区别于S101中采集的宿主机上运行的硬件设备的设备标识,S101中采集的硬件设备的设备标识可以用于确定宿主机中运行有哪些硬件设备,而S102中采集的设备标识可以用于确定目标容器挂载了宿主机中的哪些硬件设备。
S103、根据目标容器挂载的硬件设备的设备标识、宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识,确定目标容器挂载的硬件设备的运行数据。
如S101的实施方式中所述,宿主机上运行的硬件设备可以包括N个。目标容器挂载的硬件设备可以包括N个硬件设备中的一个或多个。S103中,根据目标容器挂载的硬件设备的设备标识、以及宿主机上运行的硬件设备的设备标识,可以从宿主机上运行的硬件设备的运行数据中,筛选得到目标容器挂载的硬件设备的运行数据。
例如,假设宿主机上运行的硬件设备包括设备1、设备2、以及设备3,目标容器挂载了设备1和设备2,则S101中可以采集得到设备1的运行数据和设备标识、设备2的运行数据和设备标识、以及设备3的运行数据和设备标识。S102中可以采集得到设备1的设备标识和设备2的设备标识。S103中可以根据设备1的设备标识和设备2的设备标识,从设备1的运行数据和设备标识、设备2的运行数据和设备标识、以及设备3的运行数据和设备标识中,筛选得到设备1的运行数据和设备2的运行数据。
本公开实施例通过采集目标容器所在的宿主机上运行的硬件设备的运行数据、宿主机上运行的硬件设备的设备标识、以及目标容器挂载的硬件设备的设备标识,并根据目标容器挂载的硬件设备的设备标识、以及宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识,确定目标容器挂载的硬件设备的运行数据,可以更灵活地监控容器挂载的不同类型硬件设备的运行数据,对不同类型硬件设备的适应性更强,且监控成本较低。
例如,本公开实施例提供的容器挂载设备监控方法,不仅可以适用于对类似于Nvidia GPU这样具有较强的开源生态、能够提供SDK的部分硬件设备进行监控,还可以适用于对不具有很强的开源生态,或者出于其他考虑(如闭源、安全等)不能提供SDK的硬件设备进行监控,同样可以适用于前述两类硬件设备混合适用的场景下对硬件设备进行监控。针对不同类型的硬件设备,该方法可以具有较好的灵活性和适应性。
又例如,目前将硬件设备的SDK内置到监控服务(如cAdvisor)中,可能会导致监控服务集成多种硬件设备的SDK而产生较高的成本。而本公开实施例中不需要集成硬件设备的SDK,即可实现对硬件设备的运行数据进行监控,成本较低。
一些实施例中,上述S101可以包括:通过部署于目标容器所在的宿主机上的第一应用,采集宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识;第一应用与宿主机上运行的硬件设备相关,且宿主机上运行的每个硬件设备对应一个第一应用。
上述S102可以包括:通过部署于宿主机上的第二应用,采集目标容器挂载的硬件设备的设备标识。
上述S103可以包括:通过第一应用,向第三应用发送宿主机上运行的硬件设备的运行数据和、以及宿主机上运行的硬件设备的设备标识;通过第二应用,向第三应用发送目标容器挂载的硬件设备的设备标识;通过第三应用,根据目标容器挂载的硬件设备的设备标识、宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识,确定目标容器挂载的硬件设备的运行数据。
例如,图2为本公开实施例提供的容器挂载设备监控方法的另一流程示意图。如图2所示,该方法可以包括:
S201、第一应用采集宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识。
其中,第一应用部署于目标容器所在的宿主机上。第一应用与宿主机上运行的硬件设备相关,且宿主机上运行的每个硬件设备对应一个第一应用。
示例性地,第一应用可以是由宿主机上运行的硬件设备的厂商所提供的软件程序,能够专门用于采集该厂商提供的硬件设备的运行数据。用于监控不同硬件设备的第一应用,可以由不同硬件设备的厂商提供。
其他一些示例中,第一应用也可以是根据硬件设备,向每个硬件设备配置的软件程序,在此不作限制。
S202、第一应用向第三应用发送宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识。
可选地,第三应用可以部署在宿主机上。
S203、第二应用采集目标容器挂载的硬件设备的设备标识。
其中,第二应用部署于宿主机上。
示例性地,第二应用可以是人为配置的软件程序,具有与目标容器的容器运行时接口(container runtime interface,CRI)进行交互的功能。第二应用可以通过与CRI进行交互,获取到目标容器挂载了哪些硬件设备,并采集这些硬件设备的设备标识。
S204、第二应用向第三应用发送目标容器挂载的硬件设备的设备标识。
可选地,S203和S204也可以在S201和S202之前执行,本公开对执行顺序不作限制。
S205、第三应用根据目标容器挂载的硬件设备的设备标识、宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识,确定目标容器挂载的硬件设备的运行数据。
S205可以参见S103所述,不再赘述。
本实施例中,通过第一应用采集宿主机上运行的硬件设备的运行数据和设备标识,通过第二应用采集目标容器挂载的硬件设备的设备标识,通过第三应用确定目标容器挂载的硬件设备的运行数据,可以将监控容器挂载设备的功能通过三个独立的应用模块来实现,实现方式较为简单,且数据之间的关系更直观。第一应用与宿主机上运行的硬件设备相关,且每个硬件设备对应一个第一应用,可以使得每个硬件设备的运行数据能够通过独立的第一应用进行专门的监控,从而能够使得该方法更灵活地适配不同类型的容器挂载设备,获得更准确的容器挂载设备的运行数据。
一些实施例中,上述第三应用也可以部署于服务器上,该服务器与宿主机通信连接。区别于用于实现宿主机的服务器,本实施例中所述的与所述宿主机通信连接的服务器,可以称为远端服务器或监控服务器。
该监控服务器可以用于对容器挂载设备的运行数据进行分析,以实现故障预警、容器优化等功能。
本实施例中,通过将第三应用部署于与宿主机通信连接的服务器上,可以实现利用服务器的算力更快速地确定目标容器所挂载的硬件设备的运行数据,也能够更方便地供服务器对目标容器所挂载的硬件设备的运行数据进行分析。
示例性地,以第三应用部署于与宿主机通信连接的服务器上为例,图3为本公开实施例提供的容器挂载设备监控的原理示意图。如图3所示,假设宿主机为“host01”,目标容器为宿主机上的容器“container01”,且容器“container01”挂载了宿主机“host01”上的硬件设备“device1”和“device2”;宿主机“host01”和监控服务器通信连接,且宿主机“host01”上部署有容器设备采集程序和主机设备采集程序,监控服务器上部署有指标融合程序。
则,在本公开实施例中,主机设备采集程序可以作为第一应用,容器设备采集程序可以作为第二应用,指标融合程序可以作为第三应用。主机设备采集程序与宿主机上运行的硬件设备相关,且每个硬件设备对应一个主机设备采集程序。例如,device1对应的主机设备采集程序为应用1,device2对应的主机设备采集程序为应用2等。
主机设备采集程序可以采集宿主机“host01”上运行的所有硬件设备(包括“device1”和“device2”,还可能包括其他硬件设备,如:“device3”、“device4”等)的运行数据、以及宿主机上运行的所有硬件设备的设备标识(如“device1”、“device2”等即为设备标识),并向指标融合程序发送宿主机“host01”上运行的所有硬件设备的运行数据、以及宿主机上运行的所有硬件设备的设备标识。
容器设备采集程序可以采集容器“container01”挂载的硬件设备“device1”和“device2”的设备标识,并向指标融合程序发送容器“container01”挂载的硬件设备“device1”和“device2”的设备标识。
例如,图3中示出的“容器管理服务”可以是容器运行时接口(container runtimeinterface,CRI),容器设备采集程序可以通过与CRI交互,采集容器“container01”挂载的硬件设备“device1”和“device2”的设备标识。
指标融合程序可以根据容器“container01”挂载的硬件设备“device1”和“device2”的设备标识、宿主机“host01”上运行的所有硬件设备的运行数据、以及宿主机“host01”上运行的所有硬件设备的设备标识,确定容器“container01”挂载的硬件设备“device1”和“device2”的运行数据。
一些实施例中,所述方法还包括:通过第一应用,采集宿主机的主机标识;通过第二应用,采集目标容器的容器标识和主机标识。
上述通过第一应用,向第三应用发送宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识的步骤,包括:通过第一应用,建立主机标识与宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识之间的第一关联关系;通过第一应用,基于第一关联关系,向第三应用发送宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识。
上述通过第二应用,向第三应用发送目标容器挂载的硬件设备的设备标识的步骤,包括:通过第二应用,建立容器标识和主机标识,与目标容器挂载的硬件设备的设备标识之间的第二关联关系;通过第二应用,基于第二关联关系,向第三应用发送目标容器挂载的硬件设备的设备标识。
示例性地,第一关联关系可以表示硬件设备的运行数据属于主机标识对应的宿主机上的硬件设备的运行数据、硬件设备的硬件表示属于主机标识对应的宿主机上的硬件设备的设备标识。例如,第一关联关系可以包括:主机标识与主机标识对应的宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识之间的对应关系。基于第一关联关系,向第三应用发送宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识,可以包括:向第三应用发送主机标识、主机标识对应的宿主机上运行的硬件设备的运行数据、以及主机标识对应的宿主机上运行的硬件设备的设备标识。
可选地,第二关联关系可以表示硬件设备的设备标识属于容器标识对应的目标容器挂载的硬件设备的设备标识,且目标容器在主机标识对应的宿主机上。例如,第二关联关系可以包括:容器标识与容器标识对应的目标容器挂载的硬件设备的设备标识之间的对应关系、以及容器标识与容器标识对应的目标容器所在的宿主机的主机标识之间的对应关系。基于第二关联关系,向第三应用发送目标容器挂载的硬件设备的设备标识,可以包括:向第三应用发送容器标识、容器标识对应的目标容器所在的宿主机的主机标识、以及容器标识对应的目标容器挂载的硬件设备的设备标识。
示例性地,以硬件设备的运行数据为使用率(或称为设备使用率)为例,假设某个硬件设备“device1”的设备标识为“device01”;硬件设备“device1”运行在宿主机“host01”上,宿主机“host01”的主机标识为“host01”;则,当硬件设备“device1”的使用率为50%时,第一应用向第三应用发送的与硬件设备“device1”相关的监控数据可以包括:“deviceUtility(deviceId=device01,hostId=host01)=50%”。
其中,deviceUtility表示硬件设备“device1”的使用率,其值为50%;deviceId=″device01″表示硬件设备“device1”的设备标识为“device01”;hostId=″host01″表示宿主机的主机标识为“host01”。
第三应用根据(deviceId=″device01″,hostId=″host01″、),可以确定deviceUtility是设备标识为“device01”的硬件设备的使用率,值为50%,且设备标识为“device01”的硬件设备在主机标识为“host01”的宿主机上运行。
示例性地,同样以目标容器“container01”挂载上述硬件设备“device1”为例,第二应用向第三应用发送的与硬件设备“device1”相关的监控数据可以包括:containerDevice(containerId=″container01″,deviceId=″device01″,hostId=″host01″)=1。
其中,containerId=″container01″表示目标容器的容器标识为“container01”;deviceId=″device01″表示硬件设备“device1”的设备标识为“device01”;hostId=″host01″表示宿主机的主机标识为“host01”。
类似地,根据containerDevice(containerId=container01,deviceId=device01,hostId=host01=1,第三应用可以分析得到:容器标识为“container01”的目标容器挂载了设备标识为“device01”的硬件设备,且设备标识为“device01”的硬件设备在主机标识为“host01”的宿主机上运行。
如上所述,第三应用根据第一应用发送的数据,可以得到设备标识为“device01”的硬件设备的使用率为50%,且设备标识为“device01”的硬件设备在主机标识为“host01”的宿主机上运行;根据第二应用发送的数据,可以得到容器标识为“container01”的目标容器挂载了设备标识为“device01”的硬件设备,且设备标识为“device01”的硬件设备在主机标识为“host01”的宿主机上运行。
第三应用对得到的这两种结果进行融合,可以确定容器标识为“container01”的目标容器挂载了设备标识为“device01”的硬件设备,且设备标识为“device01”的硬件设备的使用率为50%。
示例性地,第三应用可以通过下述公式(1)来得到目标容器挂载设备的运行数据。
containerDeviceUtil=
deviceUtilit+on(device_id,host_id)containerDevice*0
公式(1)
其中,containerDeviceUtility表示目标容器挂载设备的运行数据;deviceUtili表示目标容器所在的宿主机上运行的硬件设备的运行数据;containerDevice表示目标容器挂载的硬件设备的硬件标识;on(device_id,host_id)表示deviceUtil和containerDevice分别对应的硬件设备的设备标识、以及宿主机的主机标识均相同。
可选地,以上述示例为例,containerDeviceUtilit可以具有标签(containerId=″container01″,deviceId=″device01″,hostId=″host01″),基于该标签可以直观看到containerDeviceUtility表示的含义为:容器标识为“container01”的目标容器挂载了设备标识为“device01”的硬件设备,且设备标识为“device01”的硬件设备运行在主机标识为“host01”的宿主机上。
本实施例中,通过第一应用采集宿主机的主机标识,并基于主机标识与宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识之间的第一关联关系,向第三应用发送宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识;以及,通过第二应用采集目标容器的容器标识和主机标识,并基于容器标识和主机标识,与目标容器挂载的硬件设备的设备标识之间的第二关联关系,向第三应用发送目标容器挂载的硬件设备的设备标识,可以使得第三应用能够通过主机标识和容器标识,更容易地筛选出目标容器所挂载的硬件设备的运行数据。
例如,当第三应用针对多个不同宿主机上的不同容器进行监控,或者针对同一个宿主机上的不同容器进行监控时,可以有效提高监控效率。
一些实施例中,目标容器挂载的硬件设备的运行数据可以包括以下至少一种:使用率、显存、温度、以及耗电量。本公开对运行数据的具体类型及数量不作限制。
利用本公开实施例提供的容器挂载设备监控方法,开发者可以获取到容器挂载的硬件设备使用的运行数据,基于这些运行数据,开发者可以对容器进行有针对性的调优。
例如,图4为本公开实施例提供的容器挂载设备监控方法的又一流程示意图。如图4所示,一些实施例中,该方法可以包括:
S401、采集目标容器所在的宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识。
S402、采集目标容器挂载的硬件设备的设备标识。
S403、根据目标容器挂载的硬件设备的设备标识、宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识,确定目标容器挂载的硬件设备的运行数据。
S401-S403可以参考S101-S103所述,不再赘述。
S404、根据目标容器挂载的硬件设备的运行数据,对目标容器进行扩容或缩容。
示例性地,以目标容器挂载的硬件设备为加速卡设备为例,加速卡设备的运行数据可以包括显存使用率。当加速卡设备的显存使用率大于某个第一阈值(如90%)时,表示加速卡设备的显存负载过高,可以对目标容器进行扩容,以降低加速卡设备的显存负载,例如,可以增加一个目标容器,或者,将目标容器的数量增加一倍。
当加速卡设备的显存使用率小于某个第二阈值(如20%)时,表示加速卡设备的显存负载很低,资源可能冗余,可以对目标容器进行缩容,以提高资源利用率,例如,可以减少一个目标容器,或者,将目标容器的数量减半。
应当理解,上述第一阈值和第二阈值仅为示例性说明,本公开对第一阈值和第二阈值的大小均不作限制。
可选地,其他一些示例中,也可以通过预训练的AI模型,根据目标容器挂载的硬件设备的运行数据,预测是否需要对目标容器进行扩容或缩容,在此对实现方式也不作限制。
本实施例中,通过根据目标容器挂载的硬件设备的运行数据,对目标容器进行扩容或缩容,可以使得目标容器更稳定地运行、并且不过多消耗硬件设备资源。
一些实施例中,上述根据目标容器挂载的硬件设备的运行数据,对目标容器进行扩容的步骤,还可以包括:获取目标容器挂载的硬件设备的运行数据在预设时长内的变化信息;根据目标容器挂载的硬件设备的运行数据在预设时长内的变化信息,预测目标容器挂载的硬件设备的运行数据达到运行峰值的第一目标时刻;在当前时刻达到第一目标时刻之前,根据运行峰值,对目标容器进行扩容。
示例性地,预设时长可以为1天、1周、1个月等,在此对预设时长的大小不作限制。
目标容器挂载的硬件设备的运行数据在预设时长内的变化信息,可以是指获取目标容器挂载的硬件设备的运行数据在预设时长内的变化趋势,例如,该变化信息可以用目标容器挂载的硬件设备的运行数据的变化曲线来表示。基于目标容器挂载的硬件设备的运行数据在预设时长内的变化信息,可以预测目标容器挂载的硬件设备的运行数据在未来的变化趋势,以确定目标容器挂载的硬件设备的运行数据在未来的什么时刻会达到运行峰值(即最大值),该时刻可以作为上述第一目标时刻。其中,运行峰值为预设值,如:运行数据可以是显存使用率,运行峰值可以是最大显存使用率等。
上述在当前时刻达到第一目标时刻之前,根据运行峰值,对目标容器进行扩容,可以包括:在当前时刻达到第一目标时刻之前的第一时长对应的时刻,根据运行峰值,对目标容器进行扩容。或者,在当前时刻达到第一目标时刻之前,运行数据小于运行峰值、且运行数据与运行峰值之间的差值等于预设差值时对应的时刻,根据所述运行峰值,对目标容器进行扩容。
例如,第一时长可以是1天,假设第一目标时刻为9月22日中午12:00,则可以在当前时刻达到9月21日中午12:00时,根据运行峰值,对目标容器进行扩容。
又例如,运行数据可以是显存使用率,运行峰值可以是最大显存使用率等。预设差值可以是5%。在当前时刻达到第一目标时刻之前,显存使用率小于最大显存使用率、且显存使用率与最大显存使用率之间的差值等于5%时对应的时刻,可以根据运行峰值,对目标容器进行扩容。
一些实现方式中,上述根据运行峰值,对目标容器进行扩容的步骤,可以包括:根据预设的标准运行数据与标准容器数量之间的对应关系,确定运行峰值对应的目标容器数量,并将目标容器的数量增加到达到运行峰值对应的目标容器数量。
其中,标准运行数据和标准容器数量均为预设值,表示目标容器的数量为标准容器数量时,目标容器挂载的硬件设备的运行数据可以保持标准运行数据运行,目标容器的运行性能较好。
本实现方式中,将目标容器的数量增加到达到运行峰值对应的目标容器数量时,可以使得目标容器挂载的硬件设备的运行数据可以由运行峰值降低至标准运行数据,使得目标容器较好地运行。
本实施例中,在当前时刻达到第一目标时刻之前,根据运行峰值,对目标容器进行扩容,可以实现在业务高峰期来临之前提前对目标容器进行扩容,以满足业务高峰期的资源需求。而根据运行峰值,对目标容器进行扩容,可以实现对目标容器进行灵活地扩容,避免资源浪费。
与扩容类似,另外一些实施例中,上述根据目标容器挂载的硬件设备的运行数据,对目标容器进行缩容的步骤,还可以包括:获取目标容器挂载的硬件设备的运行数据在预设时长内的变化信息;根据目标容器挂载的硬件设备的运行数据在预设时长内的变化信息,预测目标容器挂载的硬件设备的运行数据达到运行谷值的第二目标时刻;在当前时刻达到第二目标时刻之前,根据运行谷值,对目标容器进行缩容。
示例性地,预设时长也可以为1天、1周、1个月等,在此对预设时长的大小不作限制。
目标容器挂载的硬件设备的运行数据在预设时长内的变化信息,可以参见前述实施例所述,不再赘述。基于目标容器挂载的硬件设备的运行数据在预设时长内的变化信息,可以预测目标容器挂载的硬件设备的运行数据在未来的变化趋势,以确定目标容器挂载的硬件设备的运行数据在未来的什么时刻会达到运行谷值(即最低值),该时刻可以作为上述第二目标时刻。其中,运行谷值为预设值,如:运行数据可以是显存使用率,运行峰值可以是预设的最小显存使用率等。
上述在当前时刻达到第二目标时刻之前,根据运行谷值,对目标容器进行缩容,可以包括:在当前时刻达到第二目标时刻之前的第二时长对应的时刻,根据运行谷值,对目标容器进行缩容。或者,在当前时刻达到第二目标时刻之前,运行数据大于运行谷值、且运行数据与运行谷值之间的差值等于预设差值(可以与前述运行峰值对应的差值相同,也可以不同)时对应的时刻,根据所述运行谷值,对目标容器进行缩容。
第二时长和第一时长类似,也可以是1天、2天等,例如,以第二时长为1天为例,假设第二目标时刻为9月22日中午12:00,则可以在当前时刻达到9月21日中午12:00时,根据运行谷值,对目标容器进行缩容。
又例如,运行数据可以是显存使用率,运行谷值可以是最小显存使用率等。预设差值可以是25%。在当前时刻达到第二目标时刻之前,显存使用率大于最小显存使用率、且显存使用率与最小显存使用率之间的差值等于25%时对应的时刻,可以根据运行谷值,对目标容器进行缩容。
一些实现方式中,上述根据运行谷值,对目标容器进行缩容的步骤,可以包括:根据预设的标准运行数据与标准容器数量之间的对应关系,确定运行谷值对应的目标容器数量,并将目标容器的数量增加到达到运行谷值对应的目标容器数量。
其中,标准运行数据和标准容器数量可以参考前述实施例所述,不再赘述。本实现方式中,将目标容器的数量增加到达到运行谷值对应的目标容器数量时,可以使得目标容器挂载的硬件设备的运行数据可以由运行谷值增加至标准运行数据,避免目标容器资源浪费。
本实施例中,在当前时刻达到第二目标时刻之前,根据运行谷值,对目标容器进行缩容,可以实现在业务低峰期来临之前提前对目标容器进行缩容,以避免浪费过多的目标容器资源。
示例性实施例中,本公开实施例还提供一种容器挂载设备监控装置,可以用于实现如前述实施例所述的容器挂载设备监控方法。图5为本公开实施例提供的容器挂载设备监控装置的组成示意图。如图5所示,该装置可以包括:第一采集单元501、第二采集单元502、以及指标融合单元503。
第一采集单元501,用于采集目标容器所在的宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识。
第二采集单元502,用于采集目标容器挂载的硬件设备的设备标识。
指标融合单元503,用于根据目标容器挂载的硬件设备的设备标识、宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识,确定目标容器挂载的硬件设备的运行数据。
可选地,第一采集单元501,具体用于通过部署于目标容器所在的宿主机上的第一应用,采集宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识;第一应用与宿主机上运行的硬件设备相关,且宿主机上运行的每个硬件设备对应一个第一应用。
第二采集单元502,具体用于通过部署于宿主机上的第二应用,采集目标容器挂载的硬件设备的设备标识。
第一采集单元501,还用于通过第一应用,向第三应用发送宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识。
第二采集单元502,还用于通过第二应用,向第三应用发送目标容器挂载的硬件设备的设备标识。
指标融合单元503,具体用于通过第三应用,根据目标容器挂载的硬件设备的设备标识、宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识,确定目标容器挂载的硬件设备的运行数据。
可选地,第三应用部署于与宿主机通信连接的服务器上。
可选地,第一采集单元501,还用于通过第一应用,采集宿主机的主机标识。
第二采集单元502,还用于通过第二应用,采集目标容器的容器标识和主机标识。
第一采集单元501,具体用于通过第一应用,建立主机标识与宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识之间的第一关联关系;通过第一应用,基于第一关联关系,向第三应用发送宿主机上运行的硬件设备的运行数据、以及宿主机上运行的硬件设备的设备标识。
第二采集单元502,具体用于通过第二应用,建立容器标识和主机标识,与目标容器挂载的硬件设备的设备标识之间的第二关联关系;通过第二应用,基于第二关联关系,向第三应用发送目标容器挂载的硬件设备的设备标识。
可选地,目标容器挂载的硬件设备的运行数据包括以下至少一种:使用率、显存、温度、以及耗电量。
图6为本公开实施例提供的容器挂载设备监控装置的另一组成示意图。如图6所示,该装置还可以包括:容器管理单元504。
容器管理单元504,用于根据目标容器挂载的硬件设备的运行数据,对目标容器进行扩容或缩容。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品、以及一种容器监控系统。
示例性实施例中,电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如以上实施例所述的方法。该电子设备可以是上述计算机或服务器。
示例性实施例中,可读存储介质可以是存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行根据以上实施例所述的方法。
示例性实施例中,计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现根据以上实施例所述的方法。
示例性实施例中,容器监控系统,包括如前述实施例所述的电子设备。例如,电子设备可以是目标容器所在的宿主机。又例如,容器监控系统还可以包括与宿主机通信连接的服务器。
图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,电子设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
电子设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许电子设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如容器挂载设备监控方法。例如,在一些实施例中,容器挂载设备监控方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到电子设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的容器挂载设备监控方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行容器挂载设备监控方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (16)
1.一种容器挂载设备监控方法,所述方法包括:
采集目标容器所在的宿主机上运行的硬件设备的运行数据、以及所述宿主机上运行的硬件设备的设备标识;
采集所述目标容器挂载的硬件设备的设备标识;
根据所述目标容器挂载的硬件设备的设备标识、所述宿主机上运行的硬件设备的运行数据、以及所述宿主机上运行的硬件设备的设备标识,确定所述目标容器挂载的硬件设备的运行数据。
2.根据权利要求1所述的方法,所述采集目标容器所在的宿主机上运行的硬件设备的运行数据、以及所述宿主机上运行的硬件设备的设备标识,包括:
通过部署于目标容器所在的宿主机上的第一应用,采集所述宿主机上运行的硬件设备的运行数据、以及所述宿主机上运行的硬件设备的设备标识;所述第一应用与所述宿主机上运行的硬件设备相关,且所述宿主机上运行的每个硬件设备对应一个所述第一应用;
所述采集所述目标容器挂载的硬件设备的设备标识,包括:
通过部署于所述宿主机上的第二应用,采集所述目标容器挂载的硬件设备的设备标识;
所述根据所述目标容器挂载的硬件设备的设备标识、所述宿主机上运行的硬件设备的运行数据、以及所述宿主机上运行的硬件设备的设备标识,确定所述目标容器挂载的硬件设备的运行数据,包括:
通过所述第一应用,向第三应用发送所述宿主机上运行的硬件设备的运行数据、以及所述宿主机上运行的硬件设备的设备标识;
通过所述第二应用,向所述第三应用发送所述目标容器挂载的硬件设备的设备标识;
通过所述第三应用,根据所述目标容器挂载的硬件设备的设备标识、所述宿主机上运行的硬件设备的运行数据、以及所述宿主机上运行的硬件设备的设备标识,确定所述目标容器挂载的硬件设备的运行数据。
3.根据权利要求2所述的方法,所述第三应用部署于与所述宿主机通信连接的服务器上。
4.根据权利要求2或3所述的方法,所述方法还包括:
通过所述第一应用,采集所述宿主机的主机标识;
通过所述第二应用,采集所述目标容器的容器标识和所述主机标识;
所述通过所述第一应用,向第三应用发送所述宿主机上运行的硬件设备的运行数据、以及所述宿主机上运行的硬件设备的设备标识,包括:
通过所述第一应用,建立所述主机标识与所述宿主机上运行的硬件设备的运行数据、以及所述宿主机上运行的硬件设备的设备标识之间的第一关联关系;
通过所述第一应用,基于所述第一关联关系,向所述第三应用发送所述宿主机上运行的硬件设备的运行数据、以及所述宿主机上运行的硬件设备的设备标识;
所述通过所述第二应用,向所述第三应用发送所述目标容器挂载的硬件设备的设备标识,包括:
通过所述第二应用,建立所述容器标识和所述主机标识,与所述目标容器挂载的硬件设备的设备标识之间的第二关联关系;
通过所述第二应用,基于所述第二关联关系,向所述第三应用发送所述目标容器挂载的硬件设备的设备标识。
5.根据权利要求1-4任一项所述的方法,所述目标容器挂载的硬件设备的运行数据包括以下至少一种:使用率、显存、温度、以及耗电量。
6.根据权利要求1-5任一项所述的方法,所述确定所述目标容器挂载的硬件设备的运行数据之后,所述方法还包括:
根据所述目标容器挂载的硬件设备的运行数据,对所述目标容器进行扩容或缩容。
7.一种容器挂载设备监控装置,所述装置包括:第一采集单元、第二采集单元、以及指标融合单元;
所述第一采集单元,用于采集目标容器所在的宿主机上运行的硬件设备的运行数据、以及所述宿主机上运行的硬件设备的设备标识;
所述第二采集单元,用于采集所述目标容器挂载的硬件设备的设备标识;
所述指标融合单元,用于根据所述目标容器挂载的硬件设备的设备标识、所述宿主机上运行的硬件设备的运行数据、以及所述宿主机上运行的硬件设备的设备标识,确定所述目标容器挂载的硬件设备的运行数据。
8.根据权利要求7所述的装置,所述第一采集单元,具体用于通过部署于目标容器所在的宿主机上的第一应用,采集所述宿主机上运行的硬件设备的运行数据、以及所述宿主机上运行的硬件设备的设备标识;所述第一应用与所述宿主机上运行的硬件设备相关,且所述宿主机上运行的每个硬件设备对应一个所述第一应用;
所述第二采集单元,具体用于通过部署于所述宿主机上的第二应用,采集所述目标容器挂载的硬件设备的设备标识;
所述第一采集单元,还用于通过所述第一应用,向第三应用发送所述宿主机上运行的硬件设备的运行数据、以及所述宿主机上运行的硬件设备的设备标识;
所述第二采集单元,还用于通过所述第二应用,向所述第三应用发送所述目标容器挂载的硬件设备的设备标识;
所述指标融合单元,具体用于通过所述第三应用,根据所述目标容器挂载的硬件设备的设备标识、所述宿主机上运行的硬件设备的运行数据、以及所述宿主机上运行的硬件设备的设备标识,确定所述目标容器挂载的硬件设备的运行数据。
9.根据权利要求8所述的装置,所述第三应用部署于与所述宿主机通信连接的服务器上。
10.根据权利要求8或9所述的装置,所述第一采集单元,还用于通过所述第一应用,采集所述宿主机的主机标识;
所述第二采集单元,还用于通过所述第二应用,采集所述目标容器的容器标识和所述主机标识;
所述第一采集单元,具体用于通过所述第一应用,建立所述主机标识与所述宿主机上运行的硬件设备的运行数据、以及所述宿主机上运行的硬件设备的设备标识之间的第一关联关系;通过所述第一应用,基于所述第一关联关系,向所述第三应用发送所述宿主机上运行的硬件设备的运行数据、以及所述宿主机上运行的硬件设备的设备标识;
所述第二采集单元,具体用于通过所述第二应用,建立所述容器标识和所述主机标识,与所述目标容器挂载的硬件设备的设备标识之间的第二关联关系;通过所述第二应用,基于所述第二关联关系,向所述第三应用发送所述目标容器挂载的硬件设备的设备标识。
11.根据权利要求7-10任一项所述的装置,所述目标容器挂载的硬件设备的运行数据包括以下至少一种:使用率、显存、温度、以及耗电量。
12.根据权利要求7-11任一项所述的装置,所述装置还包括:容器管理单元;
所述容器管理单元,用于根据所述目标容器挂载的硬件设备的运行数据,对所述目标容器进行扩容或缩容。
13.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行根据权利要求1-6任一项所述的方法。
15.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-6任一项所述的方法。
16.一种容器监控系统,包括如权利要求13所述的电子设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211268729.8A CN115658429A (zh) | 2022-10-17 | 2022-10-17 | 容器挂载设备监控方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211268729.8A CN115658429A (zh) | 2022-10-17 | 2022-10-17 | 容器挂载设备监控方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115658429A true CN115658429A (zh) | 2023-01-31 |
Family
ID=84986573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211268729.8A Pending CN115658429A (zh) | 2022-10-17 | 2022-10-17 | 容器挂载设备监控方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658429A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116339927A (zh) * | 2023-05-29 | 2023-06-27 | 苏州浪潮智能科技有限公司 | 设备确定方法、装置、存储介质及电子装置 |
-
2022
- 2022-10-17 CN CN202211268729.8A patent/CN115658429A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116339927A (zh) * | 2023-05-29 | 2023-06-27 | 苏州浪潮智能科技有限公司 | 设备确定方法、装置、存储介质及电子装置 |
CN116339927B (zh) * | 2023-05-29 | 2023-08-15 | 苏州浪潮智能科技有限公司 | 设备确定方法、装置、存储介质及电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10216753B2 (en) | Data fragmentation tuning and candidacy persistence | |
CN106027328B (zh) | 一种基于应用容器部署的集群监控的方法及系统 | |
CN110073567B (zh) | 分布式资源电力需求预测系统和方法 | |
CN109672722B (zh) | 数据部署方法及装置、计算机存储介质和电子设备 | |
CN113934464A (zh) | Linux系统中启动安卓应用的方法、装置和电子设备 | |
CN111835592B (zh) | 用于确定健壮性的方法、装置、电子设备及可读存储介质 | |
CN113220420A (zh) | 服务监控方法、装置、设备、存储介质及计算机程序产品 | |
US11190581B1 (en) | Job allocation support system and method | |
CN112783731B (zh) | 异常设备检测方法、装置、设备和存储介质 | |
CN115658429A (zh) | 容器挂载设备监控方法、装置、设备及存储介质 | |
CN113795039A (zh) | 运营商网络切换方法、装置、设备和计算机可读存储介质 | |
CN114816393B (zh) | 信息生成方法、装置、设备以及存储介质 | |
CN114185734B (zh) | 一种监控集群的方法、装置及电子设备 | |
CN114430366A (zh) | 信息采集应用下发方法、相关装置及计算机程序产品 | |
CN111949484B (zh) | 信息处理方法、装置、电子设备和介质 | |
CN112817687A (zh) | 一种数据同步方法和装置 | |
CN113556394B (zh) | 云产品网络用量处理方法、装置、设备、存储介质及产品 | |
US8543687B2 (en) | Moving deployment of images between computers | |
CN113535020A (zh) | 用于生成应用图标的方法、装置、设备、介质和产品 | |
CN114070889A (zh) | 配置方法、流量转发方法、设备、存储介质及程序产品 | |
CN114389969A (zh) | 客户端的测试方法、装置、电子设备和存储介质 | |
CN114706893A (zh) | 故障检测方法、装置、设备及存储介质 | |
CN114090201A (zh) | 资源调度方法、装置、设备及存储介质 | |
CN114329164A (zh) | 用于处理数据的方法、装置、设备、介质和产品 | |
CN113419921A (zh) | 一种任务监控方法、装置、设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |