如何configurationZenoss自动列出设备名称而不是IP地址?

我已经设置了Zenoss 4.2.3从所有子网(INFRASTRUCTURE – > DEVICES)从整个networking获取设备。 但它只返回给我的设备列表与IP地址,它不会从Windows和Linux机器获得主机名

我如何configuration它来获取机器的名称?

“但它返回给我的设备列表只有IP地址”

你的意思是在基础设施选项卡中,还是指的是来自通知程序的电子邮件?

如果在通知程序中,在Zenoss 4.2中有一个错误,使用device.id代替电子邮件通知中的device.title。

为了解决这个问题,把下面的变换放到根“/”事件类中。

 d = dmd.Devices.findDevice(evt.device)
如果d不是无:
   evt.device_title = d.title
其他:
   evt.device_title = d.id

然后在您的通知“内容”选项卡中,使用以下内容

消息(主题)格式:[zenoss] ** $ {evt / device_title} **  -  $ {evt / summary}
正文forms: 

位置:$ {evt / zenoss.device.groups}
设备:** $ {evt / device_title} **
组件:$ {evt / component}
严重性:$ {evt / sevword}
时间:$ {evt / lastTime}

信息:

 $ {EVT /消息}

一个设备事件

一个href =“$ {url / eventUrl}”>事件详细信息

 a href =“$ {url / ackUrl}”>确认

一个href =“$ {urls / closeUrl}”>closures

希望这可以帮助。

我花了几个小时研究这个昨天,希望我能救一个人一些痛苦。 我发现了两个答案,我们将从容易的一个开始。

不需要转换

在通知内容选项卡中,只需replace

${evt.device} 

 ${eventSummary/actor/element_title} 

通过http://community.zenoss.org/message/71252#71252发现
(感谢Philip Warren)

使用转换

上面的Ophir的答案将适用于真实的事件,但我发现它不适用于任何手动创build(又名testing)事件 。 转换本身将正确parsing,但是,无论出于何种原因,testing事件都无法正确parsing通知内容中使用的自定义属性,并且会因“无法执行TALES评估”错误而失败。 这使得testing自定义属性变得困难,所以希望Zenoss很快能够解决这个问题。

我也build议改变他的变换的最后一行,否则当“d”没有find时可能会失败。 这里是完整的重做的变换代码:

 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. 点击左下angular的齿轮
  3. 点击转换
  4. 将代码input到“ 变换”字段区域
  5. 点击保存

如果你想使用Zope来替代(因为“危险”是你的中间名),那么你可以浏览http://yourserver.com [:port] / zport / dmd / Events / manage,然后点击属性转到转换字段。