我正在运行一个应用程序,该应用程序每 5 分钟从 2000 多个交换机收集 snmp 数据、upoctets、downoctects、端口状态,并将它们显示在图表中,并根据端口状态在网页上以绿色或红色显示它们,这是我第一次添加设备我遍历它获取端口索引将其保存到 db,每五分钟我从 db 获取端口索引针对 oid 运行它执行 snmpget 逐个端口获取数据并将它们保存到 mysql。
几乎有 8 个 oid 和 2000 多个设备,串行需要更长的时间,直到最后一个 oid 完成才执行下一个 oid。我听说过 snmpbulkget 或 snmptable 但不了解它们,
我想要一种替代方法,我可以减少网络流量并批量获取表的数据,而不是我为每个 oid 一个一个地执行查询 snmpget,这通常会执行五分钟的差异。
我向交换机发送一个表请求,它返回所有端口状态的值表。
它将减少等待下一个呼叫并加快进程也将减少网络流量。
可能吗?
您能否对我的 senario 进行改进,因为许多接口计数器每 5 分钟查询数千个设备。
谢谢