我正在开发一个SNMP轮询器,每小时将轮询约40K设备以获取与CPU,内存,带宽和连接计数有关的信息。我目前正在使用snmp4j API。我分别针对CPU,内存,带宽和连接计数执行snmpwalk,但是鉴于设备数量,这会花费大量时间。我正在考虑使用SNMP getbulk请求一次获取所有信息,但这受到查询设备的最大响应PDU数据包大小的限制。我想知道是否有一种方法可以知道远程系统的最大PDU响应大小,以便可以相应地分解请求PDU。我有大约2500个OID可以在一个请求中进行轮询。而且,我不允许修改远程系统的响应数据包大小。
答案 0 :(得分:0)
这已经是30年的问题了(SNMP太旧了):设备发现的一部分是确定每个设备的最大响应大小(除了响应时间,受支持的版本等)。
从根本上来说,这是发现时间的权衡,而不是假设某些最小功能。