我有一个监控系统,几乎每个方面都有主/故障转移节点。我已经配置了所有能够支持多个 SNMP 陷阱目标的设备,但我确实有许多设备仅支持单个陷阱目标。
我想要做的是配置一个中间件服务(在 RHEL/Linux 服务器上),接收 UDP 数据包,并将其重新传输到多个 SNMP 接收器,有效地充当中继器。
我不确定那里有哪些服务,但我最终想将设备配置为捕获到单个 IP 地址,并由拥有该 IP 地址的设备负责将其转发到其他地方。如果给定节点发生故障,则不会产生任何影响,因为无论如何陷阱目的地都是集群的。
答案1
http://code.google.com/p/samplicator/
这个简单的程序监听网络端口上的 UDP 数据报,并将这些数据报的副本发送到一组目的地。它还可以执行采样,即不转发每个数据包,而是只转发 N 中的 1 个。另一个选项是它可以“欺骗” IP 源地址,这样副本看起来就像来自原始源,而不是中继。目前仅支持 IPv4。
它可用于将 Netflow 数据包、SNMP 陷阱(但不通知)或 Syslog 消息分发给多个接收器。
答案2
这种东西叫做中继器,而不是转发器。令人惊讶的是,谷歌搜索 snmp trap 中继器没有给出有用的结果,我得到的最接近的结果一段在 Windows 上实现这样的事情的代码,根本就不是很接近。
看起来你需要构建你自己的。