2014-11-25 75 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