通过调用Vcenter-Api获取Vcenter中服务器信息
创始人
2025-01-19 19:03:41
0

通过调用Vcenter-Api获取Vcenter中服务器信息

文章目录

  • 通过调用Vcenter-Api获取Vcenter中服务器信息
  • 1. 获取Vmware API帮助文档
  • 2. 获取访问凭证
  • 3. 获取服务器清单
  • 4. 获取服务器更多信息
  • 5. 获取虚机更多信息
  • 6. 获取磁盘信息
  • 7. 获取操作系统相关

1. 获取Vmware API帮助文档

https://developer.vmware.com/apis/vsphere-automation/latest/

2. 获取访问凭证

文档对应url:https://developer.vmware.com/apis/vsphere-automation/latest/cis/api/session/post/
注意这里获取凭证应该是使用post方式
在这里插入图片描述
将调用地址复制出来:https://{api_host}/api/session
将{api_host}替换成我们实际Vcenter地址192.168.0.200
替换后就成了https://192.168.0.200/api/session
方法设置为POST
在这里插入图片描述

3. 获取服务器清单

url替换成https://192.168.0.200/api/vcenter/vm
方法改为GET
Headers中key为vmware-api-session-id
value为我们刚才拿到的token

在这里插入图片描述
这样我们就拿到了这个Vc上的服务器清单

4. 获取服务器更多信息

以下内容是通过https://192.168.0.200/api/vcenter/vm查询到的某一个服务器的信息

    {         "memory_size_MiB": 8192,         "vm": "vm-12311",         "name": "TEST-WEAPP",         "power_state": "POWERED_ON",         "cpu_count": 2     }, 
key含义
memory_size_MiB虚拟机总内存
vm虚拟机ID(这个后续会用到)
name虚拟机在Vcenter中的名字
power_state电源状态
cpu_count虚拟机CPU个数

5. 获取虚机更多信息

方法GET,URL https://192.168.0.200/api/vcenter/vm/vm-12311
在这里插入图片描述
以下是返回的部分内容

{     "instant_clone_frozen": false,     "cdroms": {         "16000": {             "start_connected": false,             "backing": {                 "iso_file": "[back01] ISO/Windows Server/2016_64.ISO",                 "type": "ISO_FILE"             },             "allow_guest_control": true,             "label": "CD/DVD drive 1",             "state": "CONNECTED",             "type": "SATA",             "sata": {                 "bus": 0,                 "unit": 0             }         }     },     "memory": {         "hot_add_increment_size_MiB": 4,         "size_MiB": 8192,         "hot_add_enabled": true,         "hot_add_limit_MiB": 131072     },    略     "cpu": {         "hot_remove_enabled": false,         "count": 2,         "hot_add_enabled": true,         "cores_per_socket": 1     },     "scsi_adapters": {         "1000": {             "pci_slot_number": 160,             "scsi": {                 "bus": 0,                 "unit": 7             },             "label": "SCSI controller 0",             "sharing": "NONE",             "type": "LSILOGICSAS"         }     },     "power_state": "POWERED_ON",     "floppies": {}, "disks": {         "2000": {             "scsi": {                 "bus": 0,                 "unit": 0             },             "backing": {                 "vmdk_file": "[data01] TEST-WEAPP/TEST-WEAPP-000001.vmdk",                 "type": "VMDK_FILE"             },             "label": "Hard disk 1",             "type": "SCSI",             "capacity": 53687091200         },         "2001": {             "scsi": {                 "bus": 0,                 "unit": 1             },             "backing": {                 "vmdk_file": "[data01] TEST-WEAPP/TEST-WEAPP_1-000001.vmdk",                 "type": "VMDK_FILE"             },             "label": "Hard disk 2",             "type": "SCSI",             "capacity": 107374182400         }     },     "nvme_adapters": {},     "name": "TEST-WEAPP", 网卡信息,略     "boot": {         "delay": 0,         "retry_delay": 10000,         "enter_setup_mode": false,         "type": "BIOS",         "retry": false     },     "serial_ports": {},     "boot_devices": [],     "guest_OS": "WINDOWS_9_SERVER_64",     "hardware": {         "upgrade_policy": "NEVER",         "upgrade_status": "NONE",         "version": "VMX_19"     } } 

我们可以在这段json中拿到大部分关于这台服务器的信息,比如:

KEY含义
cdroms关于虚拟光驱的内容,可以看到我们这里用了ISO
memory内存详细信息
cpucpu相关信息
nics网卡的一些信息,这里我隐藏掉了
disks磁盘的一些信息

6. 获取磁盘信息

这里我们拿到了部分磁盘的信息,磁盘的总大小,还有存储位置
但和我们实际想要的内容是有差距的

"disks": {         "2000": {             "scsi": {                 "bus": 0,                 "unit": 0             },             "backing": {                 "vmdk_file": "[data01] TEST-WEAPP/TEST-WEAPP-000001.vmdk",                 "type": "VMDK_FILE"             },             "label": "Hard disk 1",             "type": "SCSI",             "capacity": 53687091200         },         "2001": {             "scsi": {                 "bus": 0,                 "unit": 1             },             "backing": {                 "vmdk_file": "[data01] TEST-WEAPP/TEST-WEAPP_1-000001.vmdk",                 "type": "VMDK_FILE"             },             "label": "Hard disk 2",             "type": "SCSI",             "capacity": 107374182400         }     }, 

我们更像要的内容是,盘符,分区格式,磁盘总大小,剩余空间这些信息.
我们可以用GET方式取https://192.168.0.200/api/vcenter/vm/vm-12311/guest/local-filesystem
在这里插入图片描述

{     "C:\\": {         "mappings": [             {                 "disk": "2000"             }         ],         "free_space": 16884203520,         "filesystem": "NTFS",         "capacity": 53159653376     },     "D:\\": {         "mappings": [             {                 "disk": "2001"             }         ],         "free_space": 60841975808,         "filesystem": "NTFS",         "capacity": 107371032576     } } 
KEY含义
free_space可用空间KB
filesystem文件系统格式
capacity分区总大小KB
C:\或D:\Windows盘符
/home或则/datalinux盘符

现在我们可以很简单的通过遍历json进行简单的加工就能获取到我们想要的具体数据

7. 获取操作系统相关

get访问https://192.168.0.200/api/vcenter/vm/vm-12311/guest/identity

{     "full_name": {         "args": [],         "default_message": "Microsoft Windows Server 2016 (64-bit)",         "id": "vmsg.guestos.windows444rver64Guest.label"     },     "name": "WINDOWS_9_SERVER_64",     "ip_address": "192.168.2.25",     "family": "WINDOWS",     "host_name": "TEST-WEAPP" } 
KEY含义
default_message操作系统版本
ip_address服务器ip地址
family操作系统类型
host_name服务器名

至此已经通过调用Vcenter-Api获取到了大部分Vcenter中服务器信息
后续完善到之前CMDB中去.总的来说Vcenter的信息需要多次从API中取出,会比云服务器稍微麻烦一点点

相关内容

热门资讯

推荐一款!川娱竞技血战辅助器,... 推荐一款!川娱竞技血战辅助器,福建兄弟13水插件,指南书教程(有挂攻略)该软件可以轻松地帮助玩家将川...
关于!波特互娱辅助,新老夫子开... 关于!波特互娱辅助,新老夫子开挂系统,资料教程(有挂存在)波特互娱辅助辅助器是一种具有地方特色的麻将...
必备辅助推荐!边锋辅助器小程序... 必备辅助推荐!边锋辅助器小程序微信,海盗来了辅助脚本,办法教程(有挂头条)运边锋辅助器小程序微信辅助...
玩家必知教程!决战十三辅助辅助... 玩家必知教程!决战十三辅助辅助器,新鸿狐辅助软件是真的吗,讲义教程(有挂规律)1)决战十三辅助辅助器...
推荐一款!闲逸辅助软件下载苹果... 推荐一款!闲逸辅助软件下载苹果,樱花之盛辅助器,课程教程(有挂规律)1、玩家可以在闲逸辅助软件下载苹...
科普攻略!传送屋挂件,皮皮跑胡... 科普攻略!传送屋挂件,皮皮跑胡子系统有鬼,举措教程(有挂方法)在进入皮皮跑胡子系统有鬼软件靠谱后,参...
专业讨论!功夫川麻小程序辅助器... 专业讨论!功夫川麻小程序辅助器,飞驰娱乐科技,秘籍教程(有挂详情)1、每一步都需要思考,不同水平的挑...
必备教程!陕麻圈插件开挂,冰球... 必备教程!陕麻圈插件开挂,冰球突破辅助软件,要领教程(果真有挂)该软件可以轻松地帮助玩家将陕麻圈插件...
信息共享!卡五星辅助软件,朱雀... 信息共享!卡五星辅助软件,朱雀开心罗松辅助器,积累教程(今日头条)1、实时卡五星辅助软件透视辅助更新...
玩家必看科普!多乐跑胡子辅助,... 玩家必看科普!多乐跑胡子辅助,泸州大二新手攻略,讲义教程(真的有挂)1)多乐跑胡子辅助免费钻石:进一...