CN105429813A - docker的监控方法及客户端 - Google Patents

docker的监控方法及客户端 Download PDF

Info

Publication number
CN105429813A
CN105429813A CN201410475309.6A CN201410475309A CN105429813A CN 105429813 A CN105429813 A CN 105429813A CN 201410475309 A CN201410475309 A CN 201410475309A CN 105429813 A CN105429813 A CN 105429813A
Authority
CN
China
Prior art keywords
docker
data
network
parametric data
network parametric
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
CN201410475309.6A
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.)
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201410475309.6A priority Critical patent/CN105429813A/zh
Publication of CN105429813A publication Critical patent/CN105429813A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种docker的监控方法及客户端。其中,该方法包括:采用数据获取工具获取docker中的数据,其中,数据至少包括中央处理器使用值CPU?state和/或CPU核心数;根据预设规则对数据进行处理,得到docker的网络参数数据;将网络参数数据显示在可读的显示界面上,以供监控者对docker进行监控。依据本发明实施例能够得到并显示docker的网络参数数据,达到方便监控者直观获知docker的网络使用情况,以更加高效合理分配网络使用资源的有益效果。

Description

docker的监控方法及客户端
技术领域
本发明涉及虚拟容器监控领域,特别是涉及一种docker的监控方法及客户端。
背景技术
随着网络技术的发展,人们越来越习惯在同一服务器中同时运行多个业务。例如,在一台内存为64G的服务器上同时运行导航业务、手机助手以及其他主站业务。在一台服务器上同时运行多个业务时,为保证当其中一个业务受到攻击或者出现运行等方面的问题时,其他业务不会受到相关的不良影响,可以对服务器进行资源隔离。在进行资源隔离时,由于使用VM虚拟机需要占用大量的中央处理器(CentralProcessingUnit,以下简称CPU)的资源,因此,现有技术中,通常采用对多个容器container进行管理的docker(一种开源的应用容器引擎)进行资源隔离。
但是,现有技术中,在使用docker进行资源隔离时,无法对docker中的相关数据进行查看,即无法获知使用docker时CPU等网络使用资源的使用情况,因此,容易导致CPU等网络使用资源的过度使用,造成在服务器上运行的所有业务无法继续正常运行。例如,当前使用docker进行资源隔离使得4项业务同时进行,此时,CPU的占用率已达到临界值,而用户或者开发人员无法获知CPU的使用情况,因此,继续使用docker进行更多项业务的资源隔离,使得CPU的占用率超过临界值,进而导致网络拥堵,所有业务均无法正常运行。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的docker的监控方法和相应的客户端。
依据本发明的一个方面,提供了一种开源应用容器引擎docker的监控方法,包括:采用数据获取工具获取所述docker中的数据,其中,所述数据至少包括中央处理器使用值CPUstate和/或CPU核心数;根据预设规则对所述数据进行处理,得到所述docker的网络参数数据;以及,将所述网络参数数据显示在可读的显示界面上,以供监控者对所述docker进行监控。
可选地,将所述网络参数数据显示在可读的显示界面上的步骤包括:以预设形式显示所述网络参数数据,其中,所述预设形式至少包括图表格式、曲线形式。
可选地,所述方法还包括:将所述网络参数数据显示在可读的显示界面上之后,确定所述网络参数数据是否超过对应的预设阈值;以及若超过所述对应的预设阈值,则生成并显示提示消息,以提示所述监控者调整所述docker当前运行状态。
可选地,所述网络数据参数至少包括以下任意之一:CPU占用值、CPU占用率、内存占用值以及内存占用率。
可选地,所述根据预设规则对所述数据进行处理,得到所述docker的CPU占用值的步骤包括:每隔预定时间提取所述CPUstate;计算连续两次提取的所述CPUstate的差值;以及将所述差值除以所述CPU核心数,得到所述CPU占用值。
可选地,所述数据获取工具包括:基于WEB界面的提供分布式***监视以及网络监视功能的企业级的开源解决方案zabbix。
可选地,所述方法还包括:获取所述docker中的数据之前,生成所述docker,其中,根据如下步骤生成所述docker:编写yaml格式的配置文件;对所述yaml格式的配置文件进行转换,得到轻量级的数据交换语言Json字典格式文件;以及,根据所述Json字典格式文件调用应用程序编程接口API循环,生成所述docker。
可选地,根据所述Json字典格式文件调用API循环,生成所述docker的步骤包括:根据所述Json字典格式文件中的键值确定调用同等次数的所述API循环;以及每次调用所述API循环生成一个所述docker。
可选地,根据生成所述docker的步骤还包括:在根据所述Json字典格式文件调用API循环之前,将所述Json字典格式文件进行分块处理;以及,将分块处理得到的所述Json字典格式文件传给所述API。
依据本发明的另一个方面,还提供了一种开源应用容器引擎docker的监控客户端,包括:获取模块,适于采用数据获取工具获取所述docker中的数据,其中,所述数据至少包括中央处理器使用值CPUstate和/或CPU核心数;处理模块,适于根据预设规则对所述数据进行处理,得到所述docker的网络参数数据;以及,显示模块,适于将所述网络参数数据显示在可读的显示界面上,以供监控者对所述docker进行监控。
可选地,所述显示模块还适于:以预设形式显示所述网络参数数据,其中,所述预设形式至少包括图表形式、曲线形式。
可选地,所述docker的监控客户端还包括:确定模块,适于确定所述网络参数数据是否超过对应的预设阈值;以及,提示生成模块,适于若超过,生成提示消息;其中,所述显示模块还适于显示所述提示消息,以提示所述监控者调整所述docker当前运行状态。
可选地,所述网络数据参数包括以下任意之一:CPU占用值、CPU占用率、内存占用值以及内存占用率。
可选地,所述处理模块还适于:每隔预定时间提取所述CPUstate;计算连续两次提取的所述CPUstate的差值;以及将所述差值除以所述CPU核心数,得到所述CPU占用值。
可选地,所述获取模块还适于:利用zabbix获取所述docker中的数据。
可选地,所述docker的监控客户端还包括:虚拟容器生成模块,适于根据如下步骤生成所述虚拟容器:编写yaml格式的配置文件;对所述yaml格式的配置文件进行转换,得到轻量级的数据交换语言Json字典格式文件;以及,根据所述Json字典格式文件调用应用程序编程接口API循环,生成所述docker。
可选地,所述虚拟容器生成模块根据所述Json字典格式文件中的键值确定调用同等次数的所述API循环的步骤还适于:根据所述Json字典格式文件中的键值确定调用同等次数的所述API循环;以及每次调用所述API循环生成一个所述docker。
可选地,所述虚拟容器生成模块生成所述docker的步骤还适于:根据所述Json字典格式文件调用所述API循环之前,将所述Json字典格式文件进行分块处理;以及将分块处理得到的所述Json字典格式文件传给所述API。
依据本发明实施例,能够采用数据获取工具获取docker中的数据,根据预设规则对获取到的数据进行处理,得到docker的网络参数数据,并将得到的网络参数数据显示在可读的显示界面,以供监控者对docker进行监控,解决了现有技术中无法获知或者查看docker中网络数据参数,进而无法根据网络参数数据合理分配网络使用资源的问题。而本发明实施例能够对得到docker的网络参数数据进行显示,因此,监控者能够直观地获知docker中各种网络使用资源的使用情况,进而能够根据当前网络使用资源的使用情况对网络使用资源进行合理分配。例如,当本发明实施例根据预设规则对从docker中获取到的数据进行处理之后,得到docker当前CPU的占用率为60%,对该网络参数数据进行显示,则监控者根据显示的该网络参数数据确定是否能够继续使用该docker进行更多的资源隔离以运行更多业务。综上,本发明实施例能够得到并显示docker的网络参数数据,达到方便监控者直观获知docker的网络使用情况,以更加高效合理分配网络使用资源的有益效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的docker的监控方法的处理流程示意图;
图2示出了根据本发明一个实施例的得到docker的CPU占用值的处理流程示意图;
图3a至图3b示出了根据本发明一个优选实施例的间隔1秒显示的实时的CPU占用值的示意图;
图4示出了根据本发明一个优选实施例的以曲线形式对不同时间段内的CPU占用值以及内存占用值进行显示的界面示意图;
图5示出了根据本发明一个优选实施例的以图表形式显示CPU占用值的示意图;
图6示出了根据本发明一个实施例的生成docker的处理流程示意图;
图7示出了根据本发明一个优选实施例的docker的监控方法的处理流程示意图;
图8示出了根据本发明一个实施例的docker的监控客户端的结构示意图;以及
图9示出了根据本发明一个优选实施例的docker的监控客户端的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
相关技术中提及,在使用docker进行资源隔离时,无法对docker中的相关数据进行查看这一问题,容易导致CPU等网络使用资源的过度使用,造成在服务器上运行的所有业务无法正常运行。
为解决这一技术问题,本发明的实施例提供了一种docker的监控方法。图1示出了根据本发明一个实施例的docker的监控方法的处理流程示意图。请参考图1,该处理流程至少包括如下步骤:
步骤S102:采用数据获取工具获取docker中的数据,其中,获取的数据至少包括中央处理器使用值CPUstate和/或CPU核心数;
步骤S104:根据预设规则对获取的数据进行处理,得到docker的网络参数数据;以及
步骤S106:将网络参数数据显示在可读的显示界面上,以供监控者对docker进行监控。
依据本发明实施例,能够通过采用数据获取工具来获取docker中的数据,根据预设规则对获取到的数据进行处理,得到docker的网络参数数据,并将得到的网络参数数据显示在可读的显示界面,以供监控者对docker进行监控,其解决了现有技术中无法获知或者查看docker中网络数据参数,进而无法根据网络参数数据合理分配网络资源的问题。本发明实施例能够对得到docker的网络参数数据进行显示,因此,监控者能够直观地获知docker中各种网络使用资源的使用情况,进而能够根据当前网络使用资源的使用情况对网络使用资源进行合理分配。
例如,当本发明实施例根据预设规则对从docker中获取到的数据进行处理之后,得到docker当前CPU的占用率为60%,并对该网络参数数据进行显示,则监控者可以根据显示的该网络参数数据确定是否能够继续使用该docker进行更多的资源隔离以运行更多业务。综上,本发明实施例能够得到并显示docker的网络参数数据,达到方便监控者直观获知docker的网络使用情况,以更加高效合理分配网络使用资源的有益效果。
上文提及,本发明实施例中,为得到docker的网络参数数据,需要获取docker中的数据,并对该数据进行处理。实际操作中,可以采用多种手段获取docker中的数据。优选地,本发明实施例中,获取docker中的数据所采用的数据获取工具包括zabbix。Zabbix是一个基于WEB(网络)界面的提供分布式***监视以及网络监视功能的企业级的开源解决方案,具有安装与配置简单、学习成本低廉、支持多种语言等优点,因此,本发明实施例中优选利用zabbix获取docker中的数据。
获取到docker中的数据之后,如图1中的步骤S104所示,本发明实施例根据预设规则对获取到的数据进行处理,得到docker的网络参数数据。由于在服务器上运行不同的业务所需要的网络使用资源不同,并且不同使用情况和/或不同使用环境下对网络使用资源的分配也存在差异,因此,在对docker进行监控时,需要得到的docker的网络参数数据的种类也存在差异。本发明实施例中,能够通过对获取到的docker中的数据根据不同预设规则进行处理,得到任意docker的网络参数数据,本发明实施例对此并不加以限定。
但是,由于实际运用中,在根据获取到的网络参数数据对docker进行监控时,docker的CPU作为一项基本参考数据,在非常多的使用情况和/或使用环境下均需要获知或者查看,以供监控者或者用户更加合理地对网络使用资源进行分配。由此可知,与CPU相关的各项网络参数数据的重要性。本发明实施例中,获取到的docker中的数据至少包括中央处理器使用值(以下简称CPUstate)和/或CPU核心数。而根据预设规则对获取到的数据进行处理之后,得到的网络参数数据可以是CPU占用值或占用率,可以是内存占用值或占用率,还可以是其他任意的网络参数数据,本发明实施例对此并不加以限定。现以“得到docker的CPU占用值”为例,对“得到docker的网络参数数据”的过程进行介绍。
图2示出了根据本发明一个实施例的得到docker的CPU占用值的处理流程示意图。请参考图2,该流程至少包括如下步骤:
步骤S202:每隔预定时间提取CPUstate,例如,每隔1秒对当前docker的CPUstate进行提取,提取到连续两次的CPUstate分别为21以及20;
步骤S204:计算连续两次提取的CPUstate的差值,如,对上例中连续两次提取到的两个CPUstate进行差值计算,得到其差值为1;以及
步骤S206:将差值除以CPU核心数,得到CPU占用值,其中,该CPU占用值为每秒CPU的每个核所使用的CPU的资源占用值。例如,上例中得到连续两次提取的CPUstate的差值为1,而当前CPU的核心数为2,则得到CPU的占用值为50%。
如上文所述,在根据预设规则对从docker中的数据进行处理之后,能够得到docker的网络参数数据。之后,本发明实施例将网络参数数据显示在可读的显示界面上,以供监控者对docker进行监控。
由于监控者对docker进行监控的目的不同,因此,为便于监控者能够更加直观地监视docker的运行状态或者在使用docker进行资源隔离的情况下各个业务的运行状态,本发明实施例在对网络参数数据进行显示时,根据监控者监控目的的不同,可以设置以不同的预设形式对网络参数数据进行显示。
例如,为避免CPU使用过度,导致当前的各个业务运行缓慢,需对CPU占用值进行实时监控,则在对CPU占用值这一网络参数数据进行显示时,可以设置每隔预定时间仅对实时的CPU占用值的具体数值进行显示,如每隔1秒显示实时的CPU占用值如图3a至3b所示。
再例如,为监控在不同时间段内运行各个业务所占用的网络使用资源(如CPU以及内存),则需要在同一显示界面对不同时间段内的CPU占用值以及内存占用值进行显示。因此,本发明实施例可以设置以曲线形式对不同时间段内的CPU占用值以及内存占用值进行显示。如图4示出了根据本发明一个优选实施例的以曲线形式对不同时间段内的CPU占用值以及内存占用值进行显示的界面示意图。其中,较粗的曲线为CPU占用值的变化曲线,而较细的曲线为内存占用值的变化曲线。
参见图4,依据本发明实施例得到docker的网络参数数据并进行显示,则监控者能够获知在12小时内,00点至3点,以及9点至12点之间,CPU占用值分别达到不同的峰值,而内存占用值在6点至9点之间达到峰值。需要说明的是,本例中对CPU占用值以及内存占用值的变化的介绍仅为示例,不能够代表实际运用中CPU占用值以及内存占用值的变化情况。
另外,当对网络参数数据在一个时间段内的变化趋势以及在各个时间点的实时数据均需要监控时,则可以以图表形式对网络参数数据进行显示。例如,图5示出了根据本发明一个优选实施例的以图表形式显示CPU占用值的示意图。参见图5,当以图5所示的形式对CPU占用值进行显示时,监控者能够直接快速地获知CPU占用值在各个时间点的具体数值以及在一个时间段内的变化趋势。需要说明的是,在对网络参数数据进行显示时,本发明实施例还可以结合不同的预设形式对网络参数数据进行显示。例如,在可读的显示界面上,每隔预定时间显示网络参数数据,并根据显示的该网络参数数据绘制对应的变化曲线,即在可读的显示界面上同时显示实时的网络参数数据的具体值以及该网络参数数据一个时间段的变化曲线。
上文对本发明实施例中对得到的docker的网络参数数据进行显示的过程进行了介绍。当将网络参数数据在可读的显示界面进行显示之后,本发明实施例还可以确定网络参数数据是否超过对应的预设阈值,并在确定超过时,生成提示消息,以及对提示消息进行显示,以提示监控者调整docker当前的运行状态。例如,设置内存占用值的阈值为40,当根据预设规则对获取的docker的数据进行处理之后,得到当前内存占用值为50,即能够确定当前内存占用值超过对应的预设阈值,则本发明实施例可以生成提示消息。
在该提示消息中,提示监控者当前内存占用值已超过预设阈值,需要对docker当前运行状态进行调整,从而避免由于内存占用值超过预设阈值导致业务运行缓慢或者***崩溃等故障。另外,本发明实施例中,生成的提示消息可以是对应的报警消息,可以是短信息,还可以是邮件等任意能够对该事件(网络参数数据超过对应的预设阈值)进行提示的方式或者格式等,本发明实施例对此并不加以限定。
上文对如何得到docker的网络参数数据,并对得到的网络参数数据进行显示,以供监控者对docker进行监控的过程进行了介绍。而在得到docker的网络参数数据之前,本发明实施例可以生成该docker。图6示出了根据本发明一个实施例的生成docker的处理流程示意图。请参考图6,该处理流程至少包括如下步骤:
步骤S602:本发明实施例编写yaml格式的配置文件,具体地,在yaml格式的配置文件中对CPU、内存以及挂载的目录等参数进行编写;
步骤S604:编写完成之后,为保证能够直接、快速、高效地生成docker,对yaml格式的配置文件进行转换,得到Json(一种轻量级的数据交换语言,JavascriptObjectNotation)字典格式文件,具体地,可对yaml格式的配置文件进行解析,得到Json字典格式文件,并将得到的Json字典格式文件进行分块处理;以及
步骤S606:根据得到的Json字典格式文件调用应用程序编程接口(ApplicationProgrammingInterface,以下简称API)循环,生成docker,在调用API循环生成docker的过程中,本发明实施例根据Json字典格式文件中的键值确定、调用与该键值同等次数的API循环,则每次调用API循环能够生成一个docker。
本发明实施例在生成docker时,能够对编写的yaml格式的文件进行转换,生成Json字典格式文件,避免在生成docker时,由于参数较多,容易造成参数遗漏,导致未能够成功生成docker的问题。
实施例一
为将上文各优选实施例提供的docker的监控方法阐述得更加清楚明白,现以一个优选实施例对本发明实施例提供的docker的监控方法进行介绍。图7示出了根据本发明一个优选实施例的docker的监控方法的处理流程示意图。请参考图7,该处理流程至少包括如下步骤:
步骤S702:编写yaml格式的配置文件;
步骤S704:对编写的yaml格式的配置文件进行转换,得到Json字典格式文件,具体地,可对yaml格式的配置文件进行解析,得到Json字典格式文件。将Json字典格式文件进行分块处理,并将分块处理得到的Json字典格式文件传给API;
步骤S706:根据Json字典格式文件调用API循环,生成docker,具体地,根据Json字典格式文件中的键值确定、调用同等次数的API循环,则每次调用API循环能够生成一个docker;
步骤S708:利用zabbix获取生成的docker中的数据;
步骤S710:根据预设规则对获取到的数据进行处理,得到docker的网络参数数据,具体地,本例中,根据预设规则对获取的数据进行处理之后,能够得到的docker的网络参数数据可以是任意docker的网络使用资源的相关数据。优选地,本例中的网络参数数据包括CPU占用值或占用率,和/或内存占用值或占用率,现以根据预设规则对数据进行处理得到CPU占用值为例对该步骤进行介绍:首先,每隔预定时间提取docker中的CPUstate,其次,计算连续两次提取的CPUstate的差值,最后,将得到的差值除以CPU核心数,得到CPU占用值,其中,该CPU占用值为预定时间内CPU每个核所使用的CPU的资源占用值;
步骤S712:将得到的网络参数数据显示在可读的显示界面上,以供监控者对docker进行监控,本例中,在将网络参数数据(如步骤S710中的CPU占用值)显示在可读的显示界面上时,可以以预设形式(例如图标形式和/或曲线形式)对网络参数数据进行显示。实际运用中,可以根据使用环境、使用情况和/或监控者对docker监控内容的不同选择对应的预设形式对网络参数数据进行显示;
步骤S714:确定显示的网络参数数据是否超过对应的预设阈值。若超过,执行步骤S716,若未超过,继续执行步骤S708;以及
步骤S716:当确定显示的网络参数数据超过对应的预设阈值,生成并显示提示消息,以提示监控者调整docker当前的运行状态,流程结束。
例如,当网络参数数据为内存占用值,其预设阈值可以为45。若当前显示的内存占用值为56,则超过预设阈值。因此,生成提示消息,如生成报警消息、提示短信息或者提醒邮件等,提示监控者当前docker的内存占用值已超过预设阈值,需要对其运行状态进行调整,避免由于内存占用值超过阈值,导致业务运行缓慢或者***崩溃等问题。
基于上文各优选实施例提供的docker的监控方法,基于同一发明构思,本发明实施例提供了一种docker的监控装置,用于实现docker的监控方法。图8示出了根据本发明一个实施例的docker的监控客户端的结构示意图。参见图8,本发明实施例的docker的监控客户端至少包括获取模块810、处理模块820以及显示模块830。
现介绍本发明实施例的docker的监控客户端的各器件或组成的功能以及各部分间的连接关系:
获取模块810:适于采用数据获取工具获取docker中的数据,其中,数据至少包括中央处理器运行状态数据CPUstate和/或CPU核心数;
处理模块820:与获取模块810以及显示模块830相耦合,适于根据预设规则对数据进行处理,得到docker的网络参数数据;以及
显示模块830:与处理模块820相耦合,适于将网络参数数据显示在可读的显示界面上,以供监控者对docker进行监控。
在一个优选实施例中,显示模块830还适于:以预设形式显示网络参数数据,其中,预设形式至少包括图表形式、曲线形式。
图9示出了根据本发明一个优选实施例的docker的监控客户端的结构示意图。请一并参考图8和图9,相比图8中的docker的监控客户端,本实施例的docker的监控客户端(图9所示)还包括:
确定模块840:与处理模块820以及提示生成模块850分别耦合,适于确定网络参数数据是否超过对应的预设阈值;
提示生成模块850:与确定模块840相耦合,适于若超过对应的预设阈值,则生成提示消息;
显示模块830,还适于显示提示消息,以提示监控者调整docker当前运行状态。
在一个优选的实施例中,网络数据参数包括以下任意之一:CPU占用值或占用率;内存占用值或占用率。
在一个优选的实施例中,处理模块820还适于:每隔预定时间提取CPUstate;计算连续两次提取的CPUstate的差值;将差值除以CPU核心数,得到CPU占用值。
在一个优选的实施例中,获取模块810还适于:利用zabbix获取docker中的数据。
参见图9,本实施例的docker的监控客户端还包括:
虚拟容器生成模块860:与获取模块810相耦合,适于生成docker,
其中,虚拟容器根据如下步骤生成:
编写yaml格式的配置文件;
对yaml格式的配置文件进行转换,得到Json字典格式文件;
根据Json字典格式文件调用应用程序编程接口API循环,生成docker。
在一个优选的实施例中,虚拟容器生成模块860还适于:
根据Json字典格式文件中的键值确定调用同等次数的API循环;每次调用API循环生成一个docker。
在一个优选的实施例中,虚拟容器生成模块860还适于:
根据Json字典格式文件调用API循环之前,将Json字典格式文件进行分块处理;将分块处理得到的Json字典格式文件传给API。
根据上述任意一个优选实施例或多个优选实施例的组合,本发明实施例能够达到如下有益效果:
依据本发明实施例,能够通过采用数据获取工具获取docker中的数据,根据预设规则对获取到的数据进行处理,得到docker的网络参数数据,并将得到的网络参数数据显示在可读的显示界面,以供监控者对docker进行监控,解决了现有技术中无法获知或者查看docker中网络数据参数,进而无法根据网络参数数据合理分配网络使用资源的问题。而本发明实施例能够对得到docker的网络参数数据进行显示,因此,监控者能够直观地获知docker中各种网络使用资源的使用情况,进而能够根据当前网络使用资源的使用情况对网络使用资源进行合理分配。例如,当本发明实施例根据预设规则对从docker中获取到的数据进行处理之后,得到docker当前CPU的占用率为60%,对该网络参数数据进行显示,则监控者根据显示的该网络参数数据确定是否能够继续使用该docker进行更多的资源隔离以运行更多业务。综上,本发明实施例能够得到并显示docker的网络参数数据,达到方便监控者直观获知docker的网络使用情况,以更加高效合理分配网络使用资源的有益效果。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置或者设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包括”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
本发明实施例还公开了A1.一种开源应用容器引擎docker的监控方法,包括:
采用数据获取工具获取所述docker中的数据,其中,所述数据至少包括中央处理器使用值CPUstate和/或CPU核心数;
根据预设规则对所述数据进行处理,得到所述docker的网络参数数据;以及
将所述网络参数数据显示在可读的显示界面上,以供监控者对所述docker进行监控。
A2.根据A1所述的方法,其中,将所述网络参数数据显示在可读的显示界面上的步骤包括:
以预设形式显示所述网络参数数据,其中,所述预设形式至少包括图表形式、曲线形式。
A3.根据A1或A2所述的方法,其中,所述方法还包括:
将所述网络参数数据显示在可读的显示界面上之后,确定所述网络参数数据是否超过对应的预设阈值;以及
若超过所述对应的预设阈值,则生成并显示提示消息,以提示所述监控者调整所述docker当前运行状态。
A4.根据A1至A3任一项所述的方法,其中,所述网络数据参数至少包括以下任意之一:
CPU占用值、CPU占用率、内存占用值以及内存占用率。
A5.根据A4所述的方法,其中,所述根据预设规则对所述数据进行处理,得到所述docker的CPU占用值的步骤包括:
每隔预定时间提取所述CPUstate;
计算连续两次提取的所述CPUstate的差值;以及
将所述差值除以所述CPU核心数,得到所述CPU占用值。
A6.根据A1至A5任一项所述的方法,其中,所述数据获取工具包括:
基于WEB界面的提供分布式***监视以及网络监视功能的企业级的开源解决方案zabbix。
A7.根据A1至A6任一项所述的方法,其中,所述方法还包括:
所述采用数据获取工具获取所述docker中的数据之前,生成所述docker,
其中,根据如下步骤生成所述docker:
编写yaml格式的配置文件;
对所述yaml格式的配置文件进行转换,得到轻量级的数据交换语言Json字典格式文件;以及
根据所述Json字典格式文件调用应用程序编程接口API循环,生成所述docker。
A8.根据A7所述的方法,其中,根据所述Json字典格式文件调用API循环,生成所述docker的步骤包括:
根据所述Json字典格式文件中的键值确定调用同等次数的所述API循环;以及
每次调用所述API循环生成一个所述docker。
A9.根据A7或A8所述的方法,其中,生成所述docker的步骤还包括:
在根据所述Json字典格式文件调用API循环之前,将所述Json字典格式文件进行分块处理;以及
将分块处理得到的所述Json字典格式文件传给所述API。
本发明实施例还公开了B10.一种开源应用容器引擎docker的监控客户端,包括:
获取模块,适于采用数据获取工具获取所述docker中的数据,其中,所述数据至少包括中央处理器使用值CPUstate和/或CPU核心数;
处理模块,适于根据预设规则对所述数据进行处理,得到所述docker的网络参数数据;以及
显示模块,适于将所述网络参数数据显示在可读的显示界面上,以供监控者对所述docker进行监控。
B11.根据B10所述的客户端,其中,所述显示模块还适于:
以预设形式显示所述网络参数数据,其中,所述预设形式至少包括图表形式、曲线形式。
B12.根据B10或B11所述的客户端,其中,还包括:
确定模块,适于确定所述网络参数数据是否超过对应的预设阈值;以及
提示生成模块,适于若超过,生成提示消息;
其中,所述显示模块还适于显示所述提示消息,以提示所述监控者调整所述docker当前运行状态。
B13.根据B10至B12任一项所述的客户端,其中,所述网络数据参数至少包括以下任意之一:
CPU占用值、CPU占用率、内存占用值以及内存占用率。
B14.根据B13所述的方法,其中,所述处理模块还适于:
每隔预定时间提取所述CPUstate;
计算连续两次提取的所述CPUstate的差值;以及
将所述差值除以所述CPU核心数,得到所述CPU占用值。
B15.根据B10至B14任一项所述的客户端,其中,所述获取模块还适于:
利用zabbix获取所述docker中的数据。
B16.根据B10至B15任一项所述的客户端,其中,还包括:
虚拟容器生成模块,适于根据如下步骤生成所述docker,
编写yaml格式的配置文件;
对所述yaml格式的配置文件进行转换,得到轻量级的数据交换语言Json字典格式文件;以及
根据所述Json字典格式文件调用应用程序编程接口API循环,生成所述docker。
B17.根据B16所述的客户端,其中,所述虚拟容器生成模块根据所述Json字典格式文件中的键值确定调用同等次数的所述API循环的步骤还适于:
根据所述Json字典格式文件中的键值确定调用同等次数的所述API循环;以及
每次调用所述API循环生成一个所述docker。
B18.根据B16或B17所述的客户端,其中,所述虚拟容器生成模块生成所述docker的步骤还适于:
根据所述Json字典格式文件调用所述API循环之前,将所述Json字典格式文件进行分块处理;以及
将分块处理得到的所述Json字典格式文件传给所述API。

Claims (10)

1.一种开源应用容器引擎docker的监控方法,包括:
采用数据获取工具获取所述docker中的数据,其中,所述数据至少包括中央处理器使用值CPUstate和/或CPU核心数;
根据预设规则对所述数据进行处理,得到所述docker的网络参数数据;以及
将所述网络参数数据显示在可读的显示界面上,以供监控者对所述docker进行监控。
2.根据权利要求1所述的方法,其中,将所述网络参数数据显示在可读的显示界面上的步骤包括:
以预设形式显示所述网络参数数据,其中,所述预设形式至少包括图表形式、曲线形式。
3.根据权利要求1或2所述的方法,其中,所述方法还包括:
将所述网络参数数据显示在可读的显示界面上之后,确定所述网络参数数据是否超过对应的预设阈值;以及
若超过所述对应的预设阈值,则生成并显示提示消息,以提示所述监控者调整所述docker当前运行状态。
4.根据权利要求1至3任一项所述的方法,其中,所述网络数据参数至少包括以下任意之一:
CPU占用值、CPU占用率、内存占用值以及内存占用率。
5.根据权利要求4所述的方法,其中,所述根据预设规则对所述数据进行处理,得到所述docker的CPU占用值的步骤包括:
每隔预定时间提取所述CPUstate;
计算连续两次提取的所述CPUstate的差值;以及
将所述差值除以所述CPU核心数,得到所述CPU占用值。
6.根据权利要求1至5任一项所述的方法,其中,所述数据获取工具包括:
基于WEB界面的提供分布式***监视以及网络监视功能的企业级的开源解决方案zabbix。
7.根据权利要求1至6任一项所述的方法,其中,所述方法还包括:
所述采用数据获取工具获取所述docker中的数据之前,生成所述docker,
其中,根据如下步骤生成所述docker:
编写yaml格式的配置文件;
对所述yaml格式的配置文件进行转换,得到轻量级的数据交换语言Json字典格式文件;以及
根据所述Json字典格式文件调用应用程序编程接口API循环,生成所述docker。
8.根据权利要求7所述的方法,其中,根据所述Json字典格式文件调用API循环,生成所述docker的步骤包括:
根据所述Json字典格式文件中的键值确定调用同等次数的所述API循环;以及
每次调用所述API循环生成一个所述docker。
9.根据权利要求7或8所述的方法,其中,生成所述docker的步骤还包括:
在根据所述Json字典格式文件调用API循环之前,将所述Json字典格式文件进行分块处理;以及
将分块处理得到的所述Json字典格式文件传给所述API。
10.一种开源应用容器引擎docker的监控客户端,包括:
获取模块,适于采用数据获取工具获取所述docker中的数据,其中,所述数据至少包括中央处理器使用值CPUstate和/或CPU核心数;
处理模块,适于根据预设规则对所述数据进行处理,得到所述docker的网络参数数据;以及
显示模块,适于将所述网络参数数据显示在可读的显示界面上,以供监控者对所述docker进行监控。
CN201410475309.6A 2014-09-17 2014-09-17 docker的监控方法及客户端 Pending CN105429813A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410475309.6A CN105429813A (zh) 2014-09-17 2014-09-17 docker的监控方法及客户端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410475309.6A CN105429813A (zh) 2014-09-17 2014-09-17 docker的监控方法及客户端

Publications (1)

Publication Number Publication Date
CN105429813A true CN105429813A (zh) 2016-03-23

Family

ID=55507763

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410475309.6A Pending CN105429813A (zh) 2014-09-17 2014-09-17 docker的监控方法及客户端

Country Status (1)

Country Link
CN (1) CN105429813A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201819A (zh) * 2016-06-28 2016-12-07 乐视控股(北京)有限公司 应用容器引擎的***资源占用量监控方法和装置
CN106789284A (zh) * 2016-12-28 2017-05-31 郑州云海信息技术有限公司 一种基于Zabbix和Docker的监控***和方法
CN106886455A (zh) * 2017-02-23 2017-06-23 北京图森未来科技有限公司 一种实现用户隔离的方法及***
CN107463356A (zh) * 2017-08-17 2017-12-12 北京云纵信息技术有限公司 任务流程的执行方法和装置
CN108009004A (zh) * 2017-12-01 2018-05-08 广东电网有限责任公司佛山供电局 基于Docker的业务应用可用度测量监控的实现方法
CN108021428A (zh) * 2017-12-05 2018-05-11 华迪计算机集团有限公司 一种基于Docker实现网络靶场的方法和***
CN108399117A (zh) * 2018-02-28 2018-08-14 迈普通信技术股份有限公司 一种处理器占用率显示方法及装置
CN109471621A (zh) * 2018-09-26 2019-03-15 西安电子科技大学工程技术研究院有限公司 一种基于大数据的Linux***下的工具构建方法
US10585745B2 (en) 2017-11-28 2020-03-10 International Business Machines Corporation Prevention of application container failure between replicated containers
CN110928739A (zh) * 2018-09-19 2020-03-27 阿里巴巴集团控股有限公司 一种进程监控方法、装置以及计算设备
US10929117B2 (en) 2018-02-08 2021-02-23 Red Hat, Inc. Container image building using shared resources
CN113010473A (zh) * 2021-03-05 2021-06-22 山东英信计算机技术有限公司 一种编辑yaml文件的方法和设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100127867A1 (en) * 2008-11-26 2010-05-27 Kuender Co., Ltd. Container transportation monitoring system
CN101996126A (zh) * 2010-11-01 2011-03-30 北京并行科技有限公司 一种机群性能监控接口及其方法
CN103092738A (zh) * 2012-12-26 2013-05-08 杭州华为数字技术有限公司 一种资源可视化方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100127867A1 (en) * 2008-11-26 2010-05-27 Kuender Co., Ltd. Container transportation monitoring system
CN101996126A (zh) * 2010-11-01 2011-03-30 北京并行科技有限公司 一种机群性能监控接口及其方法
CN103092738A (zh) * 2012-12-26 2013-05-08 杭州华为数字技术有限公司 一种资源可视化方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ALEXIS: ""Monitor Docker performance with Datadog"", 《HTTPS://WWW.DATADOGHQ.COM/BLOG/MONITOR-DOCKER-DATADOG/ 》 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201819A (zh) * 2016-06-28 2016-12-07 乐视控股(北京)有限公司 应用容器引擎的***资源占用量监控方法和装置
CN106789284A (zh) * 2016-12-28 2017-05-31 郑州云海信息技术有限公司 一种基于Zabbix和Docker的监控***和方法
CN106789284B (zh) * 2016-12-28 2020-03-27 郑州云海信息技术有限公司 一种基于Zabbix和Docker的监控***和方法
CN106886455A (zh) * 2017-02-23 2017-06-23 北京图森未来科技有限公司 一种实现用户隔离的方法及***
CN106886455B (zh) * 2017-02-23 2019-02-22 北京图森未来科技有限公司 一种实现用户隔离的方法及***
CN107463356A (zh) * 2017-08-17 2017-12-12 北京云纵信息技术有限公司 任务流程的执行方法和装置
US10585745B2 (en) 2017-11-28 2020-03-10 International Business Machines Corporation Prevention of application container failure between replicated containers
US11119846B2 (en) 2017-11-28 2021-09-14 International Business Machines Corporation Prevention of application container failure between replicated containers
CN108009004B (zh) * 2017-12-01 2022-01-21 广东电网有限责任公司佛山供电局 基于Docker的业务应用可用度测量监控的实现方法
CN108009004A (zh) * 2017-12-01 2018-05-08 广东电网有限责任公司佛山供电局 基于Docker的业务应用可用度测量监控的实现方法
CN108021428A (zh) * 2017-12-05 2018-05-11 华迪计算机集团有限公司 一种基于Docker实现网络靶场的方法和***
US10929117B2 (en) 2018-02-08 2021-02-23 Red Hat, Inc. Container image building using shared resources
US11599348B2 (en) 2018-02-08 2023-03-07 Red Hat, Inc. Container image building using shared resources
CN108399117A (zh) * 2018-02-28 2018-08-14 迈普通信技术股份有限公司 一种处理器占用率显示方法及装置
CN108399117B (zh) * 2018-02-28 2022-02-01 迈普通信技术股份有限公司 一种处理器占用率显示方法及装置
CN110928739A (zh) * 2018-09-19 2020-03-27 阿里巴巴集团控股有限公司 一种进程监控方法、装置以及计算设备
CN110928739B (zh) * 2018-09-19 2024-03-26 阿里巴巴集团控股有限公司 一种进程监控方法、装置以及计算设备
CN109471621A (zh) * 2018-09-26 2019-03-15 西安电子科技大学工程技术研究院有限公司 一种基于大数据的Linux***下的工具构建方法
CN113010473A (zh) * 2021-03-05 2021-06-22 山东英信计算机技术有限公司 一种编辑yaml文件的方法和设备
CN113010473B (zh) * 2021-03-05 2023-02-28 山东英信计算机技术有限公司 一种编辑yaml文件的方法和设备

Similar Documents

Publication Publication Date Title
CN105429813A (zh) docker的监控方法及客户端
CN111338623B (zh) 一种开发用户界面的方法、装置、介质和电子设备
CN109214741B (zh) 一种监控指标的预警方法和预警***
US9519537B2 (en) Apparatus, system and method for application log data processing
CN110795315A (zh) 监控业务的方法和装置
CN113961311A (zh) 业务数据处理方法、装置、电子设备和介质
CN110795741A (zh) 对数据进行安全性处理的方法和装置
CN105447384B (zh) 一种反监控的方法、***及移动终端
CN110908646B (zh) 一种积木式回调函数块构建方法、装置、存储介质和处理器
CN113495825A (zh) 线路告警的处理方法、装置、电子设备及可读存储介质
EP3188071B1 (en) Application accessing control method and device
CN103561113A (zh) Web Service接口的生成方法及装置
CN111143408A (zh) 一种基于业务规则的事件处理方法和装置
CN113691937B (zh) 用于确定位置信息的方法、云手机和终端设备
CN115496470A (zh) 全链路配置化数据处理方法、装置和电子设备
CN114995914A (zh) 图片数据的处理方法、装置、计算机设备及存储介质
CN114625458A (zh) 页面数据的处理方法、装置、电子设备和存储介质
CN112463616A (zh) 一种面向Kubernetes容器平台的混沌测试方法和装置
CN113282455A (zh) 一种监控处理方法和装置
CN112925623A (zh) 任务处理方法、装置、电子设备和介质
CN104519321A (zh) 查看监控视频的方法及装置
CN113010174A (zh) 业务监控的方法和装置
CN110647405A (zh) ***消息处理方法、电子设备和计算机可读存储介质
CN114996169B (zh) 设备诊断方法、装置、电子设备及存储介质
CN110262756B (zh) 用于缓存数据的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160323