System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 监控信息获取方法及装置、存储介质及电子设备制造方法及图纸_技高网

监控信息获取方法及装置、存储介质及电子设备制造方法及图纸

技术编号:40833423 阅读:3 留言:0更新日期:2024-04-01 14:57
本申请涉及计算机技术领域,提供一种监控信息获取方法及装置、存储介质及电子设备。其中,监控信息获取方法应用于宿主机上的第一pod,具体包括:挂载目标目录,目标目录为Cgroup Driver在宿主机上对应的目录;根据目标目录下的子目录结构确定宿主机当前配置的Cgroup Driver类型,不同的Cgroup Driver类型对应的子目录结构不同;根据Cgroup Driver类型从目标目录下对应的位置获取宿主机上待监控的第二pod的pod信息。上述方法在获取监控信息时根据目标目录下的子目录结构自适应地判断Cgroup Driver类型,从而减少了安全隐患,并且适合于在大规模集群部署的场景中应用。

【技术实现步骤摘要】

本申请涉及计算机,具体而言,涉及一种监控信息获取方法及装置、存储介质及电子设备


技术介绍

1、cgroup是linux内核提供的一种可以限制、记录、隔离进程组所使用的物理资源(如cpu、内存、磁盘io等等)的机制,而cgroup驱动(cgroup driver)是对cgroup接口的封装,通过cgroup driver用户可以对cgroup进行操作,根据实现的不同,cgroup driver可以具有不同的类型,例如systemd、cgroupfs等。

2、在kubernates环境中,当需要监测宿主机上运行的pod的信息时,一般需要先确定宿主机当前配置的cgroup driver的类型,然后根据cgroup driver的类型去查找所需的信息。

3、现有技术中通常是通过挂载docker目录,然后利用docker info命令查询docker信息来获得cgroup driver的类型,但此举可能会暴露宿主机中的docker信息和docker操作权限,存在一定的安全隐患。


技术实现思路

1、本申请实施例的目的在于提供一种监控信息获取方法及装置、存储介质及电子设备,以改善上述至少部分技术问题。

2、为实现上述目的,本申请提供如下技术方案:

3、第一方面,本申请实施例提供一种监控信息获取方法,应用于宿主机上的第一pod,所述方法包括:挂载目标目录;其中,所述目标目录为cgroup driver在宿主机上对应的目录;根据所述目标目录下的子目录结构确定所述宿主机当前配置的cgroup driver类型;其中,不同的cgroup driver类型对应的子目录结构不同;根据所述cgroup driver类型从所述目标目录下对应的位置获取所述宿主机上待监控的第二pod的pod信息。

4、上述方法通过目标目录下的子目录结构来自适应地判断宿主机当前配置的cgroup driver类型,进而根据cgroup driver类型获取监控所需的pod信息,从而避免了通过docker命令来查询cgroup driver类型,减少了系统的安全隐患,另外也不需要手动提前设定cgroup driver类型,因此适合在大规模集群部署的场景中应用。

5、在第一方面的一种实现方式中,所述cgroup driver类型包括systemd或cgroupfs,所述根据所述目标目录下的子目录结构确定所述宿主机当前配置的cgroupdriver类型,包括:若所述目标目录下包括与systemd对应的第一子目录,则确定所述cgroup driver类型为systemd,否则确定所述cgroup driver类型为cgroupfs;或者,若所述目标目录下包括与cgroupfs对应的第二子目录,则确定所述cgroup driver类型为cgroupfs,否则确定所述cgroup driver类型为systemd。

6、在上述实现方式中,可以通过判断目标目录下是否存在第一子目录来确定cgroupdriver类型(systemd或cgroupfs),判断方式简单且具有自适应性。或者,也可以通过目标目录下是否存在第二子目录来判断,方法类似。

7、在第一方面的一种实现方式中,所述cgroup driver类型包括systemd或cgroupfs,所述根据所述目标目录下的子目录结构确定所述宿主机当前配置的cgroupdriver类型,包括:若所述目标目录下包括与systemd对应的第一子目录且所述第一子目录不是空目录,则确定所述cgroup driver类型为systemd,否则确定所述cgroup driver类型为cgroupfs;或者,若所述目标目录下包括与cgroupfs对应的第二子目录且所述第二子目录不是空目录,则确定所述cgroup driver类型为cgroupfs,否则确定所述cgroup driver类型为systemd。

8、在上述实现方式中,可以通过判断目标目录下是否存在第一子目录以及第一子目录是否为空目录来确定cgroup driver类型(systemd或cgroupfs),判断方式简单、准确性高且具有自适应性。或者,也可以通过目标目录下是否存在第二子目录以及第二子目录是否为空目录来判断,方法类似。

9、在第一方面的一种实现方式中,所述第一子目录为所述目标目录下与systemd对应的多个子目录中的任选的一个,所述第二子目录为所述目标目录下与cgroupfs对应的多个子目录中的任选的一个。

10、在上述实现方式中,目标目录下与systemd对应的多个子目录任选一个都可以作为第一子目录,从而第一子目录在选取上非常灵活,对于cgroup driver类型的判断也更加自由。对于目标目录下与cgroupfs对应的多个子目录,也是类似的。

11、在第一方面的一种实现方式中,所述根据所述cgroup driver类型从所述目标目录下对应的位置获取所述宿主机上待监控的第二pod的pod信息,包括:若所述cgroupdriver类型为systemd,则从所述目标目录下与systemd对应的至少一个子目录中获取所述第二pod的pod信息,所述目标目录下与systemd对应的子目录中包括所述第一子目录;若所述cgroup driver类型为cgroupfs,则至少从所述目标目录下与cgroupfs对应的至少一个子目录中获取所述第二pod的pod信息,所述目标目录下与cgroupfs对应的子目录中包括所述第二子目录。

12、在上述实现方式中,一旦确定了cgroup driver类型,就可以根据cgroup driver类型从相应的子目录下获取第二pod的pod信息,十分方便。

13、在第一方面的一种实现方式中,所述第二pod为多个,多个第二pod共享所述宿主机虚拟化的gpu资源。

14、在上述实现方式中,由于多个第二pod共享宿主机虚拟化的gpu资源,有利于改善因gpu资源有限所导致的任务长时间排队、用户体验较差的问题。

15、在第一方面的一种实现方式中,kubernates管理的集群中包括多台宿主机,每台宿主机上均运行有所述第一pod和所述第二pod。

16、在上述实现方式中,宿主机采用集群部署,而本申请的方法由于可自动根据子目录结构确定cgroup driver类型,因此可以很高效地实现集群部署场景下pod运行状态的监控。反观一些手动配置cgroup driver类型的方案,则由于宿主机数量较多且每台宿主机上的cgroup driver类型不一定相同,导致配置效率低下,不利于实现高效的监控。

17、第二方面,本申请实施例提供一种监控信息获取装置,配置于宿主机,所述装置包括:目录挂载模块,用于利用所述宿主机上的第一pod挂载目标目录;其中,所述目标目录为cgroup driver在宿主机上对应的目录;类型确定模块,用于利用所述第一pod根据所述目标目录下的子目录本文档来自技高网...

【技术保护点】

1.一种监控信息获取方法,其特征在于,应用于宿主机上的第一pod,所述方法包括:

2.根据权利要求1所述的监控信息获取方法,其特征在于,所述Cgroup Driver类型包括Systemd或Cgroupfs,所述根据所述目标目录下的子目录结构确定所述宿主机当前配置的Cgroup Driver类型,包括:

3.根据权利要求1所述的监控信息获取方法,其特征在于,所述Cgroup Driver类型包括Systemd或Cgroupfs,所述根据所述目标目录下的子目录结构确定所述宿主机当前配置的Cgroup Driver类型,包括:

4.根据权利要求2或3所述的监控信息获取方法,其特征在于,所述第一子目录为所述目标目录下与Systemd对应的多个子目录中的任选的一个,所述第二子目录为所述目标目录下与Cgroupfs对应的多个子目录中的任选的一个。

5.根据权利要求2或3所述的监控信息获取方法,其特征在于,所述根据所述CgroupDriver类型从所述目标目录下对应的位置获取所述宿主机上待监控的第二pod的pod信息,包括:

6.根据权利要求1所述的监控信息获取方法,其特征在于,所述第二pod为多个,多个第二pod共享所述宿主机虚拟化的GPU资源。

7.根据权利要求1所述的监控信息获取方法,其特征在于,kubernates管理的集群中包括多台宿主机,每台宿主机上均运行有所述第一pod和所述第二pod。

8.一种监控信息获取装置,其特征在于,配置于宿主机,所述装置包括:

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行如权利要求1-7中任一项所述的方法。

10.一种电子设备,其特征在于,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行权利要求1-7中任一项所述的方法。

...

【技术特征摘要】

1.一种监控信息获取方法,其特征在于,应用于宿主机上的第一pod,所述方法包括:

2.根据权利要求1所述的监控信息获取方法,其特征在于,所述cgroup driver类型包括systemd或cgroupfs,所述根据所述目标目录下的子目录结构确定所述宿主机当前配置的cgroup driver类型,包括:

3.根据权利要求1所述的监控信息获取方法,其特征在于,所述cgroup driver类型包括systemd或cgroupfs,所述根据所述目标目录下的子目录结构确定所述宿主机当前配置的cgroup driver类型,包括:

4.根据权利要求2或3所述的监控信息获取方法,其特征在于,所述第一子目录为所述目标目录下与systemd对应的多个子目录中的任选的一个,所述第二子目录为所述目标目录下与cgroupfs对应的多个子目录中的任选的一个。

5.根据权利要求2或3所述的监控信息获取方法,其特征在于,所述根据所...

【专利技术属性】
技术研发人员:贺元杰郭为
申请(专利权)人:上海天数智芯半导体有限公司
类型:发明
国别省市:

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

1