2000每个端口切换snmp

时间:2013-03-23 19:11:06

标签: snmp bulk device

我正在运行一个应用程序,每隔5分钟从超过2000个交换机收集snmp数据,upoctets,downoctects,端口状态,并在图表中显示它们,并在网页上显示绿色或红色的端口状态,第一次当我添加设备时,我遍历它获取端口索引将其保存到db,每隔五分钟我从db运行它的端口索引运行它对oid执行snmpget获取数据端口并将它们保存到mysql。

有大约8个oids和超过2000个设备,这些设备连续运行的时间越长,下一个oid在最后一个oid完成之前不会被执行。我听过snmpbulkget或snmptable但是不理解它们,

我想要一种替代的方式,我可以减少网络流量并批量获取表的数据,而不是逐个执行每个oid的查询snmpget,正常地执行5分钟的差异。

我向交换机发送一个表请求,它返回所有端口状态的值表。

它将减少等待下一次呼叫的速度,加快进程也会减少网络流量。

有可能吗?

你能不能改进我的Senario,每隔5分钟就会为许多接口计数器查询数千个设备。

感谢

1 个答案:

答案 0 :(得分:0)

SNMP getbulk命令允许您指定多个OID和一个maxrepetitions参数,该参数限制代理在回复中发送的varbinds数。它非常适合在您描述的情况下优化性能。当然有一个问题:

  • SNMP getbulk在SNMP v1
  • 中不可用
  • 设置正确的maxrepetitions参数可能会很棘手 - 如果回复中必须包含一定数量的varbinds,某些代理拒绝发送回复