Zenoss – 从terminal重命名设备

我有大约100个交换机,需要在zenoss中重命名,并且使用IP地址和相应名称的csv文件。 有没有办法从terminal重命名设备,以便我可以敲一个快速脚本parsingcsv并根据IP地址重命名设备?

确实有。 有一个zendmd CLI接口,它提供了一种与Zenoss交互的zendmd方式。

 $ /usr/local/zenoss/zenoss/bin/zendmd 

我不是100%确定的,但“重命名”设备可能类似于在设备层次结构中“移动”它们。 在这里有例子的日志,让你开始。

我在find相同的解决scheme时遇到了这个问题。 我采取了卢卡切卡的build议,并问#zenoss。

答案是使用zendmd来执行一些python,交互式地或者写一个脚本来执行它。

以下脚本是由#zenoos上的“frooderino”提出的:

 #file.csv is just a txt file with oldname,newname on each line f = open('file.csv').read().split('\n') print('starting rename') for i in f: sync() o = i.split(',') d = dmd.Devices.findDevice(o[0]) print('Current Name: %s' % d.id) d.renameDevice(o[1]) commit() print('New Name: %s' % d.id) print('done renames') 

input文件如下所示:

 oldname1,newname1 oldname2,newname2 etc. 

我稍微调整它从一个variables,而不是一个文件运行,但它工作得很好。

你可以在>>>提示符下使用: execfile("script.py")在zendmd shell中运行它。 或者,直接input到shell(记住缩进)。