See www.zabbix.com for the official Zabbix site.

Bulk SNMP requests device blacklist

From Zabbix.org
Jump to: navigation, search

Zabbix 2.2.3 introduced a new feature, bulk SNMP requests. It allows bundling multiple SNMP OIDs into one request instead of polling each OID individually. This reduces the load on the Zabbix server as less SNMP poller processes are needed. However, some devices don't work well with bulk SNMP requests, a typical symptom is gaps in the retrieved data. If you have a device that's not working properly with bulk SNMP requests, please add it to the table below.

Note: Please link to Zabbix issue tracker or forum where the problem is described in more detail. If there's no issue or forum thread, create a new page on this wiki and link to that page.
Vendor Device Firmware/Software version More information
HP 1810G switch Unknown Forum: Switch SNMP not Reporting Correctly [1]
NetApp Unknown Unknown Forum: Zabbix 2.2.3 + NetApp SNMP problem [2]
Cisco 3750-X switch Unknown Forum: Bulk SNMP in 2.2.3 [3]
Cisco WSA Unknown Single incorrect OID results in whole request failing. Issue tracker comment
Imagine Communications Selenio FR6800+ Unknown Single incorrect OID results in whole request failing. Issue tracker comment
AKCP Sensor Probe8 X20 / X60 Unknown Querying 10 or OID's using bulk queries will cause the device to return SNMP genError, Zabbix then marks the device as ZBX_NOTSUPPORTED - the error this can be seen via tcpdump also. The 'AKCP Security 5E Standard-X60DCW' seems to be unaffected.
Dell Equallogic at first you get some values, after that you get only timeouts, see: ZBX-8418 and ZBX-8808
Geist Emu Watchdog 100 All Bulk requests do not return any data. Manufacturer confirmed.
HP HP LaserJet P2055dn / JetDirect J80173 V.37.18 Bulk request sometimes return the correct value, sometimes they return NULL (strings that look like [00 00 00 00 00 ...]

Testing Devices

SNMP Bulk compatibility can be tested using snmpbulkwalk (from Net-SNMP) against a particular OID. For the case of the HP LaserJet above the problem was multiple requests hitting the client before the first request was serviced. That's why the checks are run in parallel in the script below.

#!/bin/bash

community="public"
hostname="printer.example.com"
oid="Printer-MIB::prtMarkerSuppliesDescription.1"  #numeric ids work as well .1.3.6.1.2.1.43.11.1.1.6.1

for i in {1..3}
do
    snmpbulkwalk -v2c -c $community -Cn0 -Cr14 $hostname $oid &
done

Output for a well behaved device, will look like this:

Printer-MIB::prtMarkerSuppliesDescription.1.1 = STRING: "Black Cartridge HP CE505X"
Printer-MIB::prtMarkerSuppliesDescription.1.1 = STRING: "Black Cartridge HP CE505X"
Printer-MIB::prtMarkerSuppliesDescription.1.1 = STRING: "Black Cartridge HP CE505X"

Output for a poorly behaved device will look like this:

Printer-MIB::prtMarkerSuppliesDescription.1.1 = Hex-STRING: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
Printer-MIB::prtMarkerSuppliesDescription.1.1 = Hex-STRING: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
Printer-MIB::prtMarkerSuppliesDescription.1.1 = Hex-STRING: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00