2

我是 Zenoss 的新手。我想知道是否有任何方法可以根据设备名称获取 UID。例如,在 vCenter 中,我有一个名为“MyTestVM”的虚拟机,我可以在 Zenoss Infrastructure 部分看到它。我正在开发一个门户来显示来自 zenoss 的 CPU 和内存的监控图。为此,我需要将 UID 传递给它的 API 之一,但我不知道如何获取任何设备(特别是 VM)的 UID。

这里的任何帮助都会非常有帮助。

问候, 基兰

PS:如果这个问题有任何混淆,请帮助我。

4

1 回答 1

0

您有几个选择,具体取决于您的需要。

快速而丑陋的方法是从浏览器中提取 UID 或 UUID。

  1. 导航到基础设施/设备/...下的设备详细信息页面

  2. UID 应该出现在您的地址栏中。如果 URL 是“ https://zenoss5.zenoss-host-name/zport/dmd/Devices/Server/Linux/devices/xxxx/devicedetail#deviceDetailNav:device_overview ”,那么您的 UID 是“/zport/dmd/Devices/Server /Linux/设备/xxxx"

您还可以通过检查页面源并搜索“uuid”来找到 UUID

有趣且更自动化的方法是使用 zendmd 进行查找。

请参阅此处的文档:support.zenoss.com:zendmd intro

  1. 附加到您的 zope 容器,并 su 到 zenoss 用户。
  2. zendmd
  3. 使用名称查找设备:

    In [1]: find('MyTestVM') Out[1]: <Device at /zport/dmd/Devices/Server/Linux/devices/x.x.x.x> In [2]: mydevice = find('MyTestVM') Out[3]: '3c5a857a-7d9f-4df9-bff9-2fcb9a07acbc'

  4. 从 dmd 设备获取您需要的详细信息:

    • UUID:

    In [3]: mydevice.getUUID() Out[3]: '3c5a857a-7d9f-4df9-bff9-2fcb9a07acbc'

    • ID:

    In [4]: mydevice.getId() OUT[4]: 'x.x.x.x'

最好的方法,可能是使用 JSON API。

有一个json api 指南完整的 API 文档

于 2017-01-19T18:14:14.377 回答