虚拟机的监控方法和系统与流程

文档序号:12463486阅读:802来源:国知局
虚拟机的监控方法和系统与流程

本发明实施例涉及虚拟化技术领域,特别涉及一种虚拟机的监控方法和系统。



背景技术:

目前,虚拟化已经成为IT业界最热门的技术之一。在实际应用中,为了给客户提供更精确的桌面云系统解决方案,并通过大数据分析来模拟客户的实际运行环境。然而,目前没有类似的方法来实时的进行数据采集,分析,虚拟机运行控制。



技术实现要素:

本发明实施例的一个目的在于提供一种用于对虚拟机进行监控的方法和系统。

为达到上述目的,第一方面,本发明实施例提供了一种虚拟机监控方法,其特征在于,包括:

收集待监控的虚拟机对应的运行信息;

将收集的运行信息通过对应的字符设备存储到服务器系统对应的存储空间内。

第二方面,本发明实施例提供了一种虚拟机监控系统,包括:

收集模块,用于收集待监控的虚拟机对应的运行信息;

存储模块,用于将收集的运行信息通过对应的字符设备存储到服务器系统对应的存储空间内。

本发明实施例提供虚拟机的监控方法和系统,为待监控的虚拟机预先设置一个字符设备,并将收集的运行信息通过对应的字符设备存储到服务器系统对应的存储空间内。这样通过为不同的虚拟机设备之不同的字符设备,就能够实现对每一个虚拟机的运行状态的监控,且整个监控过程中运行状态信息的传输过程均在服务器系统所在的物理设备中完成,而不需要通过网络传输,能够很好的节省网络资源。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些示例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的虚拟机的监控方法所应用的一种场景的示意图;

图2是本发明实施例提供的虚拟机的监控方法流程示意图;

图3是本发明实施例提供的虚拟机的监控系统的结构示意图;

图4是本发明实施例提供的虚拟机的监控系统进行监控时的通信过程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1是本发明实施例提供的虚拟机的监控方法的一种应用场景的示意图;包括客户机和服务器,客户机和服务器通过网络连接。其中,服务器可以虚拟为若干的虚拟机,每一个客户端可以对应一个或者多个虚拟机。本发明实施例的一个目的在于监控至少一个客户端所对应的虚拟机的运行状态,从而能够确定客户端被操作的状态。比如通过监控虚拟机的运行状态,可以确定客户端是否在浏览被禁止的网站或者客户端正在执行其他被禁止的操作等。本发明实施例提供的虚拟机的监控方法主要由服务器设备执行。

图2是本发明实施例提供的虚拟机的监控的方法的基本流程图,包括如下步骤:

步骤S21,收集待监控的虚拟机对应的运行信息;

步骤S22,将收集的运行信息通过对应的字符设备存储到服务器系统对应的存储空间内。

该实施例中,为待监控的虚拟机预先设置一个字符设备,并将待监控的虚拟机的运行信息通过该字符设备传输到服务器系统对应的存储空间内。这样通过为不同的虚拟机设备之不同的字符设备,就能够实现对每一个虚拟机的运行状态的监控,且整个监控过程中运行状态信息的传输过程均在服务器系统所在的物理设备中完成,而不需要通过网络传输,能够很好的节省网络资源。

具体来说,这里的运行信息可以具体为如下一种或者任意几种的组合:进程、CPU、内存、硬盘等信息、根据上述信息所计算得到的资源占用率等信息。在具体实施时,可以通过调用虚拟机中的虚拟操作系统的各个API获取到上述的信息。

一些实施例中,这里的服务器系统可以是指监控服务器系统,该监控服务器系统在获取到这些参数之后,能够将其进行展示,或者进行分析,并将分析的结果输出。

在一些实施例中,这里的字符设备的设置可以统一进行,即为所有的虚拟机设置对应的字符设备,比如针对一个企业用户设置大量的虚拟机时,针对每一台虚拟机均生成一个字符设备。

或者,也可以仅根据用户的需求,为特定的虚拟机设置一个字符设备。具体来说,此时相应的方法中,可以在将收集的运行信息通过对应的字符设备存储到服务器系统对应的存储空间内之前,检测用户针对待监控的虚拟机所输入的字符设备设置参数,根据所述字符设备设置参数为待监控的虚拟机设置字符设备。更进一步的,这里的字符设备设置参数可以携带在虚拟机设置参数中,这样在后续过程中,当相应的虚拟机被启动时,同时生成一个字符设备。由于字符设备的设置于虚拟机参数设置是同一过程,能够减少设置的难度和复杂程度。

在具体实施时这里的字符设备可以为全虚拟的字符设备,或者也可以为半虚拟的字符设备。服务器系统通过一个进程维护一个Vring,该字符设备将运行信息实时的发送到这个Vring上,从而实时的将接收到的运行信息存储到服务器系统对应的存储空间内。

当为半虚拟的字符设备,上述的任意一项中提到的字符设备设置参数可以为用户设置的virtio参数。相比较于全虚拟化字符设备,半虚拟化的方式更高效,可以获得几乎跟物理机等同的性能。在具体实施时,KVM/QEMU的virtio实现可以采用在Guest OS内核中安装前端驱动(Front-end)和在QEMU中实现后端驱动(Back-end)的方式。前后端驱动通过Vring直接通信,绕过了经过KVM内核模块的过程,达到提高I/O性能的目的。

在一些实施例中,上述的方法还可以包括:可以在通过字符设备获取服务器系统生成并存储到服务器系统对应的存储空间内的操作指示时,根据所述操作指示向该虚拟机对应的客户机发送对应的操作指示消息,使所述客户机展示所述操作指示;和/或,根据所述操作指示对该虚拟机进行操作。

在具体实施时,这里的操作指示可以为提示、告警或者其他信息。或者也可以用于指示禁止客户机的操作等。这样能够不但实现对客户机的操作的监控,还能够实现对客户机的操作人员的提示或者直接禁止客户机的操作。

另一方面,本发明一实施例还提供了一种虚拟机监控系统,参见图3,包括:

收集模块31,用于收集待监控的虚拟机对应的运行信息;

存储模块32,用于将收集的运行信息通过对应的字符设备存储到服务器系统对应的存储空间内。

在一些实施例中,还包括:字符设备设置模块,用于在所述存储模块用于将收集的运行信息通过对应的字符设备存储到服务器系统对应的存储空间内之前,检测用户针对待监控的虚拟机所输入的字符设备设置参数,根据所述字符设备设置参数为待监控的虚拟机设置字符设备。

在一些实施例中,所述字符设备设置参数包含在用户输入的虚拟机设置参数中;

所述字符设备设置模块用于根据所述参数为待监控的虚拟机设置字符设备包括:在用户输入的虚拟机设置参数中包含字符设备设置参数时,在根据所述虚拟机设置参数设置虚拟机的同时生成对应的字符设备

在一些实施例中,所述字符设备设置参数为用户设置的virtio参数。

在一些实施例中,还包括:

指令处理模块,用于在通过字符设备获取服务器系统生成并存储到服务器系统对应的存储空间内的操作指示时,根据所述操作指示向该虚拟机对应的客户机发送对应的操作指示消息,使所述客户机展示所述操作指示;和/或,根据所述操作指示对该虚拟机进行操作。

为了便于更好的理解本发明实施例的方案,下面结合附图4对本发明实施例提供的虚拟机监控系统通信过程进行说明。参见图4,虚拟机监控系统410以及字符设备420可以位于虚拟机430中,通过virtio设备实现。字符设备420维护一个Vring作为传输接口440,实时的将虚拟机监控系统410收集到的运行信息传输到服务器系统450中的QEMU中。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的某些部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1