VMware之存储器数据获取
在国内,貌似没几个人在开发vm的java开源,最近公司在开发这个,因此借此机会将我所了解到的技术拿出来给大家探讨一下。vcenter5.5的版本,有提供概要的example给我们,但是资料不全。这个是vm的技术支持:
http://pubs.vmware.com/vsphere-50/index.jsp#Welcome/welcome.html。
1 ServiceInstance si; 2 Statement s = conn.createStatement(); 3 System.out 4 .println("================1ServiceInstance(new URL(=========="); 5 //此处user,pwd。设置为true 6 si = new ServiceInstance(new URL( 7 "https://vcenter5.dyxnet.com/sdk/"), usernameVal, 8 passwordVal, true); 9 // https://vcenter3.dyxnet.com/sdk 10 System.out 11 .println("================2ServiceInstance(new URL(=========="); 12 //rootFolder 13 Folder rootFolder = si.getRootFolder(); 14 15 // jimw 16 InventoryNavigator inav = new InventoryNavigator(rootFolder); 17 //展示主机下的vm 18 ManagedEntity[] esxs = inav.searchManagedEntities("HostSystem"); 19 for (ManagedEntity managedEntity : esxs) { 20 //连接的名字,也就是你的用户名 21 managedEntity.getServerConnection().getUsername(); 22 //主机的名字 23 managedEntity.getName() ; 24 //状态。 25 managedEntity.getOverallStatus(); 26 //其他的窝就不一一举例出来了 27 HostSystem host1 = (HostSystem) managedEntity; 28 //概要的打印出存储器 29 StringBuffer DS=new StringBuffer(); 30 Datastore[] dss = host1.getDatastores(); 31 for (int i1 = 0; i1 < dss.length; i1++) { 32 DatastoreSummary dsm = dss[i1].getSummary(); 33 DS.append(dsm.name + ":" + dsm.capacity + ":" 34 + dsm.freeSpace + "-"); 35 } 36 System.out.println(DS.toString()); 37 }
参考文献:http://stackoverflow.com/questions/22808749/how-to-get-information-of-all-esx-hosts-these-are-connected-to-vcenter-server-us
如需转发,烦请附上原文地址