CN114610567A - 容器监控方法、网络设备及存储介质 - Google Patents

容器监控方法、网络设备及存储介质 Download PDF

Info

Publication number
CN114610567A
CN114610567A CN202210179858.3A CN202210179858A CN114610567A CN 114610567 A CN114610567 A CN 114610567A CN 202210179858 A CN202210179858 A CN 202210179858A CN 114610567 A CN114610567 A CN 114610567A
Authority
CN
China
Prior art keywords
container
list
running
record
program
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
Application number
CN202210179858.3A
Other languages
English (en)
Inventor
邱辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN202210179858.3A priority Critical patent/CN114610567A/zh
Publication of CN114610567A publication Critical patent/CN114610567A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例涉及容器技术领域,公开了一种容器监控方法,包括:监控runc程序中容器操作的记录;在监听到所述runc程序中有新增容器操作的记录时,根据所述新增容器操作的记录更新运行中容器列表。本发明实施例还公开了一种网络设备及存储介质。本发明实施例提供的容器监控方法、网络设备及存储介质,可以使得容器事件的感知实时性提高,满足实时性较高的使用场景。

Description

容器监控方法、网络设备及存储介质
技术领域
本发明涉及容器技术领域,特别涉及一种容器监控方法、网络设备及存储介质。
背景技术
在一个大型的公有云容器平台中,一台linux设备上往往运行着大量分属于不同客户和不同业务的容器,并且,由于部署方式的不同,可能既有常驻运行的容器,也有定期和不定期运行的非常驻容器;另外,出于运营和安全等方面的需要,在linux环境下,通常会通过namespace(命名空间)隔离容器与系统上的其它进程,并通过cgroup(control group,控制组)技术对容器进行资源限制。因此,在运行容器的设备上需要有一套通用的容器监控及数据采集方案,以满足容器平台运营的需要。
目前,对于容器监控及数据采集,通常的方案是部署开源的容器监控程序,例如google的cadvisor(container advisor),并通过其开放的接口获取运行中的容器的基本信息以及各项数据指标。然而,在使用cadvisor的情况下,由于是通过访问cadvisor接口的方式获取容器生命周期事件来进行监控的,其对容器事件的感知实时性较差,无法满足对于实时性较高的使用场景。
发明内容
本发明实施例的目的在于提供一种容器监控方法、网络设备及存储介质,使得容器事件的感知实时性提高,满足实时性较高的使用场景。
为解决上述技术问题,本发明的实施例提供了一种容器监控方法,包括:监控runc程序中容器操作的记录;在监听到runc程序中有新增容器操作的记录时,根据新增容器操作的记录更新运行中容器列表。
本发明的实施例还提供了一种网络设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的容器监控方法。
本发明的实施例还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的容器监控方法。
本发明实施例相对于相关技术而言,通过监控runc程序(runc,根据OpenContainer Initiative标准创建并运行容器的命令行工具)中容器操作的记录,在监听到runc程序中有新增容器操作的记录时,根据新增容器操作的记录更新运行中容器列表。由于runc程序是直接管理容器的,容器的相关操作runc都会进行相应的记录,因此通过监控runc程序中容器操作的记录,根据runc程序中新增容器操作记录来进行容器列表的更新,相比通过访问cadvisor接口来进行容器监控的方式具有更高的感知实时性,可以满足实时性较高的使用场景。
另外,在监听到runc程序中有新增容器操作的记录时,根据新增容器操作的记录更新运行中容器列表,包括:在监听到runc程序中有新增容器创建的记录时,将记录对应的新增容器加入至运行中容器列表中。通过在监听到runc程序中有新增容器创建的记录时,将该记录对应的新增容器加入至运行中容器列表中,可以及时将新运行的容器加入至运行中容器列表中,保证运行中容器列表的实时性,从而保证容器监控的实时性。
另外,在监听到runc程序中有新增容器操作的记录时,根据新增容器操作的记录更新运行中容器列表,包括:在监听到runc程序中有新增容器删除记录时,将记录对应的容器从运行中容器列表中删除。通过在监听到runc程序中有新增容器删除记录时,将该记录对应的容器从运行中容器列表中删除,可以及时将已经停止的容器从运行中容器列表中删除,保证运行中容器列表的实时性,从而保证容器监控的实时性。
另外,方法还包括:定期检查容器一号进程的状态;在容器一号进程不存在时,将容器一号进程对应的容器从运行中容器列表中删除。由于容器一号进程直接反映容器的运行状态,因此定期根据容器一号进程的状态对运行中容器列表进行更新,可以更好地保证运行中容器列表的实时性。
另外,方法还包括:定期通过执行runc程序中的list命令来获取当前容器列表;根据当前容器列表更新运行中容器列表。
另外,根据当前容器列表更新运行中容器列表,包括:将存在于当前容器列表中且不存在于运行中容器列表中的容器,添加至运行中容器列表;将存在于运行中容器列表中且不存在于当前容器列表中的容器,从运行中容器列表中删除。通过将存在于当前容器列表中且不存在于运行中容器列表中的容器,添加至运行中容器列表;将存在于运行中容器列表中且不存在于当前容器列表中的容器,从运行中容器列表中删除,可以利用runc程序提供的容器列表对运行中容器列表进行更正补偿,从而更好地保证运行中容器列表的实时性。
另外,在监控runc程序中容器操作的记录之前,还包括:通过执行runc程序中的list命令来获取运行中容器列表。由于runc程序是直接管理容器的,因此通过执行runc的list命令来获取运行中容器列表,具备较高的准确率和可靠性。
另外,方法还包括:在监听到runc程序中有新增容器创建的记录时,根据创建的容器的上层容器的容器目录获取创建的容器的配置文件;根据配置文件进行创建的容器的数据采集。由于容器的数据由自身直接采集,不再依赖cadvisor等外部组件来进行间接采集,因此可以大幅提高数据采集效率以及保证数据采集的可靠性。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是本发明实施例提供的容器监控方法的流程示意图;
图2是本发明实施例提供的容器监控方法的原理示例图;
图3是本发明实施例提供的网络设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。
在一个实施例中,涉及一种容器监控方法,通过监控runc程序中容器操作的记录,在监听到runc程序中有新增容器操作的记录时,根据新增容器操作的记录更新运行中容器列表。
应当说明的是,本发明实施例提供的容器监控方法可以由容器宿主机上创建的监控进程来实现,即容器监控方法的执行主体可以为容器宿主机,或者,具体是容器宿主机上的创建的监控进程,以下以监控进程为例进行说明。
本发明实施例提供的容器监控方法的具体流程如图1所示,包括以下步骤:
S101:监控runc程序中容器操作的记录。
S102:在监听到runc程序中有新增容器操作的记录时,根据新增容器操作的记录更新运行中容器列表。
运行中容器列表可以在还没有任何容器时创建,创建时为空白,随着监听到的新增容器操作的记录进行更新维护;也可以是在已经创建了若干个容器时通过一定方式获取,形成当前正在运行中的容器的列表,将其作为运行中容器列表,并随着监听到的新增容器操作的记录进行更新维护;即初始的运行中容器列表可以有不同的获得方式,此处不做具体限制。
值得一提的是,相关技术中采用访问外部开源组件cadvisor接口来进行容器监控的方式,对cadvisor的高度依赖,在cadvisor故障或通信出现问题时,可能出现事件丢失等问题,容器监控的准确性较低;而本发明实施例提供的容器监控方法,由于是通过监控直接管理容器的runc对于容器操作的记录来进行容器监控的,通信不会出现问题,runc出现故障的机率也相对较低,其掌握的容器相关信息和状态更为准确,因此容器监控的准确较高,且runc程序提供了list命令,可以获取当前容器相关信息和状态列表。另外,采用访问cadvisor接口来进行容器监控的方式,在系统负载较高、容器数量多时,接口的响应时间会大大增加,响应的时延甚至会达到分钟级别,造成数据的延迟甚至丢失,这对于时延有一定要求的数据(例如一分钟粒度的监控和计费数据)来说是不可接受的;而本发明实施例提供的容器监控方法,由于是通过宿主机上创建的监控进程来实现的,相比现有技术中采用访问cadvisor接口来进行容器监控的方式占用的计算资源较少,即使在系统负载较高、容器数量较多时,也不会影响容器监控数据的获取,可以大幅度减少数据的延迟和丢失,由于容器数据由自身直接采集,不再依赖cadvisor等外部组件进行间接采集,大幅提高了数据采集的效率及可靠性,且数据采集项可以自由裁剪,避免大量无效数据采集所带来的CPU和内存资源消耗。
本发明实施例提供的容器监控方法,通过监控runc程序中容器操作的记录,在监听到runc程序中有新增容器操作的记录时,根据新增容器操作的记录更新运行中容器列表。由于runc程序是直接管理容器的,容器的相关操作runc都会进行相应的记录,因此通过监控runc程序中容器操作的记录,根据runc程序中新增容器操作记录来进行容器列表的更新,相比通过访问cadvisor接口来进行容器监控的方式具有更高的感知实时性,可以满足实时性较高的使用场景。
在一个具体的例子中,S102中,在监听到runc程序中有新增容器操作的记录时,根据新增容器操作的记录更新运行中容器列表,包括:在监听到runc程序中有新增容器创建的记录时,将该记录对应的新增容器加入至运行中容器列表中。
由于上层的docker(开源的应用容器引擎)或者containerd(工业级标准的容器运行时,在宿主机中管理完整的容器生命周期:容器镜像的传输和存储、容器的执行和管理、存储和网络等)在调用runc程序创建容器时,runc程序会在自身的容器数据目录下(docker环境下默认是/var/run/docker/runtime-runc/moby/,containerd环境下默认是/var/run/containerd/runc/k8s.io)创建一个与新增的容器id同名的目录,并将新增的容器的相关数据写入目录下的文件,因此,监控进程可以监听runc程序维护的容器数据目录,在接收到CREATE事件(创建事件)并且该CREATE事件的对象类型是目录时,表明发生了一个容器创建事件,监控进程将容器创建事件对应的新增容器加入其内存中,保存在运行中的容器列表里,并执行对应的新增逻辑。监控进程在监听runc程序时,可以通过Linux操作系统的inotify机制进行监听。
通过在监听到runc程序中有新增容器创建的记录时,将该记录对应的新增容器加入至运行中容器列表中,可以及时将新运行的容器加入至运行中容器列表中,保证运行中容器列表的实时性,从而保证容器监控的实时性。
在一个具体的例子中,S102中,在监听到runc程序中有新增容器操作的记录时,根据新增容器操作的记录更新运行中容器列表,还可以是:在监听到runc程序中有新增容器删除记录时,将该记录对应的容器从运行中容器列表中删除。
Runc程序启动后,容器停止时,会在对应的容器目录下执行相应的目录创建、删除、文件修改等操作,通常容器宿主机上部署容器监控的进程。由于上层的docker或者containerd在调用runc程序删除容器时,runc程序会在自身的容器数据目录下(docker环境下默认是/var/run/docker/runtime-runc/moby/,containerd环境下默认是/var/run/containerd/runc/k8s.io)删除与对应的容器id同名的目录,因此,监控进程可以通过linux操作系统的inotify机制监听runc程序的容器数据目录,在接收到REMOVE事件并且该REMOVE事件的对象类型是目录时,表明发生了一个容器停止事件,监控进程将删除事件对应的容器从内存中保存的运行中容器列表中删除,并执行对应的删除逻辑。因此,由监控进程通过linux操作系统的inotify机制监听runc程序的容器数据目录,以实现对容器生命周期主要事件(如容器启动事件、容器停止事件)的实时监控。
通过在监听到runc程序中有新增容器删除记录时,将该记录对应的容器从运行中容器列表中删除,可以及时将已经停止的容器从运行中容器列表中删除,保证运行中容器列表的实时性,从而保证容器监控的实时性。
在一个具体的例子中,本发明实施例提供的容器监控方法,还可以包括:定期检测容器一号进程的状态,在容器一号进程不存在时,将容器一号进程对应的容器从运行中容器列表中删除。
在某些特殊情况下,通过上述的容器监控方法进行容器事件的监听时可能会遗漏事件,例如,在事件队列溢出,或者runc程序异常导致某个容器已停止但对应目录未删除等情况下,可能导致监控进程没有处理相应事件,造成事件的遗漏。而通过定期检查容器一号进程的状态,在容器一号进程不存在时,表明相应的容器已经退出,此时即使对应的runc程序的容器目录没有相应的REMOVE事件,监控进程依然可以执行对应的容器删除逻辑,从而可以更好地保证运行中容器列表的实时性。
在一个具体的例子中,本发明实施例提供的容器监控方法还可以包括:定期通过执行runc程序中的list命令来获取当前容器列表,根据当前容器列表更新运行中容器列表。
进一步地,上述根据当前容器列表更新运行中容器列表,可以包括:将存在于当前容器列表中且不存在于运行中容器列表中的容器,添加至运行中容器列表;将存在于运行中容器列表中且不存在于当前容器列表中的容器,从运行中容器列表中删除。
在容器存在于当前容器列表中且不存在于运行中容器列表中时,表明该容器是运行中容器列表遗漏的新增容器,则监控进程将该新增容器加入至运行中容器列表,具体可以是监控进程将该新增容器加入至自身保存的运行中容器列表中,并执行对应的新增逻辑;在容器存在于运行中容器列表中且不存在于当前容器列表中,表明该容器为运行中容器列表遗漏的已删除容器,监控进程将该容器从运行中容器列表中删除,具体可以是监控进程将该容器从自身保存的运行中容器列表中删除,并执行对应的删除逻辑。
应当说明的是,同时存在于当前容器列表和运行中容器列表中的容器,是已经正常纳入监控进程的容器,不需要再进行处理。
通过将存在于当前容器列表中且不存在于运行中容器列表中的容器,添加至运行中容器列表;将存在于运行中容器列表中且不存在于当前容器列表中的容器,从运行中容器列表中删除,可以利用runc程序提供的容器列表对运行中容器列表进行更正补偿,从而更好地保证运行中容器列表的实时性。通过时间监控和更正补充机制,对容器的事件捕捉可实现实时、可靠,并大幅减少事件延迟和丢失导致的数据延迟、数据遗漏等问题。
在一个具体的例子中,在S101之前,即在监控runc程序中容器操作的记录之前,本发明实施例提供的容器监控方法还可以包括:通过执行runc程序中的list命令来获取运行中容器列表。
即先通过执行runc程序中的list命令来获取初始的运行中容器列表,再根据监听的容器操作记录对初始的运行中容器列表进行更新维护。
通常,在容器运行时是docker或者contaienrd的情况下,容器列表是通过调用容器运行时相关的api接口获得的,但是,由于docker或containerd并不是直接管理容器,而是通过调用宿主机上安装的runc程序来间接管理容器,并将相关的反馈信息保存在自身的内存和数据文件中,这样会由于调用链路长或自身异常等问题,使得docker或containerd保存的信息不够准确,例如,通过docker获取的正在运行的容器,可能在实际上已经停止。而runc程序是直接管理容器的,其掌握的容器相关信息和状态更为准确,并且其提供了list命令,因此,通过执行runc的list命令来获取运行中容器列表,相对于调用上层的docker或containerd接口来获取容器列表的方式,具备更高的准确率和可靠性。
在一个具体的例子中,本发明实施例提供的容器监控方法,还可以包括:在监听到runc程序中有新增容器创建的记录时,根据创建的容器的上层容器的容器目录获取创建的容器的配置文件,根据配置文件进行创建的容器的数据采集。
具体地,当监听到容器创建时,监控进程在其上层容器运行时服务(docker或者containerd)对应的容器目录下查找容器的配置文件并解析,得到容器的基本配置信息,并通过递归方式在/sys/cgroup目录查找其cpu和内存cgroup配置,然后在/proc目录下查找其网络namespace和网卡地址等数据,开启数据采集任务。在进行数据采集时,采集的数据包括但不限于容器所属租户、所属业务、cpu、内存规格及实时使用量、网络收发包数据等。
相关技术中,通过cadvisor进行数据采集时,由于cadvisor采集的数据较多,并且会保存一段时间,因此在容器数量较多的时候,会占用大量的cpu和内存资源;而本发明实施例提供的容器监控方法,通过在监听到runc程序中有新增容器创建的记录时,根据创建的容器的上层容器的容器目录获取创建的容器的配置文件,根据配置文件进行创建的容器的数据采集。由于容器的数据由自身直接采集,不再依赖cadvisor等外部组件来进行间接采集,因此可以大幅提高数据采集效率以及保证数据采集的可靠性;同时,数据的采集项可以自由裁剪,也可以避免大量的无效数据采集所带来的cpu和内存资源消耗。
请参考图2,其为本发明实施例提供的容器监控方法的原理示例图。如图2所示,docker或者containerd调用runc程序对容器进行创建或删除操作,监控进程通过linux操作系统的inotify机制监听runc程序的事件,在监听到CREATE或REMOVE事件时,将相应事件的容器在容器进程对应的容器列表(运行中容器列表)中进行更新维护;并通过定期执行runc程序中的list命令获取当前容器列表,与容器进程对应的容器列表进行对比补偿;监控进程还对各个容器的数据(监控/计费数据)进行采集,将采集的数据发送至下游数据消费方。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
在一个实施例中,涉及一种网络设备,如图3所示,包括至少一个处理器201;以及,与至少一个处理器201通信连接的存储器202;其中,存储器202存储有可被至少一个处理器201执行的指令,指令被至少一个处理器201执行,以使至少一个处理器201能够执行上述的容器监控方法。
其中,存储器202和处理器201采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器201和存储器202的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器201处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器201。
处理器201负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器202可以被用于存储处理器201在执行操作时所使用的数据。
在一个实施例中,涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施例是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (10)

1.一种容器监控方法,其特征在于,包括:
监控runc程序中容器操作的记录;
在监听到所述runc程序中有新增容器操作的记录时,根据所述新增容器操作的记录更新运行中容器列表。
2.根据权利要求1所述的容器监控方法,其特征在于,所述在监听到所述runc程序中有新增容器操作的记录时,根据所述新增容器操作的记录更新运行中容器列表,包括:
在监听到所述runc程序中有新增容器创建的记录时,将所述记录对应的新增容器加入至所述运行中容器列表中。
3.根据权利要求1所述的容器监控方法,其特征在于,所述在监听到所述runc程序中有新增容器操作的记录时,根据所述新增容器操作的记录更新运行中容器列表,包括:
在监听到所述runc程序中有新增容器删除记录时,将所述记录对应的容器从所述运行中容器列表中删除。
4.根据权利要求1所述的容器监控方法,其特征在于,还包括:
定期检查容器一号进程的状态;
在所述容器一号进程不存在时,将所述容器一号进程对应的容器从所述运行中容器列表中删除。
5.根据权利要求1-4任一项所述的容器监控方法,其特征在于,还包括:
定期通过执行runc程序中的list命令来获取当前容器列表;
根据所述当前容器列表更新所述运行中容器列表。
6.根据权利要求5所述的容器监控方法,其特征在于,所述根据所述当前容器列表更新所述运行中容器列表,包括:
将存在于所述当前容器列表中且不存在于所述运行中容器列表中的容器,添加至所述运行中容器列表;
将存在于所述运行中容器列表中且不存在于所述当前容器列表中的容器,从所述运行中容器列表中删除。
7.根据权利要求1所述的容器监控方法,其特征在于,在所述监控runc程序中容器操作的记录之前,还包括:
通过执行runc程序中的list命令来获取所述运行中容器列表。
8.根据权利要求1所述的容器监控方法,其特征在于,还包括:
在监听到所述runc程序中有新增容器创建的记录时,根据创建的容器的上层容器的容器目录获取所述创建的容器的配置文件;
根据所述配置文件进行所述创建的容器的数据采集。
9.一种网络设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至8中任一项所述的容器监控方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的容器监控方法。
CN202210179858.3A 2022-02-25 2022-02-25 容器监控方法、网络设备及存储介质 Pending CN114610567A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210179858.3A CN114610567A (zh) 2022-02-25 2022-02-25 容器监控方法、网络设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210179858.3A CN114610567A (zh) 2022-02-25 2022-02-25 容器监控方法、网络设备及存储介质

Publications (1)

Publication Number Publication Date
CN114610567A true CN114610567A (zh) 2022-06-10

Family

ID=81859801

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210179858.3A Pending CN114610567A (zh) 2022-02-25 2022-02-25 容器监控方法、网络设备及存储介质

Country Status (1)

Country Link
CN (1) CN114610567A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115118626A (zh) * 2022-07-27 2022-09-27 济南浪潮数据技术有限公司 一种管理方法、计算机可读存储介质、系统及装置
CN115422121A (zh) * 2022-07-25 2022-12-02 安芯网盾(北京)科技有限公司 利用inotify监控文件的方法、装置、电子设备和存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115422121A (zh) * 2022-07-25 2022-12-02 安芯网盾(北京)科技有限公司 利用inotify监控文件的方法、装置、电子设备和存储介质
CN115422121B (zh) * 2022-07-25 2023-06-06 安芯网盾(北京)科技有限公司 利用inotify监控文件的方法、装置、电子设备和存储介质
CN115118626A (zh) * 2022-07-27 2022-09-27 济南浪潮数据技术有限公司 一种管理方法、计算机可读存储介质、系统及装置

Similar Documents

Publication Publication Date Title
CN114610567A (zh) 容器监控方法、网络设备及存储介质
US20120131180A1 (en) Server system and method for managing the same
US20080126831A1 (en) System and Method for Caching Client Requests to an Application Server Based on the Application Server's Reliability
CN101895540B (zh) 用于应用服务进程守护的系统和方法
CN111522703B (zh) 监控访问请求的方法、设备和计算机程序产品
CN106777126B (zh) 一种支持异构时序数据库的数据在线迁移方法
US20210103554A1 (en) Rolling Back Kubernetes Applications Including Custom Resources
WO2020167463A1 (en) Interface for fault prediction and detection using time-based distributed data
CN102200941A (zh) 进程状态监控方法及单元
US20180225148A1 (en) Resource pre-configuration
CN110895488B (zh) 任务调度方法及装置
WO2015009405A1 (en) Systems and methods for filtering low utility value messages from system logs
CN111026602A (zh) 一种云平台的健康巡检调度管理方法、装置及电子设备
CN107544832A (zh) 一种虚拟机进程的监控方法、装置和系统
CN110209736A (zh) 区块链数据处理的装置、方法及存储介质
CN111342986B (zh) 分布式节点管理方法及装置、分布式系统、存储介质
CN110515938B (zh) 基于kafka消息总线的数据汇聚存储方法、设备和存储介质
CN100372307C (zh) 一种系统日志管理方法
US9032014B2 (en) Diagnostics agents for managed computing solutions hosted in adaptive environments
CN106899436A (zh) 一种云平台故障预测诊断系统
CN109189652A (zh) 一种封闭网络终端行为数据的采集方法及系统
CN117076196A (zh) 一种数据库容灾的管控方法和装置
CN109308310B (zh) 一种用于资产管理平台的子系统数据互联处理方法
CN115993932A (zh) 数据处理方法、装置、存储介质以及电子设备
JP2004178336A (ja) 運用管理システム、管理計算機、監視対象計算機、運用管理方法及びプログラム

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