I’ve been chasing an issue for the last few days relating to MikroTik and Cacti. In Cacti, we have our “Maximum SNMP OID’s per SNMP Get Request” set to 40 by default. Our host template is setup to graph interfaces, CPU usage, Memory usage, PPP connections and ARP entries. I can provide a list of all the OIDs we are using to graph these items if desired.
The issue we have is that if a router doesn’t have PPP package enabled or is using a very old version of RouterOS that doesn’t use the newer memory OID’s, then some of the graphs fail when they shouldn’t. I’ve narrowed down the issue to this: It would appear that when doing SNMP get requests with multiple OIDs, MikroTik is either rejecting or failing the packet (or responding in some other manner to make Cacti think it is failing) when an OID is requested that doesn’t exist in the MikroTik (either doesn’t exist at all or the package the OID belongs to isn’t enabled, such as PPP). I have attached two files that show a Cisco device and a MikroTik RB750 (with ppp package disabled). This shows that the entire SNMP get request for the Tik is appearing as “timed out” when an invalid OID is requested. The Cisco however returns a value of “U” without timing out the request.
If desired I can include packet captures of this as well. Any ideas if this can be fixed on the MikroTik side?
mikrotik-snmp-req.txt (8.61 KB)
cisco-snmp-req.txt (3.24 KB)