对宿主机中容器进行本地实时监控的方法、装置及系统制造方法及图纸

技术编号:12019151 阅读:65 留言:0更新日期:2015-09-09 16:14
本发明专利技术公开了一种对宿主机中容器进行本地实时监控的方法、装置及系统。其中方法包括:扫描宿主机内处于存活状态的容器,更新容器列表为所述容器列表中每个处于存活状态的容器配置对应的进程;各个进程同步抽取各自容器的原始状态信息;以及对各容器的原始状态信息进行处理得到监控信息,以进行显示。本发明专利技术与现有技术繁琐的手动方式相比,大大提高了执行效率。而且,由于多个进程同步抽取监控信息,这样刷新展示的时候显示的是多个容器在同一时刻的监控数据,更有利于反映出宿主机内各个容器的运行状态,提升了监控效率。

【技术实现步骤摘要】

本专利技术涉及互联网
,具体涉及一种对宿主机中容器进行本地实时监控的 方法、装置及系统。
技术介绍
LXC(LinuxContainer)容器是一种内核虚拟化技术,可以提供轻量级的虚拟化, 以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。相当于 C++中的命名空间(NameSpace)。容器有效地将由单个操作系统管理的资源划分到孤立的 组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。 Docker是PaaS提供商dotCloud开源的一个基于LXC的高级容器引擎,源代码托 管在Github上,基于go语言并遵从Apache2. 0协议开源。简单得来说,Docker是一个由 GO语言写的程序运行的"容器"(Linuxc〇ntainers,LXCs);目前云服务的基石是操作系统 级别的隔离,在同一台宿主机上虚拟出多个主机。Docker则实现了一种应用程序级别的隔 离,它改变我们基本的开发、操作单元,由直接操作虚拟主机(VM)转换到操作程序运行的 "容器"上来。 随着Docker的发展,在一台Docker宿主机中启动的容器越来越多。在此Docker 宿主机中,运维人员需要查看各个容器的运行状态时,需要手动在Docker系统内输入监控 命令或查看运行文件。以查看某个容器的cpu占用信息为例,需要手动打开cgroup目录下 的运行文件,拷贝每一秒的cpu运行数据,然后找到对应容器的cpu数据进行查看。这种手 动的方式非常繁琐,尤其对于同时运行很多容器的Docker宿主机来说,每个容器的数据都 需要手动输入各自的命令去查看,执行效率低下,不能实时反映各个容器的监控信息。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上 述问题的对宿主机中容器进行本地实时监控的方法、装置及系统。 根据本专利技术的一个方面,提供了一种对宿主机中容器进行本地实时监控的方法, 包括: 扫描宿主机内处于存活状态的容器,更新容器列表; 为所述容器列表中每个处于存活状态的容器配置对应的进程; 各个进程同步抽取各自容器的原始状态信息;以及 对各容器的原始状态信息进行处理得到监控信息,以进行显示。 根据本专利技术的另一个方面,提供了一种对宿主机中容器进行本地实时监控的方 法,包括: 根据终端发送的监控命令,扫描宿主机内处于存活状态的容器,更新容器列表; 为所述容器列表中每个处于存活状态的容器配置对应的进程; 各个进程同步抽取各自容器的原始状态信息;以及 对各容器的原始状态信息进行处理得到监控信息; 将所有容器的监控信息发送给所述终端,所述终端显示所有容器的监控信息。 根据本专利技术的另一方面,提供了一种对宿主机中容器进行本地实时监控的装置, 包括: 配置模块,适于为所述容器列表中每个处于存活状态的容器配置对应的进程; 抽取模块,适于各个进程同步抽取各自容器的原始状态信息; 处理模块,适于对各容器的原始状态信息进行处理得到监控信息,以进行显示。 根据本专利技术的另一方面,提供了一种对宿主机中容器进行本地实时监控的系统, 该系统包括上述对宿主机中容器进行本地实时监控的装置和终端,所述终端适于:向所述 装置发送监控命令,以及接收所述装置返回的所有容器的监控信息并显示。 通过本专利技术提供的监控方法、装置及系统,为每个处于存活状态的容器创建各自 的进程,采用多进程并行运行的方式,抽取各个容器的监控信息进行展示。利用本方案,运 维人员只需启动本地监控程序,该本地监控程序利用创建的多进程抽取各个容器的监控信 息,与现有技术繁琐的手动方式相比,大大提高了执行效率。而且,由于多个进程同步抽取 监控信息,这样刷新展示的时候显示的是多个容器在同一时刻的监控数据,运维人员可依 据这些监控数据对多个容器的状态进行比较分析,更有利于反映出宿主机内各个容器的运 行状态,提升了监控效率。 上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段, 而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够 更明显易懂,以下特举本专利技术的【具体实施方式】。【附图说明】 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通 技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术 的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中: 图1示出了根据本专利技术一个实施例的对宿主机中容器进行本地实时监控的方法 的流程图; 图2示出了根据本专利技术另一个实施例的对宿主机中容器进行本地实时监控的方 法的流程图; 图3示出了根据本专利技术一个实施例的对宿主机中容器进行本地实时监控的方法 装置的功能结构框图;以及 图4示出了根据本专利技术一个实施例的对宿主机中容器进行本地实时监控的方法 系统的功能结构框图。【具体实施方式】 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开 的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例 所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围 完整的传达给本领域的技术人员。 图1示出了根据本专利技术一个实施例的对宿主机中容器进行本地实时监控的方法 的流程图。如图1所示,本方法包括以下步骤: 步骤S101,扫描宿主机内处于存活状态的容器,更新容器列表。 本专利技术在宿主机内部启动本地监控程序(也称:localmonitor),本地监控程序定 时扫描宿主机内处于存活状态的容器,更新容器列表,容器列表中记录有处于存活状态的 容器名称。 步骤S102,为容器列表中每个处于存活状态的容器配置对应的进程。 本专利技术的本地监控程序在第一次启动时为容器列表中每个处于存活状态的容器 创建对应的进程。在后续定时执行本方法的过程中,在更新容器列表后,先查找上一次方法 执行时是否已存在各个容器对应的进程,若未查找到某个容器的进程,则为该容器创建进 程。通过本步骤,保证宿主机内存活的容器都有对应的进程为其实行监控服务。也即,本方 法为多进程的处理方法,多个进程并行执行以获取各个容器的监控信息。 步骤S103,各个进程同步抽取各自容器的原始状态信息。 本步骤中,各个进程是同步运行的,每个进程负责抽取其对应的容器的原始状态 信息。 步骤S104,对各容器的原始状态信息进行处理得到监控信息,以进行显示。 在每个进程抽取各自容器的原始状态信息之后,可以对各容器的原始状态信息进 行处理得到监控信息,将这些监控信息汇总起来,而后由用于进行显示的终端将各个容器 的监控信息进行刷新显示,以同时展示宿主机内处于存活状态的所有容器的监控信息。应 可理解,上述对原始状态信息的处理可以由各个进程分别执行,也可以由相同进程/模块 统一执行。 通过本实施例提供的监控方法,为每个处于存活状态的容器创建各自的进程,采 用多进程并行运行的方式,抽取处理得到各个容器的监控信息进行展示。利用本方法,运 维人员只需启动本地监控程序,该本地监控程序利用创建的多进程抽取各个容器的监控信 息,与现有技术繁琐的手动方式相比,大大提高了执行效率。而且,由于多个进程同步抽取 处理得到监控信息,这样刷新展示的时候显示的是多个本文档来自技高网
...
对宿主机中容器进行本地实时监控的方法、装置及系统

【技术保护点】
一种对宿主机中容器进行本地实时监控的方法,包括:扫描宿主机内处于存活状态的容器,更新容器列表;为所述容器列表中每个处于存活状态的容器配置对应的进程;各个进程同步抽取各自容器的原始状态信息;以及对各容器的原始状态信息进行处理得到监控信息,以进行显示。

【技术特征摘要】

【专利技术属性】
技术研发人员:赵鹏
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

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

1