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

通过调用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中取出,会比云服务器稍微麻烦一点点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/809598.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SHAP安装问题

一、安装 pip install shap -i https://pypi.tuna.tsinghua.edu.cn/simple 二、遇到问题 1、提示报错如下: ModuleNotFoundError: No module named numba.core 安装numba: pip install numba -i https://pypi.tuna.tsinghua.edu.cn/simple 提示已经…

FPGA核心板在声呐系统中的应用

前言 声纳系统使用声脉冲来探测、识别和跟踪水下物体。一个完整的声纳系统是由一个控制和显示部件、一个发射器电路、一个接收器电路和同时能作为发射装置(扬声器)和探测装置(高灵敏度麦克风)的传感器组成。 声纳系统图 技术挑战…

python爬虫----BeautifulSoup(第二十天)

🎈🎈作者主页: 喔的嘛呀🎈🎈 🎈🎈所属专栏:python爬虫学习🎈🎈 ✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天…

Python初级笔记4 排序

冒泡排序 1. 算法步骤 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。…

Linux/October

October Enumeration Nmap 扫描发现对外开放了22和80端口,使用nmap详细扫描这两个端口 ┌──(kali㉿kali)-[~/vegetable/HTB/October] └─$ nmap -sC -sV -p 22,80 -oA nmap 10.10.10.16 Starting Nmap 7.…

基于Springboot的笔记记录分享网站(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的笔记记录分享网站(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构…

华为OD技术面试-有序数组第K最小值

背景 2024-03-15华为od 二面,记录结题过程 有序矩阵中第 K 小的元素 - 力扣(LeetCode) https://leetcode.cn/problems/kth-smallest-element-in-a-sorted-matrix/submissions/512483717/ 题目 给你一个 n x n 矩阵 matrix ,其…

基于spring boot的班级综合测评管理系统

基于spring boot的班级综合测评管理系统设计与实现 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开…

总分410+专业130+国防科技大学831信号与系统考研经验国防科大电子信息与通信工程,真题,大纲,参考书。

好几个学弟催着,总结一下我自己的复习经历,希望大家复习少走弯路,投入的复习正比换回分数。我专业课831信号与系统130(感觉比估分要低,后面找Jenny老师讨论了自己拿不准的地方也没有错误,心里最近也这经常回…

蓝桥备赛——组合数、其他技巧

对字符串进行permutations排列组合 from itertools import permutations a abc #对字符串进行permutations排列组合 for i in permutations(a,3):x .join(i)print (x,end ) print (\n------------------------------------) permutations后面的参数,第一个表示…

【Python】探索 FunNLP:让自然语言处理更有趣

夜深了 我还为你不能睡 黎明前的心情 最深的灰 左右为难的你 不知怎样去面对 我能做的 只剩沉默 体会 爱情是让人沉溺的海洋 孤单的时候 想要去逃亡 转身的一瞬间 你出现在我身旁 你的眼泪 让我不敢开口讲 🎵 樊凡《我想大声告诉你》 简介&…

有趣的css - 动态雷达扫描

大家好,我是 Just,这里是「设计师工作日常」,今天分享的是使用 css 实现一个动态的雷达扫描,快学起来吧! 《有趣的css》系列最新实例通过公众号「设计师工作日常」发布。 目录 整体效果核心代码html 代码css 部分代码…

AI Safety与AI Security:探索共同点和差异(下)

上篇(详细)中,我们探讨了人工智能生态系统的完整性、保密性、可用性以及关于AI safety的一些热门话题,接下来我们将继续探讨AI Safety究竟是什么?以及AI Safety与AI Security的同、异。 1 AI Safety究竟是什么&#x…

[2024最新]MySQL-mysql 8.0.11安装教程

网上的教程有很多,基本上大同小异。但是安装软件有时就可能因为一个细节安装失败。我也是综合了很多个教程才安装好的,所以本教程可能也不是普遍适合的。 安装环境:win 10 1、下载zip安装包: MySQL8.0 For Windows zip包下载地…

.Net Core/.Net 6/.Net 8,一个简易的消息队列

.Net Core/.Net 6/.Net 8,一个简易的消息队列 身份验证接口身份验证接口实现program.cs通过api调用 做着玩的&#xff0c; 只实现了消息入队出队功能&#xff0c;没有持久化&#xff0c;也没有其它任何高级功能 直接上代码 public class AMQBase//:ISingleton {/// <summary…

ARM v8 Cortex R52内核 06 初始化 Initialization

ARM v8 Cortex R52内核 06 初始化 Initialization 6.1 初始化 Initialization Cortex-R52 处理器提供了一种机制&#xff0c;可以在复位时初始化所有程序员可见的复位&#xff0c;包括没有被架构定义重置值的寄存器。 在Cortex-R52处理器大多数架构寄存器&#xff0c;例如r0…

Python爬虫学习(二):xpath解析html

--xpath教程地址可参照&#xff1a;XPath 教程 被解析的html示例&#xff1a;<html> <body> <div><ul><li class"item-0"><a href"link1.html">first item</a></li><li class"item-1">&l…

可视化大屏的应用(12):在智慧制造中的十大价值

一、什么是智慧制造 智慧制造是指通过信息技术、物联网、人工智能等先进技术的应用&#xff0c;实现生产过程的数字化、网络化、智能化&#xff0c;从而提高生产效率、降低成本、提高产品质量和灵活性的一种制造模式。 智慧制造的核心是将传统的制造过程与先进的信息技术相结合…

前端自动化测试-Jest

前端自动化测试 Jest官网&#xff1a;https://jestjs.io 安装方式 npm install --save-dev jest yarn add --dev jest cnpm add --save-dev jest 使用方法 所有以 .test.js 结尾的都是测试文件 基础用法示例 num.js&#xff1a; export function getSum (a, b) {return a b…

java下载网络上的文件、图片保存到本地 FileUtils

java下载网络上的文件、图片保存到本地 FileUtils 1. 引入FileUtils依赖2. 实现代码3. 输出结果 1. 引入FileUtils依赖 <!--FileUtils依赖--> <!-- https://mvnrepository.com/artifact/commons-io/commons-io --> <dependency><groupId>commons-io&l…