Как получить идентификатор устройства на основе имени хоста в Zenoss API

Я новичок в Zenoss. Я хотел бы знать, есть ли способ получить UID на основе имени устройства. Например, в vCenter у меня есть виртуальная машина с именем "MyTestVM", и я вижу это в разделе Инфраструктура Zenoss. Я занимаюсь разработкой портала для отображения графиков мониторинга процессора и памяти от zenoss. Чтобы сделать это, мне нужно передать UID одному из его API, и я не знаю, как получить этот UID любого устройства (в частности, VM).

Любая помощь здесь будет очень полезна.

С уважением, Киран

PS: Пожалуйста, помогите мне, если есть путаница в этом вопросе.

1 ответ

У вас есть несколько вариантов, в зависимости от того, что вам нужно.

Быстрый и безобразный способ - извлечь UID или UUID из браузера.

  1. перейдите на страницу сведений об устройстве в разделе инфраструктура / устройства /...

  2. UID должен появиться в вашей адресной строке. если URL-адрес " https://zenoss5.zenoss-host-name/zport/dmd/Devices/Server/Linux/devices/x.x.x.x/devicedetail ", тогда ваш UID будет "/ zport / dmd / Devices / Server / Linux / устройства / хххх"

Вы также можете найти UUID, проверив источник страницы и выполнив поиск "uuid"

Забавный и более автоматизированный способ - использовать zendmd для поиска.

см. документацию здесь: support.zenoss.com: введение Zendmd

  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'

    • Я БЫ:

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

Наилучшим способом, вероятно, является использование JSON API.

есть руководство по json api и полная документация по API

Другие вопросы по тегам