Назад | Перейти на главную страницу

Как настроить Zenoss на автоматический вывод списка устройств по имени вместо IP-адреса?

Я установил 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, чтобы добавить преобразование в корневое событие:

  1. Нажмите на События > Классы событий
  2. Нажмите на нижнюю левую шестеренку.
  3. Нажмите на Преобразовать
  4. Введите код в Преобразовать площадь поля
  5. Нажмите Сохранить

Если вы чувствуете, что вместо этого хотите использовать Zope (потому что «Опасность» - ваше второе имя), вы можете перейти на http [s]: //yourserver.com [: port] / zport / dmd / Events / manage, а затем нажать на Свойства вкладку, чтобы перейти в поле Преобразование.