【发布时间】:2020-04-19 21:05:18
【问题描述】:
我最近对 VSphere 环境有了一点了解。而且我正在寻找可以通过 Vcenter 中的所有主机(指定集群)自动获取硬件信息的方式(可能在 API 的帮助下)。
我找到了可以获取此信息的确切选项卡,但如何通过 API 访问?
谢谢!
【问题讨论】:
我最近对 VSphere 环境有了一点了解。而且我正在寻找可以通过 Vcenter 中的所有主机(指定集群)自动获取硬件信息的方式(可能在 API 的帮助下)。
我找到了可以获取此信息的确切选项卡,但如何通过 API 访问?
谢谢!
【问题讨论】:
您有很多选择,从纯指标解决方案到手动 API 调用。我会试着给你一些味道。
TIG 堆栈(免费)
这更多地属于“纯指标解决方案”的范畴。您设置了三个服务; Telegraf(带有 vSphere 插件的数据收集器)、InfluxDB(时间序列数据库)和Grafana (pretty dashboards)。
CLI(免费)
有一个vSphere CLI for Windows,还有我个人最喜欢的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) 拥有最活跃的用户。其他SDKs can be found here.
REST(免费)
如果你去:
https://<VCENTER>/apiexplorer/index.html
您会发现一系列可以试用的 REST 端点,其中一些与监控相关。 VMware 计划将他们的大量 vCenter SOAP 端点迁移到 REST……最终。
VMware 产品(付费)
VMware 还提供其他付费选项。最合适的选择是 vRealize Operations Manager,在此之后,vRealize Orchestrator(以前称为 vCenter Orchestrator)根据@Andrew76868 的 (OP) 评论公开了一些 REST 指标端点。
希望这会有所帮助!
【讨论】: