从所有 ESXi 主机获取硬件使用信息

Fetching hardware usage info from all ESXi hosts

我最近对 ​​VSphere 环境有了一些了解。我正在寻找可以通过 Vcenter 中的所有主机(指定集群)自动获取硬件信息的方式(可能在 API 的帮助下)。

我找到了可以获取此信息的确切选项卡,但如何通过 API 访问?

谢谢!

您有很多选择,从纯指标解决方案到手动 API 调用。我会试着给你一些味道。

TIG 焊枪(免费)

这更多是在频谱的 "pure metrics solutions" 端。您设置了三个服务; Telegraf(带 vSphere 插件的数据收集器)、InfluxDB(时间序列数据库)和 Grafana (pretty dashboards).

CLI(免费)

有一个 vSphere CLI for Windows, and my personal favorite 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 编写了一些 SDK API。据我所知他们 Python (pyvmomi) and Golang (govmomi) have the most active users. Other SDKs can be found here.

休息(免费)

如果你去:

https://<VCENTER>/apiexplorer/index.html

您会发现一系列可以试用的 REST 端点,其中一些与监控相关。 VMware 计划将他们的许多 vCenter SOAP 端点移动到 REST……最终。

VMware 产品(付费)

VMware 提供了其他付费选项。最合适的选择是 vRealize Operations Manager,然后是 vRealize Orchestrator(以前称为 vCenter Orchestrator)根据 @Andrew76868 的 (OP) 评论公开了一些 REST 指标端点。

希望对您有所帮助!