是否可以在同一台机器上设置多个管理同一MIB的SNMP代理?

是否可以在同一台机器上设置多个管理同一MIB的SNMP代理?,snmp,net-snmp,Snmp,Net Snmp,下图和下图描述了我想要实现的目标: 响应SNMP的设备是N个设备(不实现SNMP)的“网关”,网关必须管理每台机器的SNMP信息。后端的N个设备是相同的,每个设备的信息都在同一MIB中描述:因此,网关必须有N个代理(在不同端口上应答)和N个实现目标MIB的同一子代理的实例。然后将每个子代理配置为连接到其自己的后端设备以检索信息 我有一些Microsoft WinCE SNMP代理的经验,我是网络SNMP新手。在Win桌面环境中使用WinCE SNMP代理和AFAIK,我试图实现的目标是不可行的

下图和下图描述了我想要实现的目标:

响应SNMP的设备是N个设备(不实现SNMP)的“网关”,网关必须管理每台机器的SNMP信息。后端的N个设备是相同的,每个设备的信息都在同一MIB中描述:因此,网关必须有N个代理(在不同端口上应答)和N个实现目标MIB的同一子代理的实例。然后将每个子代理配置为连接到其自己的后端设备以检索信息

我有一些Microsoft WinCE SNMP代理的经验,我是网络SNMP新手。在Win桌面环境中使用WinCE SNMP代理和AFAIK,我试图实现的目标是不可行的:这里有一个代理和N个扩展代理,分别管理不同的MIB

是否可以使用网络snmp实现此设置?这会是一个地狱吗


谢谢大家,

这当然可以用Net SNMP或任何SNMP框架实现,如果你认为你的问题只是乘以你的“代理代理”时间N/< 将MIB-X的代理写入您的一个设备,将其配置为在某些端口(如2000)上接受SNMP,并将请求转发到IP 1上的设备,这很简单。然后将第二个实例(即进程)配置为在其他端口(如2001)上接受请求,并将请求转发到IP为2的设备,等等


无需使其复杂化。

我将通过IP别名使用不同的IP地址,而不是不同的UDP端口。它可以将远程设备显示为SNMP管理器上的不同节点。

您只需重写本地检索数据的所有现有模块,即可远程检索数据;然后为每个目标系统配置一个主代理,该代理将检索数据并将其转发给请求客户端。更简单的方法是在每台目标机器上运行一个单独的snmp代理,并在网关机器上配置NAT,以便根据端口将请求中继到目标机器。您好,Petesh,谢谢您的评论。我不确定我是否明白你的意思。我添加了一张图片来显示我的目标架构。你能解释一下你对这个数字的评论吗?我的意思是,为网络snmp子代理编写的代码通常在本地系统上运行;查询本地数据并通过主服务器通过SNMP公开数据。这就是网络snmp结构提供给您的。“通过SNMP公开数据”背后的所有内容都是实现细节,即编程“自定义TCP”并在“不支持SNMP的设备”上查询代码。NetSNMP库不会帮你解决这个问题;你得自己去弄清楚那部分。在系统上运行多个代理很简单(只需将它们指向不同端口上的不同配置绑定),这里的问题是,问题不是有人可以帮助您解决的任何具体问题;您只需要自己创建MIB-X子代理。这并不是SNMP特有的,也不是关于协议的问题——它是中继的,你只需要有相关的中间件就可以了。相反,我认为我的问题非常具体,事实上你可以回答我。显然,我不是在问定制开发部分。我问的是网络snmp功能。“在系统上运行多个代理很简单(只需将它们指向不同端口上的不同配置绑定即可)”:这是我寻找的第一个答案。我是网络snmp新手,不知道是否存在一些限制。谢谢,谢谢。你会推荐网络snmp的其他替代框架吗?很抱歉,有十几种其他框架(snmp++、SNMP4J、PYSNMP等),包括开源和商用,我真的不能推荐一种,特别是因为我不知道你的要求/技能/预算/等等。