--- zabbix-2.0.2/src/zabbix_server/poller/checks_snmp.c.orig 2012-07-31 05:16:45.000000000 -0400 +++ zabbix-2.0.2/src/zabbix_server/poller/checks_snmp.c 2012-09-22 15:25:52.000000000 -0400 @@ -1065,7 +1065,21 @@ case 0: zabbix_log(LOG_LEVEL_DEBUG, "Standard processing"); snmp_normalize(oid_normalized, item->snmp_oid, sizeof(oid_normalized)); - ret = get_snmp(ss, item, oid_normalized, value); + unsigned short tries=0; + while (tries < 10) + { + tries++; + ret = get_snmp(ss, item, oid_normalized, value); + + if (SUCCEED == ret) + { + break; + } + else + { + zabbix_log(LOG_LEVEL_WARNING, "In %s() calling get_snmp() w/num_key_param=0, ret: %s, tries: %d, OID: %s", __function_name, zbx_result_string(ret), tries, oid_normalized); + } + } break; case 3: do @@ -1133,7 +1147,21 @@ zbx_snprintf(oid_full, sizeof(oid_full), "%s.%d", oid_normalized, idx); zabbix_log(LOG_LEVEL_DEBUG, "full OID:%s", oid_full); - ret = get_snmp(ss, item, oid_full, value); + unsigned short tries=0; + while (tries < 10) + { + tries++; + ret = get_snmp(ss, item, oid_full, value); + + if (SUCCEED == ret) + { + break; + } + else + { + zabbix_log(LOG_LEVEL_WARNING, "In %s() calling get_snmp() w/num_key_param=3, ret: %s, tries: %d, OID: %s", __function_name, zbx_result_string(ret), tries, oid_normalized); + } + } } while (0); break;