Vsphere虚拟机监控整理
前言
这次整理是在官方给的样例的基础上进行整理,详细的代码请参考官方开源的代码vsphere-automation-sdk-java及官方文档
本次整理主要是使用webservice去获取vcenter的相关内容,尽量使用官方已有的代码。
在官方的代码中还有个是使用vapi进行获取的,这个由于我测试使用的是6.0版本不支持这种用法,所以使用的是webservice即官方代码中的vim而不是vapi。
备份知识
建议先看下官方文档了解一下相关sdk的用法,其次呢我这里主要对经常使用的一些类解释做下翻译
使用思路
在vsphere使用的webservice中,所有的操作例如部署,简历快照和配置信息的查询都是依靠ManagedObjectReference这类来进行的。
ManagedObjectReference不仅可以表示具体的操作方法,还可以表示返回的信息类型.
对于ManagedObjectReference表示的操作方法均可以在sdk中的vim25.jar下的ServiceContent中找到,而对于方法的使用可以在官方文档中进行查询找到即可.
对于使用webservice(vim)的所有要传递的对象和要返回的对象均在vim25.jar下
查询使用参数的简单解释
- 对于配置信息的查询一般使用PropertyCollector
- 使用PropertyCollector需要从serviceContent中获取PropertyCollector的ManagedObjectReference这类来进行的,它有两个域,一个是type,表示是方法还是对象类型,一个是vale,如果是方法就是方法名,类型就是类型的id。
- PropertyCollector使用propertyfilterspec过滤结果,下面是相关参数
- propertyfilterspec 提供对对象和属性选择数据的访问。一个propertyfilterspec必须至少有一个objectspec一propertyspec
- objectspec 标识属性集合的开始对象。一个objectspec还确定了额外的对象集合。
- traversalspec 标识属性集合的对象类型。它还提供了一个或多个遍历库存路径。
- SelectionSpec 作为一个占位符参照traversalspec
- PropertySpec 标识集合的属性。
- View Object 确定vSphere库存对象的一个子集
- 在vsphere中所有的查询方式,都以ManagedObjectReference表示
- 查询结果是ObjectContent其中类型用ManagedObjectReference表示,结果放在一个DynamicProperty的集合中,DynamicProperty是几何元素,DynamicProperty包含结果值和结果名称
配置信息的查询
对于vcenter下的所有配置包括虚拟机,