Monitoring 集成到Zenoss远程数据中
我需要监视放置在农场不同位置的几个Linux服务器 我有到这个远程位置的VPN连接 在内部,我使用Zenoss 4监控系统,我也希望使用Zenoss监控远程系统。对于合同策略,我不能对Zenoss数据(例如SNMP或SSH)使用VPN连接 我创建的是一组脚本,用于将所需数据从远程系统提取到内部服务器。返回数据的格式为每个位置一个CV,其中包含放置在该位置的所有设备的数据 例如:Monitoring 集成到Zenoss远程数据中,monitoring,snmp,zenoss,Monitoring,Snmp,Zenoss,我需要监视放置在农场不同位置的几个Linux服务器 我有到这个远程位置的VPN连接 在内部,我使用Zenoss 4监控系统,我也希望使用Zenoss监控远程系统。对于合同策略,我不能对Zenoss数据(例如SNMP或SSH)使用VPN连接 我创建的是一组脚本,用于将所需数据从远程系统提取到内部服务器。返回数据的格式为每个位置一个CV,其中包含放置在该位置的所有设备的数据 例如: $ cat LOCATION_1/current/current.csv APPLIANCE1,out_of_memo
$ cat LOCATION_1/current/current.csv
APPLIANCE1,out_of_memory,no,=,no,3,-
APPLIANCE1,postgre_idle,no,=,no,3,-
APPLIANCE2,out_of_memory,no,=,no,3,-
APPLIANCE2,postgre_idle,no,=,no,3,-
CVS的格式如下所示:
主机名、检查名称、结果值、比较、所需值、信息
我如何将这些数据集成到Zenoss中,因为机器被放置在内部服务器场中?
如果有必要,我最终可以更改获取数据的格式
非常感谢一种可能性是,与远程系统通信的内部服务器(我们称之为
INTERNAL1
)将事件重新发布为SNMP陷阱(或将它们写入rsyslog
文件),然后在Zenoss中处理它们
例如,消息可以以服务器名称开头:“[APPLIANCE1]内存不足”
。在Zenoss web界面()的“事件类转换”部分,您可以转换传入消息的属性(使用Python)。我经常使用它来降低事件的严重性。例如:
if evt.component == 'abrt' and evt.message.find('Saved core dump of pid') != -1:
evt.severity = 2 # was originally 3, I think
根据您的需要,如果消息来自INTERNAL1
,并且包含[APPLIANCE1]
标记作为消息前缀,或者您希望用于唯一标识来自远程系统的消息/陷阱的任何其他内容,您可以将evt.device
设置为APPLIANCE1
我不认为这是实现你目标的最好方式。我对Zenoss的了解仅限于我目前需要使用它的用途
p.S.是Zenoss关于使用事件转换的一份相当古老的文档。不幸的是,Zenoss中的文档非常稀少和分散(正如您可能已经了解到的),因此在Zenoss论坛上搜索旧帖子和/或提问可能是必要的。只需在远程位置部署一个收集器,然后将该主机添加到收集器池中,您还可以监视远程linux服务器