我已经设置了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中的这些步骤添加一个转换到根事件:
如果你想使用Zope来替代(因为“危险”是你的中间名),那么你可以浏览http://yourserver.com [:port] / zport / dmd / Events / manage,然后点击属性转到转换字段。