通过调用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.rhkb.cn/news/312821.html

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

相关文章

Chrome修改主题颜色

注意:自定义Chrome按钮只在搜索引擎为Google的时候出现。

抖店每天稳定出单300+,但是不挣钱,你图什么?

我是王路飞。 如果你的抖店已经可以稳定出单了,且每天可以保证稳定出单300。 那么,你有没有算过你到底有没有赚到马内?是小赚还是大赚? 如果这些单量没有给你带来一个比较满意的【利润回报】, 那么请问&#xff0c…

【数据分析】AHP层次分析法

博主总结:根据每个方案x各准则因素权重累加结果 对比来选择目标。数据主观性强 简介 AHP层次分析法是一种解决多目标复杂问题的定性和定量相结合进行计算决策权重的研究方法。该方法将定量分析与定性分析结合起来,用决策者的经验判断各衡量目标之间能…

第十五届蓝桥杯复盘python大学A组——试题B 召唤数学精灵

按照正常思路解决,由于累乘消耗大量时间,因此这不是一个明智的解决方案。 这段代码执行速度非常慢的原因在于它试图计算非常大的数的阶乘(累乘),并且对于每一个i的值都执行这个计算。阶乘的增长是极其迅速的&#xff…

考研数学|「基础」和「强化」阶段分别怎么做?

从目前考研数学的趋势来看,更加注重数学基础的理解和计算量。也就是基础知识和计算,如何锻炼这两种能力就显得尤为重要。希望我的复习经验可以给到读者一些启发。 数学规划 从备考过程来看,数学的复习可以分为三个阶段:1、基础阶…

.net框架和c#程序设计第三次测试

目录 一、测试要求 二、实现效果 三、实现代码 一、测试要求 二、实现效果 数据库中的内容&#xff1a; 使用数据库中的账号登录&#xff1a; 若不是数据库中的内容&#xff1a; 三、实现代码 login.aspx文件&#xff1a; <% Page Language"C#" AutoEventW…

Pytest测试用例中的mark用法(包含代码示例与使用场景详解)

在软件开发中&#xff0c;测试是确保代码质量和功能稳定性的重要环节。Python作为一门流行的编程语言&#xff0c;拥有丰富的测试工具和框架&#xff0c;其中pytest是其中之一。pytest提供了丰富的功能来简化测试用例的编写&#xff0c;其中的mark功能允许我们对测试用例进行标…

程序设计|C语言教学——C语言基础1:C语言的引入和入门

一、程序的执行 1.定义 解释&#xff1a;借助一个程序&#xff0c;那个程序能够试图理解你的程序&#xff0c;然后按照你的要求执行。下次执行的时候还需要从零开始解释。 编译&#xff1a;借助一个程序&#xff0c;能够像翻译官一样&#xff0c;把你的程序翻译成机器语言&a…

【编程TOOL】VC++6.0下载安装配置使用保姆式教程

目录 ​编辑 1.软件介绍 2.软件下载 3.软件安装 3.1.下载得到可执行文件并双击进行安装 3.2. 点击下一步 3.3. 选择安装位置 3.4. 勾选“创建桌面快捷方式”并点击下一步 5. 点击安装并等待 3.6. 先取消运行&#xff0c;后点击完成&#xff0c;软件即安装完毕 4.兼容性配置 4.1…

网络靶场实战-反射DLL注入

在之前的文章中&#xff0c;通过模拟 Windows 映像加载程序的功能&#xff0c;完全从内存中加载 DLL 模块&#xff0c;而无需将 DLL 存储到磁盘上&#xff0c;但这只能从本地进程中加载进内存中&#xff0c;如果想要在目标进程中通过内存加载 DLL 模块&#xff0c;可以通过一些…

求π的近似值(C语言)

一、N-S流程图&#xff1b; 二、运行结果&#xff1b; 三、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h> # include <math.h>int main() {//初始化变量值&#xff1b;int symbol 1;double denominator 1.0, sum 0, term 1.0;//循…

服务器docker应用一览

文章目录 一、需求概况二、业务流程三、运行效果四、实现过程1. 基础前提2. 源码放送3.核心代码4. 项目打包5.部署步骤 一、需求概况 现有某云主机服务器&#xff0c;用来做项目演示用&#xff0c;上面运行了docker应用&#xff0c;现希望有一总览页面&#xff0c;用来展示部署…

【Spring进阶系列丨第九篇】基于XML的面向切面编程(AOP)详解

文章目录 一、基于XML的AOP1.1、打印日志案例1.1.1、beans.xml中添加aop的约束1.1.2、定义Bean 1.2、定义记录日志的类【切面】1.3、导入AOP的依赖1.4、主配置文件中配置AOP1.5、测试1.6、切入点表达式1.6.1、访问修饰符可以省略1.6.2、返回值可以使用通配符&#xff0c;表示任…

软考131-上午题-【软件工程】-软件可靠性、可用性、可维护性

可靠性、可用性和可维护性是软件的质量属性&#xff0c;软件工程中&#xff0c;用 0-1 之间的数来度量。 0.66 66% 1、 可靠性 可靠性是指一个系统对于给定的时间间隔内、在给定条件下无失效运作的概率。 可以用 MTTF/ (1MTTF) 来度量&#xff0c;其中 MTTF 为平均无故障时间…

【InternLM 实战营第二期-笔记1】书生浦语大模型开源体系详细介绍InternLM2技术报告解读(附相关论文)

书生浦语是上海人工智能实验室和商汤科技联合研发的一款大模型,很高兴能参与本次第二期训练营&#xff0c;我也将会通过笔记博客的方式记录学习的过程与遇到的问题&#xff0c;并为代码添加注释&#xff0c;希望可以帮助到你们。 记得点赞哟(๑ゝω╹๑) 书生浦语大模型开源体系…

重定向原理和缓冲区

文章目录 重定向缓冲区 正文开始前给大家推荐个网站&#xff0c;前些天发现了一个巨牛的 人工智能学习网站&#xff0c; 通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。 点击跳转到网站。 重定向 内核中为了管理被打开的文件&#xff0c;一定会存在描述一…

4核8G配置服务器多少钱?2024年阿里云服务器700元1年价格便宜

4核8G配置服务器多少钱&#xff1f;2024年阿里云服务器700元1年价格便宜。阿里云4核8G服务器租用优惠价格700元1年&#xff0c;配置为ECS通用算力型u1实例&#xff08;ecs.u1-c1m2.xlarge&#xff09;4核8G配置、1M到3M带宽可选、ESSD Entry系统盘20G到40G可选&#xff0c;CPU采…

低噪声放大器是如何实现低噪声放大的功能的

灵敏度作为接收机最重要的指标之一,直接决定了接收机能分辨的最小信号。接收机的灵敏度计算公式如下所示。 Psensitivity=-174dBm+NF+10*lg(BW)+SNR 由接收机灵敏度的计算公式可知,影响接收机灵敏度的指标有噪声系数、带宽和信噪比,因此一旦带宽和信噪比确定了,那么能决…

C++ queue priority_queuestack 详解及模拟实现

1. stack的介绍和使用 1.1 stack的介绍 1. stack是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c;其删除只能从容器的一端进行元素的插入与提取操作。 2. stack是作为容器适配器被实现的&#xff0c;容器适配器即是对特定类封装作为其底层的容…