Perhaps you can help

I have quite a few mikrotik out in the field. They all connect to one 1 have in our data centre via l2pt or pptp.

Im using zabbix to monitor them, its discovery rule for the network interfaces work great. However it doesn't seem to work for the one at head office.

I get this message in the log:

SNMP agent item "ifDescr" on host "x.x.x.x" failed: first network error, wait for 15 seconds.

If i do a snmpwalk i get this result

snmpwalk -v 2c -c public x.x.x.x IF-MIB::ifDescr
IF-MIB::ifDescr.1 = STRING: 1 - Internet
IF-MIB::ifDescr.2 = STRING: 2 - DMZ
IF-MIB::ifDescr.39 = STRING: <l2tp-kepjbn>
IF-MIB::ifDescr.215 = STRING: <l2tp-km-1>
IF-MIB::ifDescr.299 = STRING: <l2tp-ct>
IF-MIB::ifDescr.378 = STRING: <pptp-ke>
IF-MIB::ifDescr.381 = STRING: <l2tp-in>

So it is getting result back from the router.

To setup the check for each interface will take a lifetime, i'd rather try correct the discovery rule.

Can anyone assist?

  • Does that host have any other SNMP items on it and do they work? Is the SNMP icon for that host gray, green or red? If it is red, what error message do you see? – asaveljevs Jun 4 '14 at 9:14
  • @asaveljevs Its green. Other snmp items work, like number of interfaces etc etc. – Rob Jun 4 '14 at 9:48
  • Which version of Zabbix are you using? If it is 2.2.3 or later, what happens when you use snmpbulkwalk instead of snmpwalk? – asaveljevs Jun 4 '14 at 10:05
  • @asavejevs Interesting... I get timeout. I assume the command is the same as the walk. IE snmpbulkwalk -v 2c -c public x.x.x.x IF-MIB::ifDescr – Rob Jun 4 '14 at 10:08
  • Yes, the rest of parameters should be the same. The difference between these two commands is that snmpwalk uses GetNextRequest-PDU, whereas snmpbulkwalk uses GetBulkRequest-PDU. Apparently, your device does not support it (or refuses to answer for some other reason). Since GetBulkRequest-PDU is a feature of SNMPv2 and later, you can try monitoring your device in Zabbix using SNMPv1. Please check whether setting your discovery rule to SNMPv1 helps. – asaveljevs Jun 4 '14 at 10:11

Up to version 2.2.2, Zabbix used GetNextRequest-PDU for low-level discovery.

Since version 2.2.3, Zabbix uses GetNextRequest-PDU for low-level discovery on SNMPv1 devices and GetBulkRequest-PDU for SNMPv2 and SNMPv3 devices, because GetBulkRequest-PDU was introduced in SNMPv2.

Your problem seems to be that the device does not support GetBulkRequest-PDU, even though it is monitored through SNMPv2.

As a workaround, you can try doing low-level discovery on that device using SNMPv1 (the rest of the items, except those with dynamic indexes, can remain SNMPv2).

Meanwhile, I shall also add you case to ZBXNEXT-2301, which speaks about being able to disable SNMP bulk for each interface.

| improve this answer | |


Perl script will generate a Zabbix v3 Template in XML format from an OID tree in a SNMP MIB file.

Read more here: https://github.com/cavaliercoder/mib2zabbix

| |
  • Please don't post the same answer multiple times. – Sven Jul 4 '17 at 12:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.