1.一种在虚拟化层实现的虚拟机状态监控,其特征在于,其实现过程为:设置一个安装在宿主机操作系统内部的代理服务模块,通过此代理服务模块调用宿主机系统中的管理接口,获取虚拟机运行中的状态信息,以及虚拟机内部客户机系统中指定应用的运行状态信息,从而实现的虚拟机监控。
2.根据权利要求1所述的一种在虚拟化层实现的虚拟机状态监控,其特征在于,所述代理服务模块获取的运行状态信息包括虚拟机自身心跳服务,以及虚拟机内客户机系统特定进程的存活状态。
3.根据权利要求1或2所述的一种在虚拟化层实现的虚拟机状态监控,其特征在于,代理服务模块获取运行状态信息的过程为,
首先对操作系统的系统管理类库进行监控接口的封装,成为专用于监控接口调用的类库;
其次收集获取虚拟机监控信息,暂存在代理服务模块内部,相对应的,该代理服务模块设置有虚拟机信息存储模块;
最后,收集归档信息,代理服务模块与外部的服务端通信,相对应的,该代理服务模块设置有通信模块。
4.根据权利要求3所述的一种在虚拟化层实现的虚拟机状态监控,其特征在于,所述宿主机操作系统是指安装Hyper-v角色的Windows 8及以上操作系统,或Windows Server 2012 R2及以上操作系统实现,相对应的,代理服务模块调用的是Windows Management Instrumentation,即WMI中Hyper-V监控接口,获取虚拟机运行中的状态信息,从而最终实现对于虚拟机的监控。
5.根据权利要求4所述的一种在虚拟化层实现的虚拟机状态监控,其特征在于,所述虚拟化状态监控的具体过程为:
服务端发起虚拟机监控命令,宿主机上安装的代理服务模块通过通信模块接收服务端的消息,识别监控命令,准备执行;
代理服务模块通过WMI模块,调用虚拟机心跳信息获取方法,传入虚拟机ID,获取指定虚拟机的心跳信息;
代理服务模块通过虚拟机信息存储模块,暂存虚拟机一段时间的心跳信息;
代理服务模块通过通信模块,向服务端反馈虚拟机心跳,一次虚拟机监控完成;
服务端发起虚拟机内指定应用监控命令,宿主机上安装的代理服务模块通过通信模块接收服务端的消息,识别监控命令,准备执行;
代理服务模块通过WMI模块,调用虚拟机内应用心跳信息获取方法,传入虚拟机ID,应用ID,获取指定虚拟机内,指定应用的心跳信息;
代理服务模块通过虚拟机信息存储模块,暂存虚拟机内应用一段时间的心跳信息;
代理服务模块通过通信模块,向服务端反馈虚拟机心跳,一次虚拟机上特定应用监控完成。