一种容器进程监控方法、装置及系统的制作方法

文档序号:9200303阅读:317来源:国知局
一种容器进程监控方法、装置及系统的制作方法
【技术领域】
[0001]本发明涉及web平台技术领域,尤其涉及一种容器进程监控方法、装置及系统。
【背景技术】
[0002]LXC为Linux Container的简写。Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。相当于C++中的NameSpace。容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。与传统虚拟化技术相比Linux Container是一种轻量级的虚拟化的手段,提供了在单一可控主机节点上支持多个相互隔离的server container同时执行的机制,同时也提供了一个拥有自己进程和网络空间的虚拟环境。
[0003]由于LXC在资源管理方面共享Linux内核,因此使用现有的监控方式在获取的容器参数时,只能监控到整个Linux内核的相关特性,而无法针对单个容器实施有效的监控管理。

【发明内容】

[0004]有鉴于此,本发明提供一种容器进程监控方法、装置及系统,能够监控单个容器中进程的状态信息。
[0005]依据本发明一个方面,提出了一种容器进程监控方法,该方法包括:
[0006]获取物理机上运行的至少一个容器以及所述容器的属性信息;
[0007]根据所述容器的属性信息获取对应容器的进程信息;
[0008]将获取的每个容器的进程信息发送给中控服务器,以便中控服务器根据预定检测标准判断每个容器的进程信息是否异常,若异常则向所述物理机发送报警信息。
[0009]依据本发明的另一个方面,提出了一种容器进程监控装置,该装置包括:
[0010]第一获取单元,用于获取物理机上运行的至少一个容器以及所述容器的属性信息;
[0011]第二获取单元,用于根据第一获取单元获取的所述容器的属性信息获取对应容器的进程?目息;
[0012]发送单元,用于将第二获取单元获取的每个容器的进程信息发送给中控服务器。
[0013]依据本发明的另一个方面,提出了一种监控客户端,该监控客户端包括有上述的容器进程监控装置。
[0014]依据本发明的另一个方面,提出了一种容器进程监控系统,该系统包括监控客户端和中控服务器;
[0015]所述中控服务器,用于根据预定检测标准判断每个容器的进程信息是否异常,若异常则向所述物理机发送报警信息。
[0016]本发明所采用的一种容器进程监控方法、装置及系统,是在容器化技术的环境内,通过监控客户端来获取物理机内所运行的容器以及容器的属性信息,进而获取容器中的进程信息,并将该进程信息发送给中控服务器,由中控服务器进行处理判断,实现对容器内进程的监控过程。由于一个物理机内多是运行着多个容器,而现有的监控方式无法对单个容器中的进程实现监控与管理,因此,本发明可以通过中控服务器以及监控客户端来实现对物理机中单个容器的监控,当物理机中某个容器中的进程发生异常时,本发明可以快速发现异常容器的位置,并对异常进程进行异常排除的处理,从而提高系统运行的稳定性、安全性。
[0017]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0018]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0019]图1示出了本发明实施例提出的一种容器进程监控方法的流程图;
[0020]图2示出了本发明实施例提出的另一种容器进程监控方法的流程图;
[0021]图3示出了本发明实施例提出的一种容器进程监控装置的组成框图;
[0022]图4示出了本发明实施例提出的第二种容器进程监控装置的组成框图;
[0023]图5示出了本发明实施例提出的第三种容器进程监控装置的组成框图;
[0024]图6示出了本发明实施例提出的第四种容器进程监控装置的组成框图;
[0025]图7示出了本发明实施例提出的一种容器进程监控系统的示意图。
【具体实施方式】
[0026]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0027]本发明实施例提供了一种容器进程监控方法,如图1所示,该方法应用于安装有监控客户端的物理机上,具体步骤包括:
[0028]101、获取物理机上运行的至少一个容器以及该容器的属性信息。
[0029]容器技术,可以视作一种轻量级的虚拟化技术手段。基于虚拟化技术,对已有的资源进行更细粒度的资源控制,为此,在Linux内核通过添加众所周知的cgroup技术,对服务运行时的环境进行隔离,被隔离出来的运行环境就称为容器。一般情况下,一台应用容器技术的物理机上会同时运行有多个容器,以供物理机同时执行多个服务进程。
[0030]为了对容器中的进程实施监控,首先是要获取该物理机上所有运行着的容器,本实施例是通过监控客户端向物理机发送容器获取指令,由物理机的Linux内核进行响应,将该物理机上运行的容器以及容器的属性信息发送给监控客户端。需要说明的是,物理机在反馈容器的属性信息时,可以是逐条的发送,再由监控客户端进行整理、制成列表等工作,也可以是在发送前将所有的容器及容器的属性信息制成列表后再发送给监控客户端,本实施例对此不进行具体限定。
[0031]102、根据容器的属性信息获取对应容器的进程信息。
[0032]监控客户端在获取到容器的属性信息后,将利用所获取到的属性信息在物理机上再次进行查询,获取对应容器中的进程信息。根据监控客户端的监控模式需要,可以设置成获取物理机中一个容器内的进程信息,也可以设置为对所有物理机中运行的容器逐一获取对应的进程信息,并将所获取到的进程信息与容器制成相对应的列表,本实施例对此不进行限定。
[0033]其中,容器中的进程信息包括进程的名称,CPU负荷,内存使用情况,磁盘使用情况等。
[0034]103、将获取的每个容器的进程信息发送给中控服务器。
[0035]将上述102中获取的进程信息或是进程信息的列表发送给中控服务器,由中控服务器对进程信息进行处理识别,从而判断容器内的进程是否异常。如果出现异常的进程,中控服务器就会向对应监控客户端发送报警信息,通知物理机有异常的进程需要处理。
[0036]由于监控客户端向中控服务器发送进程信息,由中控端处理的监控过程在现有的监控实现方式中已被广泛使用,因此,对于具体的实现方式本实施例将不再做详细说明。
[0037]需要说明的是,本发明实施例是可以应用于分布是监控系统中的,因此,中控服务器的设置可以是使用一台独立的物理机来做,也可以与系统中的一个监控客户端共同使用一台物理机,具体的设置方式可以根据不同需求进行区别设置,对此本实施例不做限定。
[0038]结合上述的实现方式可以看出,本发明实施例所采用的一种容器进程监控方法,是在容器化技术的环境内,通过监控客户端来获取物理机内所运行的容器以及容器的属性信息,进而获取容器中的进程信息,并将该进程信息发送给中控服务器,由中控服务器进行处理判断,实现对容器内进程的监控过程。由于物理机内多是运行着多个容器,而现有的监控方式无法对单个容器中的进程实现监控与管理,因此,本发明可以通过中控服务器以及监控客户端实现对物理机中单个容器的监控,当物理机中某个容器中的进程发生异常时,本发明可以快速发现异常容器的位置,并对异常进程进行异常排除的处理,从而提高系统运行的稳定性、安全性。
[0039]为了更加详细地说明本发明提出的一种容器进程监控方法,本实施例还提供一种容器进程监控方法,如图2所示,该方法包括:
[0040]201、获取物理机上运行的至少一个容器以及该容器的属性信息。
[0041]相对于步骤101的实现方式,本步骤具体细化的是在物理机接收到监控客户端所发送的容器获取指令后,由物理机的Linux内核响应的具体方式。首先,需要在物理机内设置一个容器识别模块,该容器识别模块是由监控客户端通过获取具有自动识别功能的脚本文件,并将该脚本文件解析后,添加上容器自动识别功能而构建出的一个具有容器自动识别功能的模块。其中,监控客户端在获取到具有自动识别功能的脚本文件后,首先需要确认该脚本文件可以在当前物理机系统下被识别,如果无法识别,则需要对该脚本文件进行适配,获得可以再当前系统下可以识别的格式文件,在适配过程中可能涉及变量名称的
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1