CN108228308B - 虚拟机的监控方法以及装置 - Google Patents
虚拟机的监控方法以及装置 Download PDFInfo
- Publication number
- CN108228308B CN108228308B CN201611185789.8A CN201611185789A CN108228308B CN 108228308 B CN108228308 B CN 108228308B CN 201611185789 A CN201611185789 A CN 201611185789A CN 108228308 B CN108228308 B CN 108228308B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- information
- abnormal
- use information
- interface
- 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.)
- Active
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 61
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000002159 abnormal effect Effects 0.000 claims abstract description 50
- 230000005856 abnormality Effects 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 4
- 238000011084 recovery Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 206010000117 Abnormal behaviour Diseases 0.000 description 4
- 230000002547 anomalous effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种虚拟机的监控方法以及装置,涉及云计算技术领域。本发明的方法包括:每次间隔第一预设周期通过虚拟机的对外接口获取虚拟机的使用信息,使用信息包括虚拟机的文件信息、目录信息和注册表信息;将当前周期获取的虚拟机的使用信息与上一个周期获取的虚拟机的使用信息或正常的使用信息进行比对,根据虚拟机的使用信息的比对结果判断虚拟机是否存在异常。本发明通过各个虚拟机的对外接口获取虚拟机的使用信息,并根据使用信息判断虚拟机是否异常,实现了各个虚拟机的信息的统一收集和判断,从而实现了各个虚拟机的统一监控和管理,提高了虚拟机监控和管理的效率。
Description
技术领域
本发明涉及云计算技术领域,特别涉及一种虚拟机的监控方法以及装置。
背景技术
在云计算时代,一个物理机通常是创建多台虚拟机供用户使用,需要管理的虚拟机成倍增长,虚拟机安全问题面临挑战。
传统的解决方法是每台虚拟机上都要安装系统监控软件,在每台虚拟机上配置相应的监控规则,这种解决办法存在一些缺点,例如每次修改监控规则,用户需要登录每台虚拟机逐一设置,人工耗费多,且容易出错,此外软件的版本也可能存在管理上的混乱。增加了虚拟机管理的困难性,降低对虚拟机进行安全监控的效率,不利于对各个虚拟机的统一管理。
发明内容
本发明所要实现的一个目的是:提出一种对物理机上各个虚拟机统一监控的方法,提高监控效率。
根据本发明的一个方面,提供的一种虚拟机的监控方法,包括:每次间隔第一预设周期通过虚拟机的对外接口获取虚拟机的使用信息,使用信息包括虚拟机的文件信息、目录信息和注册表信息;将当前周期获取的虚拟机的使用信息与上一个周期获取的虚拟机的使用信息或正常的使用信息进行比对,根据虚拟机的使用信息的比对结果判断虚拟机是否存在异常。
在一个实施例中,通过虚拟机的对外接口获取虚拟机的使用信息包括:调用Libguestfs的接口向虚拟机管理程序发送使用信息查询指令;接收虚拟机管理程序根据使用信息查询指令查询虚拟机的磁盘映像获取并返回的虚拟机的使用信息。
在一个实施例中,该方法还包括:每次间隔第二预设周期通过虚拟机的对外接口获取虚拟机的系统信息,系统信息包括虚拟机的CPU信息、内存信息和网卡信息;将当前周期获取的虚拟机的系统信息与预设阈值进行比对,根据虚拟机的系统信息的比对结果判断虚拟机是否存在异常,如果存在异常,则触发根据虚拟机的使用信息判断虚拟机是否存在异常的步骤。
在一个实施例中,通过虚拟机的对外接口获取虚拟机的系统信息包括:调用Libvirt的接口向虚拟机管理程序发送系统信息查询指令;接收虚拟机系统管理程序根据系统信息查询指令获取并返回的虚拟机的系统信息。
在一个实施例中,在判断虚拟机存在异常的情况下,发出告警提示信息,或者调用Libguestfs的接口将异常文件恢复至上一周期的状态或正常的使用状态,或者调用Libguestfs的接口将异常文件进行复制,并提取复制后的文件进行异常分析。
根据本发明的第二个方面,提出的一种虚拟机的监控方法,包括:每次间隔预设周期通过虚拟机的对外接口获取虚拟机的系统信息,系统信息包括虚拟机的CPU信息、内存信息和网卡信息;将当前周期获取的虚拟机的系统信息与预设阈值进行比对,根据虚拟机的系统信息的比对结果判断虚拟机是否存在异常。
根据本发明的第三个方面,提出的一种虚拟机的监控装置,包括:第一信息获取模块,用于每次间隔第一预设周期通过虚拟机的对外接口获取虚拟机的使用信息,使用信息包括虚拟机的文件信息、目录信息和注册表信息;第一异常判断模块,用于将当前周期获取的虚拟机的使用信息与上一个周期获取的虚拟机的使用信息或正常的使用信息进行比对,根据虚拟机的使用信息的比对结果判断虚拟机是否存在异常。
在一个实施例中,第一信息获取模块包括:第一指令发送单元,第一信息接收单元;第一指令发送单元,用于调用Libguestfs的接口向虚拟机管理程序发送使用信息查询指令;第一信息接收单元,用于接收虚拟机管理程序根据使用信息查询指令查询虚拟机的磁盘映像获取并返回的虚拟机的使用信息。
在一个实施例中,该装置还包括:第二信息获取模块,用于每次间隔第二预设周期通过虚拟机的对外接口获取虚拟机的系统信息,系统信息包括虚拟机的CPU信息、内存信息和网卡信息;第二异常判断模块,用于将当前周期获取的虚拟机的系统信息与预设阈值进行比对,根据虚拟机的系统信息的比对结果判断虚拟机是否存在异常,在存在异常的情况下执行第一信息获取模块和第一异常判断模块。
在一个实施例中,第二信息获取模块包括:第二指令发送单元,第二信息接收单元;第二指令发送单元,用于调用Libvirt的接口向虚拟机管理程序发送系统信息查询指令;第二信息接收单元,用于接收虚拟机系统管理程序根据系统信息查询指令获取并返回的虚拟机的系统信息。
在一个实施例中,该装置还包括:告警模块,用于在判断虚拟机存在异常的情况下,发出告警提示信息,或者文件恢复模块,用于调用Libguestfs的接口将异常文件恢复至上一周期的状态或正常的使用状态,或者文件提取模块,用于调用Libguestfs的接口将异常文件进行复制,并提取复制后的文件进行异常分析。
根据本发明的第四个面法,提出的一种虚拟机的监控装置,包括:信息获取模块,用于每次间隔预设周期通过虚拟机的对外接口获取虚拟机的系统信息,系统信息包括虚拟机的CPU信息、内存信息和网卡信息;异常判断模块,用于将当前周期获取的虚拟机的系统信息与预设阈值进行比对,根据虚拟机的系统信息的比对结果判断虚拟机是否存在异常。
根据本发明的第五个方面,提出的一种虚拟机的监控装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器设备中的指令,执行如前述任一个实施例的虚拟机的监控方法。
本发明通过各个虚拟机的对外接口获取虚拟机的使用信息,并根据使用信息判断虚拟机是否异常,实现了各个虚拟机的信息的统一收集和判断,从而实现了各个虚拟机的统一监控和管理,提高了虚拟机监控和管理的效率。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本发明的一个实施例的虚拟机的监控方法的流程示意图。
图2示出本发明的一个应用例的获取虚拟机使用信息的流程示意图。
图3示出本发明的另一个实施例的虚拟机的监控方法的流程示意图。
图4示出本发明的一个应用例的获取虚拟机信息的流程示意图。
图5示出本发明的又一个实施例的虚拟机的监控方法的流程示意图。
图6示出本发明的一个实施例的虚拟机的监控装置的结构示意图。
图7示出本发明的另一个实施例的虚拟机的监控装置的结构示意图。
图8示出本发明的又一个实施例的虚拟机的监控装置的结构示意图。
图9示出本发明的再一个实施例的虚拟机的监控装置的结构示意图。
图10示出本发明的又一个实施例的虚拟机的监控装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对现有技术中在各个虚拟机中分别安装监控软件进行监控的方法,增加了虚拟机管理的困难性,降低对虚拟机进行安全监控的效率,不利于对各个虚拟机的统一管理的问题,提出本方案。
下面结合图1和图2描述本发明的虚拟机的监控方法。
图1为本发明虚拟机的监控方法一个实施例的流程图。如图1所示,该实施例的方法包括:
步骤S102,每次间隔第一预设周期通过虚拟机的对外接口获取虚拟机的使用信息。
其中,使用信息包括虚拟机的文件信息、目录信息和注册表信息,文件信息包括系统文件信息和各个应用的关键配置文件信息,例如文件的日期、类型、大小等,目录信息包括目录日期、内容等,注册表信息包括注册表的值等等。
采用不同技术创建的虚拟机对外提供不同的接口,对于创建在Openstack开源平台上的各种虚拟机,通过安装Libguestfs对接各种不同的虚拟机的接口,进一步可以通过调用Libguestfs的接口获取各个虚拟机的使用信息。Libguestfs是一组C语言的API(应用程序接口),可以用来访问虚拟机的磁盘映像文件。Libguestfs-tools能获取包括KVM、KVM+QEMU、XEN、VMWare、ESXi、VirtualBox等不同虚拟化方案的镜像文件。Libguestfs系列工具,包含的工具有virt-cat、virt-df、virt-ls、virt-copy-in、virt-copy-out、virt-edit、guestfs、guestmount、virt-list-filesystems、virt-list-partitions等工具,可以查看虚拟机磁盘映像中的文件、文件夹大小、文件系统、磁盘分区,并对数据进行编辑、清理。例如,对于windows操作系统下的注册表,Libguestfs提供了virt-win-reg工具,可以查询、清理注册表,对于文件信息可以通过virt-df工具获取等。
Libguestfs是作用于虚拟机管理程序(Hypervisor)的工具,通过Libguestfs可以获取同一台物理机上不同的虚拟机的使用信息。系统监控应用通过调用Libguestfs的接口向虚拟机管理程序发送使用信息查询指令,并接收虚拟机管理程序根据使用信息查询指令查询虚拟机的磁盘映像获取并返回的虚拟机的使用信息。使用信息进行获取的形式例如为:{'instanceid1':('IP',time,'value'),'instanceid2':('IP',time,'value')},其中value的单位为KB,instanceid1位虚拟机id。提交获取的使用信息的形式例如为:self.send([msg_type,json.dumps(info)])其中,info为使用信息,msg_type为本次所发送信息的类型,包括文本、数值型、字符。如图2所示,采用KVM+QEMU虚拟化技术创建的各个虚拟机(VM),KVM主要做内存虚拟化,QEMU主要作为I/O虚拟化,系统监控应用调用Libguestfs的接口向KVM Hypervisor发送使用信息查询指令,Hypervisor基于QEMU获取各个虚拟机中的使用信息并返回。
对于获取的虚拟机的使用信息,基于内容进行分类、归并等后存储至数据库中,便于异常行为的分析和管理。数据库还可以对数据的存储方式进行划分,包括永久存储、临时存储、日志的保存等,数据库还可以存储在获取信息的过程中遇到不可预知的错误时,所采取的安全机制。
使用信息获取后例如通过socket发送,使用信息的接收和存储的方式例如为:msg_type,report=socket.recv_multipart(),plugins[msg_type](app=app,db=db,data=data)。
步骤S104,将当前周期获取的虚拟机的使用信息与上一个周期获取的虚拟机的使用信息或正常的使用信息进行比对,根据虚拟机的使用信息的比对结果判断虚拟机是否存在异常。
当虚拟机上一个周期判断没有发生异常时则利用上一周期的使用信息进行对比,也可以将每个周期获取的使用信息与正常的使用信息进行比对,从而判断是否出现异常。例如,对于文件或目录,一些系统文件,其大小、修改时间在系统安装完成后,其使用过程中是不发生变化的,而在实际监控中发现,这类的系统文件大小发生了变化,则认为其可能存在异常;对于注册表,对一些重要项目进行监控,如注册表中跟开机相关启动项的键值发生变化,如出现新的启动项,则有可能存在异常。
在实际应用过程,可以根据实际需求获取虚拟机需要监控的信息并进行异常行为的判断,不限于上述实施例中的虚拟机的使用信息。此外,Libguestfs可以安装于被监控的物理机中,也可以将Libguestfs分为控制端和数据采集端,控制端设置于Openstack平台或控制服务器,而数据采集端安装于被监控的物理服务器。
上述实施例的方法,通过各个虚拟机的对外接口获取虚拟机的使用信息,并根据使用信息判断虚拟机是否异常,实现了各个虚拟机的信息的统一收集和判断,从而实现了各个虚拟机的统一监控和管理,提高了虚拟机监控和管理的效率。
下面结合图3和图4描述本发明的虚拟机的监控方法的另一个实施例。
图3为本发明虚拟机的监控方法另一个实施例的流程图。如图3所示,该实施例的方法包括:
步骤S302,每次间隔第二预设周期通过虚拟机的对外接口获取虚拟机的系统信息。
其中,系统信息包括虚拟机的CPU信息、内存信息和网卡信息,例如,CPU的使用率,内存的使用率等。
不同的虚拟化技术向外提供的接口名称,接口形式可能不同,但是向外提供的功能和信息都大同小异。Libvirt可以把这些接口封装起来,在向外提供一个统一的API。对于创建在Openstack开源平台上的各种虚拟机,通过安装Libvirt对接各种不同的虚拟机的接口,进一步可以通过调用Libvirt的接口获取各个虚拟机的使用信息。Libvirt是一系列提供出来的库函数,用以其他技术调用,来管理物理机上的虚拟机,包括各种虚拟机技术,如KVM、XEN等,都可以调用Libvirt提供的API对虚拟机进行管理。例如,virNodeGetInfo的调用可以用来获得虚拟机的CPU信息等。
Libvirt是作用于虚拟机管理程序(Hypervisor)的工具,通过Libvirt可以获取同一台物理机上不同的虚拟机的系统信息。系统监控应用通过调用Libvirt的接口向虚拟机管理程序发送系统信息查询指令,接收虚拟机系统管理程序根据系统信息查询指令获取并返回的虚拟机的系统信息。获取虚拟机系统信息的方式例如为:
如图4所示,采用KVM+QEMU虚拟化技术创建的各个虚拟机(VM),KVM主要做内存虚拟化,QEMU主要作为I/O虚拟化,系统监控应用调用Libvirt的接口向KVM Hypervisor发送系统信息查询指令,Hypervisor获取各个虚拟机中的系统信息并返回。
对于获取的虚拟机的系统信息,基于内容进行分类后存储至数据库中,便于异常行为的分析和管理。
步骤S304,将当前周期获取的虚拟机的系统信息与预设阈值进行比对,根据虚拟机的系统信息的比对结果判断虚拟机是否存在异常,如果存在异常,则执行步骤S306。
例如,内存使用量如果相对正常使用状态大非常多且持续一段时间,那有可能虚拟机中存在异常因素。CPU在某些时间使用率超过阈值则表示虚拟机中可能存在异常。
步骤S306,每次间隔第一预设周期通过虚拟机的对外接口获取虚拟机的使用信息。
通过虚拟机系统信息的判断结果触发虚拟机使用信息的获取和判断,每个周期内优先判断虚拟机的系统信息,如果没有发现异常则不需要再对虚拟机的使用信息进行判断,如果发现异常则进一步判断虚拟机的使用信息,进一步确认是否发生异常。
步骤S308,将当前周期获取的虚拟机的使用信息与上一个周期获取的虚拟机的使用信息或正常的使用信息进行比对,根据虚拟机的使用信息的比对结果判断虚拟机是否存在异常。如果存在异常,则执行步骤S310。
步骤S310,发出告警提示信息,或者调用Libguestfs的接口将异常文件恢复至上一周期的状态或正常的使用状态,或者调用Libguestfs的接口将异常文件进行复制,并提取复制后的文件进行异常分析。
例如,调用Libguestfs中的virt-edit对异常文件进行恢复,virt-copy-out对异常的文件进行复制后再利用杀毒软件等进行进一步的异常检测。
在实际应用过程,可以根据实际需求获取虚拟机需要监控的信息并进行异常行为的判断,不限于上述实施例中的虚拟机的系统信息和使用信息。此外,Libvirt可以安装于被监控的物理机中,也可以将Libvirt分为控制端和数据采集端,控制端设置于Openstack平台或控制服务器,而数据采集端(Libvirt daemon)安装于被监控的物理服务器。
上述实施例的方法,首先统一获取各个虚拟机的系统信息进行判断,进一步根据各个虚拟机的使用信息进行判断,从虚拟机的多方面进行监控,监控更加准确。
本发明还提供一种虚拟机的监控方法,下面结合图5进行描述。
图5为本发明虚拟机的监控方法一个实施例的流程图。如图5所示,该实施例的方法包括:
步骤S502,每次间隔预设周期通过虚拟机的对外接口获取虚拟机的系统信息。
其中,系统信息包括虚拟机的CPU信息、内存信息和网卡信息,例如,CPU的使用率,内存的使用率等。
步骤S504,将当前周期获取的虚拟机的系统信息与预设阈值进行比对,根据虚拟机的系统信息的比对结果判断虚拟机是否存在异常。
上述实施例的方法,通过各个虚拟机的对外接口获取虚拟机的系统信息,并根据使用信息判断虚拟机是否异常,实现了各个虚拟机的信息的统一收集和判断,从而实现了各个虚拟机的统一监控和管理,提高了虚拟机监控和管理的效率。
本发明还提供一种虚拟机的监控装置,下面结合图6进行描述。
图6为本发明虚拟机的监控装置一个实施例的流程图。如图6所示,该装置60包括:
第一信息获取模块602,用于每次间隔第一预设周期通过虚拟机的对外接口获取虚拟机的使用信息,使用信息包括虚拟机的文件信息、目录信息和注册表信息。
在一个实施例中,第一信息获取模块包括602:第一指令发送单元6021,第一信息接收单元6022。
第一指令发送单元6021,用于调用Libguestfs的接口向虚拟机管理程序发送使用信息查询指令。
第一信息接收单元6022,用于接收虚拟机管理程序根据使用信息查询指令查询虚拟机的磁盘映像获取并返回的虚拟机的使用信息。
第一异常判断模块604,用于将当前周期获取的虚拟机的使用信息与上一个周期获取的虚拟机的使用信息或正常的使用信息进行比对,根据虚拟机的使用信息的比对结果判断虚拟机是否存在异常。
下面结合图7描述本发明的虚拟机的监控装置的另一个实施例。
图7为本发明虚拟机的监控装置另一个实施例的流程图。如图7所示,该装置60还包括:
第二信息获取模块706,用于每次间隔第二预设周期通过虚拟机的对外接口获取虚拟机的系统信息,系统信息包括虚拟机的CPU信息、内存信息和网卡信息。
在一个实施例中,第二信息获取模块706包括:第二指令发送单元7061,第二信息接收单元7062。
第二指令发送单元7061,用于调用Libvirt的接口向虚拟机管理程序发送系统信息查询指令。
第二信息接收单元7062,用于接收虚拟机系统管理程序根据系统信息查询指令获取并返回的虚拟机的系统信息。
第二异常判断模块708,用于将当前周期获取的虚拟机的系统信息与预设阈值进行比对,根据虚拟机的系统信息的比对结果判断虚拟机是否存在异常,在存在异常的情况下执行第一信息获取模块602和第一异常判断模块604。
在一个实施例中,该装置60还包括:告警模块710,用于在判断虚拟机存在异常的情况下,发出告警提示信息,或者文件恢复模块712,用于调用Libguestfs的接口将异常文件恢复至上一周期的状态或正常的使用状态,或者文件提取模块714,用于调用Libguestfs的接口将异常文件进行复制,并提取复制后的文件进行异常分析。
上述实施例中的装置60可以设置于被监控的虚拟机所在的物理机中,也可以设置于控制服务器中,通过外部接口与被监控的虚拟机所在的物理机交互信息。
本发明还提供一种虚拟机的监控装置,下面结合图8进行描述。
图8为本发明虚拟机的监控装置一个实施例的流程图。如图8所示,该装置80包括:
信息获取模块802,用于每次间隔预设周期通过虚拟机的对外接口获取虚拟机的系统信息,系统信息包括虚拟机的CPU信息、内存信息和网卡信息。
异常判断模块804,用于将当前周期获取的虚拟机的系统信息与预设阈值进行比对,根据虚拟机的系统信息的比对结果判断虚拟机是否存在异常。
上述实施例中的装置80可以设置于被监控的虚拟机所在的物理机中,也可以设置于控制服务器中,通过外部接口与被监控的虚拟机所在的物理机交互信息。
本发明的实施例中的虚拟机的监控装置可各由各种计算设备或计算机系统来实现,下面结合图9以及图10进行描述。
图9为本发明虚拟机的监控装置的一个实施例的结构图。如图9所示,该实施例的装置90包括:存储器910以及耦接至该存储器910的处理器920,处理器920被配置为基于存储在存储器910中的指令,执行本发明中任意一个实施例中的虚拟机的监控方法。
其中,存储器910例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)、数据库以及其他程序等。
图10为本发明虚拟机的监控装置的另一个实施例的结构图。如图10所示,该实施例的装置90包括:存储器910以及处理器920,还可以包括输入输出接口1030、网络接口1040、存储接口1050等。这些接口1030,1040,1050以及存储器910和处理器920之间例如可以通过总线1060连接。其中,输入输出接口1030为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口1040为各种联网设备提供连接接口,例如可以连接到数据库服务器或者云端存储服务器等。存储接口1050为SD卡、U盘等外置存储设备提供连接接口。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种虚拟机的监控方法,其特征在于,包括:
每次间隔第一预设周期通过虚拟机的对外接口获取所述虚拟机的使用信息,所述使用信息包括虚拟机的文件信息、目录信息和注册表信息;
当虚拟机上一个周期没有发生异常时,将当前周期获取的所述虚拟机的使用信息与上一周期获取的所述虚拟机的使用信息进行对比,当虚拟机上一个周期发生异常时,将当前周期获取的所述虚拟机的使用信息与正常的使用信息进行比对,根据所述虚拟机的使用信息的比对结果判断所述虚拟机是否存在异常;
在判断虚拟机存在异常的情况下,调用Libguestfs的接口将异常文件恢复至上一周期的状态或正常的使用状态,调用Libguestfs的接口将异常文件进行复制,并提取复制后的文件进行异常分析。
2.根据权利要求1所述的方法,其特征在于,
所述通过虚拟机的对外接口获取所述虚拟机的使用信息包括:
调用Libguestfs的接口向虚拟机管理程序发送使用信息查询指令;
接收所述虚拟机管理程序根据所述使用信息查询指令查询所述虚拟机的磁盘映像获取并返回的虚拟机的使用信息。
3.根据权利要求1所述的方法,其特征在于,还包括:
每次间隔第二预设周期通过所述虚拟机的对外接口获取所述虚拟机的系统信息,所述系统信息包括虚拟机的CPU信息、内存信息和网卡信息;
将当前周期获取的所述虚拟机的系统信息与预设阈值进行比对,根据所述虚拟机的系统信息的比对结果判断所述虚拟机是否存在异常,如果存在异常,则触发根据所述虚拟机的使用信息判断所述虚拟机是否存在异常的步骤。
4.根据权利要求3所述的方法,其特征在于,
所述通过虚拟机的对外接口获取所述虚拟机的系统信息包括:
调用Libvirt的接口向虚拟机管理程序发送系统信息查询指令;
接收所述虚拟机系统管理程序根据所述系统信息查询指令获取并返回的所述虚拟机的系统信息。
5.一种虚拟机的监控装置,其特征在于,包括:
第一信息获取模块,用于每次间隔第一预设周期通过虚拟机的对外接口获取所述虚拟机的使用信息,所述使用信息包括虚拟机的文件信息、目录信息和注册表信息;
第一异常判断模块,用于当虚拟机上一个周期没有发生异常时,将当前周期获取的所述虚拟机的使用信息与上一周期获取的所述虚拟机的使用信息进行对比,当虚拟机上一个周期发生异常时,将当前周期获取的所述虚拟机的使用信息与正常的使用信息进行比对,根据所述虚拟机的使用信息的比对结果判断所述虚拟机是否存在异常;
文件恢复模块,用于判断虚拟机存在异常的情况下,调用Libguestfs的接口将异常文件恢复至上一周期的状态或正常的使用状态;
文件提取模块,用于判断虚拟机存在异常的情况下,调用Libguestfs的接口将异常文件进行复制,并提取复制后的文件进行异常分析。
6.根据权利要求5所述的装置,其特征在于,所述第一信息获取模块包括:第一指令发送单元,第一信息接收单元;
所述第一指令发送单元,用于调用Libguestfs的接口向虚拟机管理程序发送使用信息查询指令;
所述第一信息接收单元,用于接收所述虚拟机管理程序根据所述使用信息查询指令查询所述虚拟机的磁盘映像获取并返回的虚拟机的使用信息。
7.根据权利要求5所述的装置,其特征在于,还包括:
第二信息获取模块,用于每次间隔第二预设周期通过所述虚拟机的对外接口获取所述虚拟机的系统信息,所述系统信息包括虚拟机的CPU信息、内存信息和网卡信息;
第二异常判断模块,用于将当前周期获取的所述虚拟机的系统信息与预设阈值进行比对,根据所述虚拟机的系统信息的比对结果判断所述虚拟机是否存在异常,在存在异常的情况下执行第一信息获取模块和第一异常判断模块。
8.根据权利要求7所述的装置,其特征在于,所述第二信息获取模块包括:第二指令发送单元,第二信息接收单元;
所述第二指令发送单元,用于调用Libvirt的接口向虚拟机管理程序发送系统信息查询指令;
所述第二信息接收单元,用于接收所述虚拟机系统管理程序根据所述系统信息查询指令获取并返回的所述虚拟机的系统信息。
9.一种虚拟机的监控装置,其特征在于,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器设备中的指令,执行如权利要求1-4任一项所述的虚拟机的监控方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611185789.8A CN108228308B (zh) | 2016-12-21 | 2016-12-21 | 虚拟机的监控方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611185789.8A CN108228308B (zh) | 2016-12-21 | 2016-12-21 | 虚拟机的监控方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108228308A CN108228308A (zh) | 2018-06-29 |
CN108228308B true CN108228308B (zh) | 2021-07-06 |
Family
ID=62650691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611185789.8A Active CN108228308B (zh) | 2016-12-21 | 2016-12-21 | 虚拟机的监控方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108228308B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109218286B (zh) * | 2018-07-27 | 2021-10-08 | 亚信科技(成都)有限公司 | 虚拟化环境下实现无代理edr的方法及装置 |
CN110611603B (zh) * | 2019-09-09 | 2021-08-31 | 苏州浪潮智能科技有限公司 | 一种集群网卡监控方法及装置 |
CN112835662A (zh) * | 2019-11-25 | 2021-05-25 | 深信服科技股份有限公司 | 桌面云场景下虚拟机运维方法、系统、设备及计算机介质 |
CN111240898B (zh) * | 2020-01-09 | 2023-08-15 | 中瓴智行(成都)科技有限公司 | 一种基于Hypervisor的黑匣子实现方法及系统 |
CN112882795A (zh) * | 2021-02-25 | 2021-06-01 | 深信服科技股份有限公司 | 虚拟机异常诊断方法、装置、设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465770B (zh) * | 2009-01-06 | 2011-04-06 | 北京航空航天大学 | 入侵检测系统部署方法 |
TWI476584B (zh) * | 2013-12-04 | 2015-03-11 | Ind Tech Res Inst | 雲端平台之監測資料調控方法及系統 |
CN105607973B (zh) * | 2014-11-19 | 2020-03-17 | 中国移动通信集团公司 | 一种虚拟机系统中设备故障处理的方法、装置及系统 |
CN105991345A (zh) * | 2015-04-27 | 2016-10-05 | 杭州迪普科技有限公司 | 虚拟机故障处理方法及装置 |
CN105204973A (zh) * | 2015-09-25 | 2015-12-30 | 浪潮集团有限公司 | 云平台下基于虚拟机技术的异常行为监测分析系统及方法 |
CN105511944B (zh) * | 2016-01-07 | 2018-09-28 | 上海海事大学 | 一种云系统内部虚拟机的异常检测方法 |
-
2016
- 2016-12-21 CN CN201611185789.8A patent/CN108228308B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108228308A (zh) | 2018-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108228308B (zh) | 虚拟机的监控方法以及装置 | |
KR101930113B1 (ko) | 가상 머신 이미지 분석 기법 | |
US9396082B2 (en) | Systems and methods of analyzing a software component | |
EP3063692B1 (en) | Virtual machine introspection | |
CN114651232A (zh) | 数据管理 | |
US10430261B2 (en) | Detecting a guest operating system crash on a virtual computing instance | |
US10366226B2 (en) | Malicious code analysis device and method based on external device connected via USB cable | |
US10007785B2 (en) | Method and apparatus for implementing virtual machine introspection | |
US20130111018A1 (en) | Passive monitoring of virtual systems using agent-less, offline indexing | |
US9535811B2 (en) | Agent dynamic service | |
US20140149701A1 (en) | Backup method and computer product | |
CN108292342A (zh) | 向固件中的侵入的通知 | |
US8799716B2 (en) | Heap dump occurrence detection | |
CN107871079A (zh) | 一种可疑进程检测方法、装置、设备及存储介质 | |
JP6028657B2 (ja) | 検証プログラム、検証方法および検証装置 | |
KR101974989B1 (ko) | 위험 파일에 대응하는 행위 정보를 결정하는 방법 및 장치 | |
KR20160099160A (ko) | 명령어 집합의 행위 패턴을 엔-그램 방식으로 모델링하는 방법, 그 방법으로 동작하는 컴퓨팅 장치, 및 그 방법을 컴퓨팅 장치에서 실행하도록 구성되는 기록 매체에 저장된 프로그램 | |
WO2015006002A1 (en) | Systems and methods of analyzing a software component | |
CN108090352B (zh) | 检测系统及检测方法 | |
US11698795B2 (en) | Unified way to track user configuration on a live system | |
EP3588353B1 (en) | Systems and methods of analyzing a software component | |
US9280369B1 (en) | Systems and methods of analyzing a software component | |
US20160125016A1 (en) | Maintaining storage profile consistency in a cluster having local and shared storage | |
CN114722927A (zh) | 一种崩溃聚类方法、装置、电子设备以及存储介质 | |
JP5453871B2 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20180629 Assignee: Tianyiyun Technology Co.,Ltd. Assignor: CHINA TELECOM Corp.,Ltd. Contract record no.: X2024110000040 Denomination of invention: Monitoring methods and devices for virtual machines Granted publication date: 20210706 License type: Common License Record date: 20240914 |
|
EE01 | Entry into force of recordation of patent licensing contract |