vsphere - 从所有 ESXi 主机获取硬件使用信息
问题描述
我最近对 VSphere 环境有了一点了解。而且我正在寻找可以通过 Vcenter 中的所有主机(指定集群)自动获取硬件信息的方式(可能在 API 的帮助下)。
我找到了可以获取此信息的确切选项卡,但是如何通过 API 访问?
谢谢!
解决方案
您有很多选择,从纯指标解决方案到手动 API 调用。我会试着给你一些味道。
TIG 堆栈(免费)
这更多是在频谱的“纯指标解决方案”端。您设置了三个服务;Telegraf(带有 vSphere 插件的数据收集器)、InfluxDB(时间序列数据库)和Grafana(漂亮的仪表板)。
CLI(免费)
有一个适用于 Windows 的 vSphere CLI,以及我个人最喜欢的 GOVC(可能还有更多)。GOVC 有一系列主机信息命令,这里是一个例子:
export GOVC_USERNAME="administrator@vsphere.local"
export GOVC_PASSWORD="<PASSOWRD>"
export GOVC_URL="https://<VCENTER>"
export GOVC_INSECURE=true
# Regex will needed changing for > 1 host
export GOVC_HOST=$(govc find / -type h | sed 's:.*/::')
govc host.info
govc host.service.ls
govc host.date.info
govc host.cert.info
govc host.autostart.info
govc host.portgroup.info
govc host.storage.info
govc host.vnic.info
govc host.vswitch.info
govc host.esxcli network ip connection list
govc host.esxcli命令可能提供最大的灵活性。如果您想深入了解 esx,esxtop会有所帮助。
SDK(免费)
VMware 为他们的 REST 和 SOAP API 编写了一些 SDK。据我所知,他们的Python (pyvmomi)和Golang (govmomi)拥有最活跃的用户。其他SDK 可以在这里找到。
休息(免费)
如果你去:
https://<VCENTER>/apiexplorer/index.html
您会发现一系列可以试用的 REST 端点,其中一些与监控相关。VMware 计划将他们的大量 vCenter SOAP 端点迁移到 REST……最终。
VMware 产品(付费)
VMware 还提供其他付费选项。最合适的选择是 vRealize Operations Manager,在此之后,vRealize Orchestrator(以前称为 vCenter Orchestrator)根据@Andrew76868 的 (OP) 评论公开了一些 REST 指标端点。
希望这可以帮助!
推荐阅读
- java - 在 Spring 环境中使用 bean-integration 时如何指定 Apache Camel 数据格式?
- bpmn - Camunda 在流程部署中使用 ExecutionListener
- python - 使用 win32gui 使窗口居中
- php - 如何在 Wordpress 中为每个帖子添加元标记
- ansible - 如何反向查找 ansible dict?
- python - 列表理解返回“生成器对象...”
- c - 在for循环中将值存储在数组中
- php - DateTimeZone 错误 Apache2 日志
- perl - 如何将 CPAN 的配置从 local::lib 更改为 sudo 首选项
- python - 导入win32ui时PyQt5在退出时崩溃