Как получить идентификатор устройства на основе имени хоста в Zenoss API
Я новичок в Zenoss. Я хотел бы знать, есть ли способ получить UID на основе имени устройства. Например, в vCenter у меня есть виртуальная машина с именем "MyTestVM", и я вижу это в разделе Инфраструктура Zenoss. Я занимаюсь разработкой портала для отображения графиков мониторинга процессора и памяти от zenoss. Чтобы сделать это, мне нужно передать UID одному из его API, и я не знаю, как получить этот UID любого устройства (в частности, VM).
Любая помощь здесь будет очень полезна.
С уважением, Киран
PS: Пожалуйста, помогите мне, если есть путаница в этом вопросе.
1 ответ
У вас есть несколько вариантов, в зависимости от того, что вам нужно.
Быстрый и безобразный способ - извлечь UID или UUID из браузера.
перейдите на страницу сведений об устройстве в разделе инфраструктура / устройства /...
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
- прикрепите к вашему контейнеру zope и su для пользователя zenoss.
- бежать
zendmd
Найдите устройство, используя его имя:
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'
получить необходимые данные от вашего устройства 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