They use different SNMP commands. Poor SNMP stacks sometimes shit themselves on bulkwalk, especially with high max-rep (-Cr) values.

bulkwalk uses GETBULK, which retrieves multiple values in one go, reducing time taken to collect the table.

root@zeta:/home/observium/dev# time snmpwalk -v2c -c public c1800-a ifTable >> /dev/null
real    0m16.896s
user    0m0.016s
sys     0m0.004s

root@zeta:/home/observium/dev# time snmpbulkwalk -v2c -c public c1800-a ifTable >> /dev/null
real    0m1.708s
user    0m0.012s
sys     0m0.000s

root@zeta:/home/observium/dev# time snmpbulkwalk -Cr100 -v2c -c public c1800-a ifTable >> /dev/null
real    0m1.375s
user    0m0.008s
sys     0m0.000s

Is this device running the latest firmware? Often these bugs appear and disappear between versions.

(incidentally, you can usually spot a shit SNMP stack when they include the vendor and/or model name in ifDescr, hah!)

adam.

On 2018-09-17 12:29:05, Simon Mousey Smith <simonsmith5521@gmail.com> wrote:

Hi,

What is the difference between ‘snmpbulkwalk’ and ‘snmpwalk’ ?

I have an issue with a D-Link DGS-1100-24 and the ports of SNMP

When I manually run the snmpbulkwalk that observium uses, it times out from getting the ifEntry details

However if I run snmpwalk, it walks without any issues?

Can I change observium to use snmpwalk for this device and the ports?

root@observium:~# /usr/bin/snmpbulkwalk -t '5' -v2c -c public -Pu -OQUs -m IF-MIB -M /opt/observium/mibs/rfc:/opt/observium/mibs/net-snmp 'udp':'dlink.rbs':'161' ifEntry
ifIndex.1 = 1
ifIndex.2 = 2
ifIndex.3 = 3
ifIndex.4 = 4
ifIndex.5 = 5
ifIndex.6 = 6
ifIndex.7 = 7
ifIndex.8 = 8
ifIndex.9 = 9
ifIndex.10 = 10
ifIndex.11 = 11
ifIndex.12 = 12
ifIndex.13 = 13
ifIndex.14 = 14
ifIndex.15 = 15
ifIndex.16 = 16
ifIndex.17 = 17
ifIndex.18 = 18
ifIndex.19 = 19
ifIndex.20 = 20
ifIndex.21 = 21
ifIndex.22 = 22
ifIndex.23 = 23
ifIndex.24 = 24
ifDescr.1 = D-Link Corporation DGS-1100-24 1.01.018 Port 1
ifDescr.2 = D-Link Corporation DGS-1100-24 1.01.018 Port 2
ifDescr.3 = D-Link Corporation DGS-1100-24 1.01.018 Port 3
ifDescr.4 = D-Link Corporation DGS-1100-24 1.01.018 Port 4
ifDescr.5 = D-Link Corporation DGS-1100-24 1.01.018 Port 5
ifDescr.6 = D-Link Corporation DGS-1100-24 1.01.018 Port 6
Timeout: No Response from udp:dlink.rbs:161

root@observium:~# /usr/bin/snmpwalk -t '5' -v2c -c public -Pu -OQUs -m IF-MIB -M /opt/observium/mibs/rfc:/opt/observium/mibs/net-snmp 'udp':'dlink.rbs':'161' ifEntry
ifIndex.1 = 1
ifIndex.2 = 2
ifIndex.3 = 3
ifIndex.4 = 4
ifIndex.5 = 5
ifIndex.6 = 6
ifIndex.7 = 7
ifIndex.8 = 8
ifIndex.9 = 9
ifIndex.10 = 10
ifIndex.11 = 11
ifIndex.12 = 12
ifIndex.13 = 13
ifIndex.14 = 14
ifIndex.15 = 15
ifIndex.16 = 16
ifIndex.17 = 17
ifIndex.18 = 18
ifIndex.19 = 19
ifIndex.20 = 20
ifIndex.21 = 21
ifIndex.22 = 22
ifIndex.23 = 23
ifIndex.24 = 24
ifDescr.1 = D-Link Corporation DGS-1100-24 1.01.018 Port 1
ifDescr.2 = D-Link Corporation DGS-1100-24 1.01.018 Port 2
ifDescr.3 = D-Link Corporation DGS-1100-24 1.01.018 Port 3
ifDescr.4 = D-Link Corporation DGS-1100-24 1.01.018 Port 4
ifDescr.5 = D-Link Corporation DGS-1100-24 1.01.018 Port 5
ifDescr.6 = D-Link Corporation DGS-1100-24 1.01.018 Port 6
ifDescr.7 = D-Link Corporation DGS-1100-24 1.01.018 Port 7
ifDescr.8 = D-Link Corporation DGS-1100-24 1.01.018 Port 8
ifDescr.9 = D-Link Corporation DGS-1100-24 1.01.018 Port 9
ifDescr.10 = D-Link Corporation DGS-1100-24 1.01.018 Port 10
ifDescr.11 = D-Link Corporation DGS-1100-24 1.01.018 Port 11
ifDescr.12 = D-Link Corporation DGS-1100-24 1.01.018 Port 12
ifDescr.13 = D-Link Corporation DGS-1100-24 1.01.018 Port 13
ifDescr.14 = D-Link Corporation DGS-1100-24 1.01.018 Port 14
ifDescr.15 = D-Link Corporation DGS-1100-24 1.01.018 Port 15
ifDescr.16 = D-Link Corporation DGS-1100-24 1.01.018 Port 16
ifDescr.17 = D-Link Corporation DGS-1100-24 1.01.018 Port 17
ifDescr.18 = D-Link Corporation DGS-1100-24 1.01.018 Port 18
ifDescr.19 = D-Link Corporation DGS-1100-24 1.01.018 Port 19
ifDescr.20 = D-Link Corporation DGS-1100-24 1.01.018 Port 20
ifDescr.21 = D-Link Corporation DGS-1100-24 1.01.018 Port 21
ifDescr.22 = D-Link Corporation DGS-1100-24 1.01.018 Port 22
ifDescr.23 = D-Link Corporation DGS-1100-24 1.01.018 Port 23
ifDescr.24 = D-Link Corporation DGS-1100-24 1.01.018 Port 24
ifType.1 = ethernetCsmacd
ifType.2 = ethernetCsmacd
ifType.3 = ethernetCsmacd
ifType.4 = ethernetCsmacd
ifType.5 = ethernetCsmacd
ifType.6 = ethernetCsmacd
ifType.7 = ethernetCsmacd
ifType.8 = ethernetCsmacd
ifType.9 = ethernetCsmacd
ifType.10 = ethernetCsmacd
ifType.11 = ethernetCsmacd
ifType.12 = ethernetCsmacd
ifType.13 = ethernetCsmacd
ifType.14 = ethernetCsmacd
ifType.15 = ethernetCsmacd
ifType.16 = ethernetCsmacd
ifType.17 = ethernetCsmacd
ifType.18 = ethernetCsmacd
ifType.19 = ethernetCsmacd
ifType.20 = ethernetCsmacd
ifType.21 = ethernetCsmacd
ifType.22 = ethernetCsmacd
ifType.23 = ethernetCsmacd
ifType.24 = ethernetCsmacd
ifMtu.1 = 1522
ifMtu.2 = 1522
ifMtu.3 = 1522
ifMtu.4 = 1522
ifMtu.5 = 1522
ifMtu.6 = 1522
ifMtu.7 = 1522
ifMtu.8 = 1522
ifMtu.9 = 1522
ifMtu.10 = 1522
ifMtu.11 = 1522
ifMtu.12 = 1522
ifMtu.13 = 1522
ifMtu.14 = 1522
ifMtu.15 = 1522
ifMtu.16 = 1522
ifMtu.17 = 1522
ifMtu.18 = 1522
ifMtu.19 = 1522
ifMtu.20 = 1522
ifMtu.21 = 1522
ifMtu.22 = 1522
ifMtu.23 = 1522
ifMtu.24 = 1522
ifSpeed.1 = 100000000
ifSpeed.2 = 0
ifSpeed.3 = 0
ifSpeed.4 = 0
ifSpeed.5 = 0
ifSpeed.6 = 0
ifSpeed.7 = 0
ifSpeed.8 = 0
ifSpeed.9 = 0
ifSpeed.10 = 0
ifSpeed.11 = 0
ifSpeed.12 = 0
ifSpeed.13 = 0
ifSpeed.14 = 0
ifSpeed.15 = 0
ifSpeed.16 = 0
ifSpeed.17 = 0
ifSpeed.18 = 0
ifSpeed.19 = 0
ifSpeed.20 = 0
ifSpeed.21 = 0
ifSpeed.22 = 0
ifSpeed.23 = 0
ifSpeed.24 = 0
ifPhysAddress.1 = ec:22:80:40:3c:6
ifPhysAddress.2 = ec:22:80:40:3c:6
ifPhysAddress.3 = ec:22:80:40:3c:6
ifPhysAddress.4 = ec:22:80:40:3c:6
ifPhysAddress.5 = ec:22:80:40:3c:6
ifPhysAddress.6 = ec:22:80:40:3c:6
ifPhysAddress.7 = ec:22:80:40:3c:6
ifPhysAddress.8 = ec:22:80:40:3c:6
ifPhysAddress.9 = ec:22:80:40:3c:6
ifPhysAddress.10 = ec:22:80:40:3c:6
ifPhysAddress.11 = ec:22:80:40:3c:6
ifPhysAddress.12 = ec:22:80:40:3c:6
ifPhysAddress.13 = ec:22:80:40:3c:6
ifPhysAddress.14 = ec:22:80:40:3c:6
ifPhysAddress.15 = ec:22:80:40:3c:6
ifPhysAddress.16 = ec:22:80:40:3c:6
ifPhysAddress.17 = ec:22:80:40:3c:6
ifPhysAddress.18 = ec:22:80:40:3c:6
ifPhysAddress.19 = ec:22:80:40:3c:6
ifPhysAddress.20 = ec:22:80:40:3c:6
ifPhysAddress.21 = ec:22:80:40:3c:6
ifPhysAddress.22 = ec:22:80:40:3c:6
ifPhysAddress.23 = ec:22:80:40:3c:6
ifPhysAddress.24 = ec:22:80:40:3c:6
ifAdminStatus.1 = up
ifAdminStatus.2 = up
ifAdminStatus.3 = up
ifAdminStatus.4 = up
ifAdminStatus.5 = up
ifAdminStatus.6 = up
ifAdminStatus.7 = up
ifAdminStatus.8 = up
ifAdminStatus.9 = up
ifAdminStatus.10 = up
ifAdminStatus.11 = up
ifAdminStatus.12 = up
ifAdminStatus.13 = up
ifAdminStatus.14 = up
ifAdminStatus.15 = up
ifAdminStatus.16 = up
ifAdminStatus.17 = up
ifAdminStatus.18 = up
ifAdminStatus.19 = up
ifAdminStatus.20 = up
ifAdminStatus.21 = up
ifAdminStatus.22 = up
ifAdminStatus.23 = up
ifAdminStatus.24 = up
ifOperStatus.1 = up
ifOperStatus.2 = down
ifOperStatus.3 = down
ifOperStatus.4 = down
ifOperStatus.5 = down
ifOperStatus.6 = down
ifOperStatus.7 = down
ifOperStatus.8 = down
ifOperStatus.9 = down
ifOperStatus.10 = down
ifOperStatus.11 = down
ifOperStatus.12 = down
ifOperStatus.13 = down
ifOperStatus.14 = down
ifOperStatus.15 = down
ifOperStatus.16 = down
ifOperStatus.17 = down
ifOperStatus.18 = down
ifOperStatus.19 = down
ifOperStatus.20 = down
ifOperStatus.21 = down
ifOperStatus.22 = down
ifOperStatus.23 = down
ifOperStatus.24 = down
ifLastChange.1 = 0:0:00:00.00
ifLastChange.2 = 0:0:00:00.00
ifLastChange.3 = 0:0:00:00.00
ifLastChange.4 = 0:0:00:00.00
ifLastChange.5 = 0:0:00:00.00
ifLastChange.6 = 0:0:00:00.00
ifLastChange.7 = 0:0:00:00.00
ifLastChange.8 = 0:0:00:00.00
ifLastChange.9 = 0:0:00:00.00
ifLastChange.10 = 0:0:00:00.00
ifLastChange.11 = 0:0:00:00.00
ifLastChange.12 = 0:0:00:00.00
ifLastChange.13 = 0:0:00:00.00
ifLastChange.14 = 0:0:00:00.00
ifLastChange.15 = 0:0:00:00.00
ifLastChange.16 = 0:0:00:00.00
ifLastChange.17 = 0:0:00:00.00
ifLastChange.18 = 0:0:00:00.00
ifLastChange.19 = 0:0:00:00.00
ifLastChange.20 = 0:0:00:00.00
ifLastChange.21 = 0:0:00:00.00
ifLastChange.22 = 0:0:00:00.00
ifLastChange.23 = 0:0:00:00.00
ifLastChange.24 = 0:0:00:00.00
ifInOctets.1 = 2260563
ifInOctets.2 = 0
ifInOctets.3 = 0
ifInOctets.4 = 0
ifInOctets.5 = 0
ifInOctets.6 = 0
ifInOctets.7 = 0
ifInOctets.8 = 75140
ifInOctets.9 = 0
ifInOctets.10 = 0
ifInOctets.11 = 0
ifInOctets.12 = 0
ifInOctets.13 = 0
ifInOctets.14 = 0
ifInOctets.15 = 0
ifInOctets.16 = 0
ifInOctets.17 = 179128
ifInOctets.18 = 0
ifInOctets.19 = 0
ifInOctets.20 = 0
ifInOctets.21 = 0
ifInOctets.22 = 0
ifInOctets.23 = 0
ifInOctets.24 = 0
ifInUcastPkts.1 = 10964
ifInUcastPkts.2 = 0
ifInUcastPkts.3 = 0
ifInUcastPkts.4 = 0
ifInUcastPkts.5 = 0
ifInUcastPkts.6 = 0
ifInUcastPkts.7 = 0
ifInUcastPkts.8 = 167
ifInUcastPkts.9 = 0
ifInUcastPkts.10 = 0
ifInUcastPkts.11 = 0
ifInUcastPkts.12 = 0
ifInUcastPkts.13 = 0
ifInUcastPkts.14 = 0
ifInUcastPkts.15 = 0
ifInUcastPkts.16 = 0
ifInUcastPkts.17 = 353
ifInUcastPkts.18 = 0
ifInUcastPkts.19 = 0
ifInUcastPkts.20 = 0
ifInUcastPkts.21 = 0
ifInUcastPkts.22 = 0
ifInUcastPkts.23 = 0
ifInUcastPkts.24 = 0
ifInNUcastPkts.1 = 9051
ifInNUcastPkts.2 = 0
ifInNUcastPkts.3 = 0
ifInNUcastPkts.4 = 0
ifInNUcastPkts.5 = 0
ifInNUcastPkts.6 = 0
ifInNUcastPkts.7 = 0
ifInNUcastPkts.8 = 587
ifInNUcastPkts.9 = 0
ifInNUcastPkts.10 = 0
ifInNUcastPkts.11 = 0
ifInNUcastPkts.12 = 0
ifInNUcastPkts.13 = 0
ifInNUcastPkts.14 = 0
ifInNUcastPkts.15 = 0
ifInNUcastPkts.16 = 0
ifInNUcastPkts.17 = 182
ifInNUcastPkts.18 = 0
ifInNUcastPkts.19 = 0
ifInNUcastPkts.20 = 0
ifInNUcastPkts.21 = 0
ifInNUcastPkts.22 = 0
ifInNUcastPkts.23 = 0
ifInNUcastPkts.24 = 0
ifInDiscards.1 = 0
ifInDiscards.2 = 0
ifInDiscards.3 = 0
ifInDiscards.4 = 0
ifInDiscards.5 = 0
ifInDiscards.6 = 0
ifInDiscards.7 = 0
ifInDiscards.8 = 0
ifInDiscards.9 = 0
ifInDiscards.10 = 0
ifInDiscards.11 = 0
ifInDiscards.12 = 0
ifInDiscards.13 = 0
ifInDiscards.14 = 0
ifInDiscards.15 = 0
ifInDiscards.16 = 0
ifInDiscards.17 = 0
ifInDiscards.18 = 0
ifInDiscards.19 = 0
ifInDiscards.20 = 0
ifInDiscards.21 = 0
ifInDiscards.22 = 0
ifInDiscards.23 = 0
ifInDiscards.24 = 0
ifInErrors.1 = 0
ifInErrors.2 = 0
ifInErrors.3 = 0
ifInErrors.4 = 0
ifInErrors.5 = 0
ifInErrors.6 = 0
ifInErrors.7 = 0
ifInErrors.8 = 0
ifInErrors.9 = 0
ifInErrors.10 = 0
ifInErrors.11 = 0
ifInErrors.12 = 0
ifInErrors.13 = 0
ifInErrors.14 = 0
ifInErrors.15 = 0
ifInErrors.16 = 0
ifInErrors.17 = 0
ifInErrors.18 = 0
ifInErrors.19 = 0
ifInErrors.20 = 0
ifInErrors.21 = 0
ifInErrors.22 = 0
ifInErrors.23 = 0
ifInErrors.24 = 0
ifInUnknownProtos.1 = 0
ifInUnknownProtos.2 = 0
ifInUnknownProtos.3 = 0
ifInUnknownProtos.4 = 0
ifInUnknownProtos.5 = 0
ifInUnknownProtos.6 = 0
ifInUnknownProtos.7 = 0
ifInUnknownProtos.8 = 0
ifInUnknownProtos.9 = 0
ifInUnknownProtos.10 = 0
ifInUnknownProtos.11 = 0
ifInUnknownProtos.12 = 0
ifInUnknownProtos.13 = 0
ifInUnknownProtos.14 = 0
ifInUnknownProtos.15 = 0
ifInUnknownProtos.16 = 0
ifInUnknownProtos.17 = 0
ifInUnknownProtos.18 = 0
ifInUnknownProtos.19 = 0
ifInUnknownProtos.20 = 0
ifInUnknownProtos.21 = 0
ifInUnknownProtos.22 = 0
ifInUnknownProtos.23 = 0
ifInUnknownProtos.24 = 0
ifOutOctets.1 = 2033497
ifOutOctets.2 = 0
ifOutOctets.3 = 0
ifOutOctets.4 = 0
ifOutOctets.5 = 0
ifOutOctets.6 = 0
ifOutOctets.7 = 0
ifOutOctets.8 = 0
ifOutOctets.9 = 0
ifOutOctets.10 = 0
ifOutOctets.11 = 0
ifOutOctets.12 = 0
ifOutOctets.13 = 0
ifOutOctets.14 = 0
ifOutOctets.15 = 0
ifOutOctets.16 = 0
ifOutOctets.17 = 265264
ifOutOctets.18 = 0
ifOutOctets.19 = 0
ifOutOctets.20 = 0
ifOutOctets.21 = 0
ifOutOctets.22 = 0
ifOutOctets.23 = 0
ifOutOctets.24 = 0
ifOutUcastPkts.1 = 10212
ifOutUcastPkts.2 = 0
ifOutUcastPkts.3 = 0
ifOutUcastPkts.4 = 0
ifOutUcastPkts.5 = 0
ifOutUcastPkts.6 = 0
ifOutUcastPkts.7 = 0
ifOutUcastPkts.8 = 0
ifOutUcastPkts.9 = 0
ifOutUcastPkts.10 = 0
ifOutUcastPkts.11 = 0
ifOutUcastPkts.12 = 0
ifOutUcastPkts.13 = 0
ifOutUcastPkts.14 = 0
ifOutUcastPkts.15 = 0
ifOutUcastPkts.16 = 0
ifOutUcastPkts.17 = 308
ifOutUcastPkts.18 = 0
ifOutUcastPkts.19 = 0
ifOutUcastPkts.20 = 0
ifOutUcastPkts.21 = 0
ifOutUcastPkts.22 = 0
ifOutUcastPkts.23 = 0
ifOutUcastPkts.24 = 0
ifOutNUcastPkts.1 = 8
ifOutNUcastPkts.2 = 0
ifOutNUcastPkts.3 = 0
ifOutNUcastPkts.4 = 0
ifOutNUcastPkts.5 = 0
ifOutNUcastPkts.6 = 0
ifOutNUcastPkts.7 = 0
ifOutNUcastPkts.8 = 0
ifOutNUcastPkts.9 = 0
ifOutNUcastPkts.10 = 0
ifOutNUcastPkts.11 = 0
ifOutNUcastPkts.12 = 0
ifOutNUcastPkts.13 = 0
ifOutNUcastPkts.14 = 0
ifOutNUcastPkts.15 = 0
ifOutNUcastPkts.16 = 0
ifOutNUcastPkts.17 = 5
ifOutNUcastPkts.18 = 0
ifOutNUcastPkts.19 = 0
ifOutNUcastPkts.20 = 0
ifOutNUcastPkts.21 = 0
ifOutNUcastPkts.22 = 0
ifOutNUcastPkts.23 = 0
ifOutNUcastPkts.24 = 0
ifOutDiscards.1 = 0
ifOutDiscards.2 = 0
ifOutDiscards.3 = 0
ifOutDiscards.4 = 0
ifOutDiscards.5 = 0
ifOutDiscards.6 = 0
ifOutDiscards.7 = 0
ifOutDiscards.8 = 0
ifOutDiscards.9 = 0
ifOutDiscards.10 = 0
ifOutDiscards.11 = 0
ifOutDiscards.12 = 0
ifOutDiscards.13 = 0
ifOutDiscards.14 = 0
ifOutDiscards.15 = 0
ifOutDiscards.16 = 0
ifOutDiscards.17 = 0
ifOutDiscards.18 = 0
ifOutDiscards.19 = 0
ifOutDiscards.20 = 0
ifOutDiscards.21 = 0
ifOutDiscards.22 = 0
ifOutDiscards.23 = 0
ifOutDiscards.24 = 0
ifOutErrors.1 = 0
ifOutErrors.2 = 0
ifOutErrors.3 = 0
ifOutErrors.4 = 0
ifOutErrors.5 = 0
ifOutErrors.6 = 0
ifOutErrors.7 = 0
ifOutErrors.8 = 0
ifOutErrors.9 = 0
ifOutErrors.10 = 0
ifOutErrors.11 = 0
ifOutErrors.12 = 0
ifOutErrors.13 = 0
ifOutErrors.14 = 0
ifOutErrors.15 = 0
ifOutErrors.16 = 0
ifOutErrors.17 = 0
ifOutErrors.18 = 0
ifOutErrors.19 = 0
ifOutErrors.20 = 0
ifOutErrors.21 = 0
ifOutErrors.22 = 0
ifOutErrors.23 = 0
ifOutErrors.24 = 0
ifOutQLen.1 = 0
ifOutQLen.2 = 0
ifOutQLen.3 = 0
ifOutQLen.4 = 0
ifOutQLen.5 = 0
ifOutQLen.6 = 0
ifOutQLen.7 = 0
ifOutQLen.8 = 0
ifOutQLen.9 = 0
ifOutQLen.10 = 0
ifOutQLen.11 = 0
ifOutQLen.12 = 0
ifOutQLen.13 = 0
ifOutQLen.14 = 0
ifOutQLen.15 = 0
ifOutQLen.16 = 0
ifOutQLen.17 = 0
ifOutQLen.18 = 0
ifOutQLen.19 = 0
ifOutQLen.20 = 0
ifOutQLen.21 = 0
ifOutQLen.22 = 0
ifOutQLen.23 = 0
ifOutQLen.24 = 0
ifSpecific.1 = zeroDotZero
ifSpecific.2 = zeroDotZero
ifSpecific.3 = zeroDotZero
ifSpecific.4 = zeroDotZero
ifSpecific.5 = zeroDotZero
ifSpecific.6 = zeroDotZero
ifSpecific.7 = zeroDotZero
ifSpecific.8 = zeroDotZero
ifSpecific.9 = zeroDotZero
ifSpecific.10 = zeroDotZero
ifSpecific.11 = zeroDotZero
ifSpecific.12 = zeroDotZero
ifSpecific.13 = zeroDotZero
ifSpecific.14 = zeroDotZero
ifSpecific.15 = zeroDotZero
ifSpecific.16 = zeroDotZero
ifSpecific.17 = zeroDotZero
ifSpecific.18 = zeroDotZero
ifSpecific.19 = zeroDotZero
ifSpecific.20 = zeroDotZero
ifSpecific.21 = zeroDotZero
ifSpecific.22 = zeroDotZero
ifSpecific.23 = zeroDotZero
ifSpecific.24 = zeroDotZero
root@observium:~#

Regards

Simon
_______________________________________________
observium mailing list
observium@observium.org
http://postman.memetic.org/cgi-bin/mailman/listinfo/observium