2014-11-25 44 views
2

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

在这里的任何帮助将是非常有益的。

问候, 基兰

PS:请帮我一下有没有在这个问题上的混乱。

回答

0

你有几个选择,取决于你需要什么。

快速和丑陋的方法是从您的浏览器拉UID或UUID。

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

  2. 的UID应该出现在你的地址栏中。 如果URL是 “https://zenoss5.zenoss-host-name/zport/dmd/Devices/Server/Linux/devices/x.x.x.x/devicedetail#deviceDetailNav:device_overview” 那么你的UID是 “/ zport/DMD /设备/服务器/ 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 guidefull API documentation