From fe67f1e5a2db2cb9b1816ba843f9a4ab1235be71 Mon Sep 17 00:00:00 2001 From: Adam Amstrong Date: Thu, 10 May 2012 15:02:57 +0000 Subject: [PATCH] fix problem with snmp_get_multi git-svn-id: http://www.observium.org/svn/observer/trunk@3163 61d68cd4-352d-0410-923a-c4978735b2b8 --- includes/polling/system.inc.php | 3 ++- includes/snmp.inc.php | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/includes/polling/system.inc.php b/includes/polling/system.inc.php index ffdef2b25b..7db835c49b 100755 --- a/includes/polling/system.inc.php +++ b/includes/polling/system.inc.php @@ -14,7 +14,8 @@ unset($poll_device); $snmpdata = snmp_get_multi($device, "sysUpTime.0 sysLocation.0 sysContact.0 sysName.0", "-OQUs", "SNMPv2-MIB"); - foreach (array_keys($snmpdata[0]) as $key) { $poll_device[$key] = $snmpdata[0][$key]; } + print_r($snmpdata); + $poll_device = $snmpdata[0]; $poll_device['sysDescr'] = snmp_get($device, "sysDescr.0", "-Oqv", "SNMPv2-MIB"); $poll_device['sysObjectID'] = snmp_get($device, "sysObjectID.0", "-Oqvn", "SNMPv2-MIB"); diff --git a/includes/snmp.inc.php b/includes/snmp.inc.php index bc54d3a85c..84373b2d2b 100644 --- a/includes/snmp.inc.php +++ b/includes/snmp.inc.php @@ -53,7 +53,13 @@ function snmp_get_multi($device, $oids, $options = "-OQUs", $mib = NULL, $mibdir $runtime_stats['snmpget']++; foreach (explode("\n", $data) as $entry) { - $array[$index][$oid] = $value; + list($oid,$value) = explode("=", $entry); + $oid = trim($oid); $value = trim($value); + list($oid, $index) = explode(".", $oid); + if (!strstr($value, "at this OID") && isset($oid) && isset($index)) + { + $array[$index][$oid] = $value; + } } return $array;