some devices bork the query on hrSystemUptime, do a separate query now (hello netman plus)

git-svn-id: http://www.observium.org/svn/observer/trunk@1204 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
Tom Laermans
2010-06-18 14:31:25 +00:00
parent e744bc3057
commit 9db71c6ea0
+8 -7
View File
@@ -86,12 +86,13 @@ while ($device = mysql_fetch_array($device_query)) {
if ($status == "1") if ($status == "1")
{ {
$snmp_cmd = $config['snmpget'] . " -m SNMPv2-MIB -O qv -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port']; $snmp_cmd = $config['snmpget'] . " -m SNMPv2-MIB -O qv -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'];
$snmp_cmd .= " sysUpTime.0 sysLocation.0 sysContact.0 sysName.0 HOST-RESOURCES-MIB::hrSystemUptime.0"; $snmp_cmd .= " sysUpTime.0 sysLocation.0 sysContact.0 sysName.0";
$snmpdata = shell_exec($snmp_cmd); $snmpdata = str_replace('"','',trim(shell_exec($snmp_cmd)));
#$snmpdata = preg_replace("/^.*IOS/","", $snmpdata); list($sysUptime, $sysLocation, $sysContact, $sysName) = explode("\n", $snmpdata);
$snmpdata = trim($snmpdata); $snmp_cmd = $config['snmpget'] . " -m SNMPv2-MIB -O qv -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'];
$snmpdata = str_replace("\"", "", $snmpdata); $snmp_cmd .= " HOST-RESOURCES-MIB::hrSystemUptime.0";
list($sysUptime, $sysLocation, $sysContact, $sysName, $hrSystemUptime) = explode("\n", $snmpdata); $snmpdata = str_replace('"','',trim(shell_exec($snmp_cmd)));
list($hrSystemUptime) = explode("\n", $snmpdata);
$sysDescr = trim(shell_exec($config['snmpget'] . " -m SNMPv2-MIB -O qv -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " sysDescr.0")); $sysDescr = trim(shell_exec($config['snmpget'] . " -m SNMPv2-MIB -O qv -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " sysDescr.0"));
$sysName = strtolower($sysName); $sysName = strtolower($sysName);
@@ -108,7 +109,7 @@ while ($device = mysql_fetch_array($device_query)) {
$uptime = $secs; $uptime = $secs;
if ($device['os'] == "windows") { $uptime /= 10; } if ($device['os'] == "windows") { $uptime /= 10; }
} }
else else
{ {
#SNMPv2-MIB::sysUpTime.0 = Timeticks: (2542831) 7:03:48.31 #SNMPv2-MIB::sysUpTime.0 = Timeticks: (2542831) 7:03:48.31
$sysUptime = str_replace("(", "", $sysUptime); $sysUptime = str_replace("(", "", $sysUptime);