Я установил Zenoss 4.2.3 для получения устройств со всей нашей сети из всех подсетей (ИНФРАСТРУКТУРА -> УСТРОЙСТВА). Но он возвращает мне список устройств только с IP-адресом, он не получает имена хостов с компьютеров Windows и Linux.
Как я могу настроить его для получения имен машин?
"Но он возвращает мне список устройств только с IP-адресом"
Вы имеете в виду вкладку «Инфраструктура» или имеете в виду электронные письма от уведомителя?
Если в уведомлении есть ошибка в Zenoss 4.2, когда в уведомлениях по электронной почте используется device.id вместо device.title.
Чтобы исправить это, поместите следующее преобразование в корневой класс события "/".
d = dmd.Devices.findDevice(evt.device) if d is not None: evt.device_title = d.title else: evt.device_title = d.id
а затем на вкладке "Содержание" уведомлений используйте следующие
Message (subject) Format: [zenoss] **${evt/device_title}** - ${evt/summary} Body Format: Location: ${evt/zenoss.device.groups} Device: **${evt/device_title}** Component: ${evt/component} Severity: ${evt/sevword} Time: ${evt/lastTime} Message: ${evt/message} a href="${urls/eventsUrl}">Device Events a href="${urls/eventUrl}">Event Detail a href="${urls/ackUrl}">Acknowledge a href="${urls/closeUrl}">Close
Надеюсь это поможет.
Вчера я провел часы, исследуя это, и, надеюсь, смогу избавить кого-нибудь от боли. Я нашел два ответа на этот вопрос, и мы начнем с простого.
На вкладке «Содержимое уведомлений» просто замените
${evt.device}
с участием
${eventSummary/actor/element_title}
Обнаружено через: http://community.zenoss.org/message/71252#71252
(спасибо Филиппу Уоррену)
Ответ Офира выше будет работать для реальных событий, но я обнаружил, что он не будет работать для каких-либо событий, созданных вручную (также известных как тестовые). Само преобразование будет анализировать правильно, но по какой-либо причине тестовые события не могут правильно проанализировать настраиваемые атрибуты, используемые в содержании уведомления, и завершатся ошибкой «Невозможно выполнить оценку TALES». Это затрудняет тестирование пользовательских атрибутов, поэтому, надеюсь, Zenoss скоро это исправит.
Я бы также рекомендовал изменить последнюю строку его преобразования, иначе он может потерпеть неудачу, если "d" не будет найдено. Вот полностью переработанный код преобразования:
d = dmd.Devices.findDevice(evt.device)
if d is not None:
evt.device_title = d.title
else:
evt.device_title = evt.device.title
Обнаружено через: http://www.eventenrichment.com/zenoss-event-enrichment-5-min-less
Тем, кто не делал этого раньше (как я, вчера), вам не нужно использовать Zope, чтобы перейти в область преобразования. Просто выполните следующие действия в Zenoss, чтобы добавить преобразование в корневое событие:
Если вы чувствуете, что вместо этого хотите использовать Zope (потому что «Опасность» - ваше второе имя), вы можете перейти на http [s]: //yourserver.com [: port] / zport / dmd / Events / manage, а затем нажать на Свойства вкладку, чтобы перейти в поле Преобразование.