From 36e95e0c5ae0408aec654f66c3e8ce94a8f08d1e Mon Sep 17 00:00:00 2001 From: Adam Amstrong Date: Sat, 12 Mar 2011 11:32:02 +0000 Subject: [PATCH] ignore timeout/retries if timeout/retries == 0 git-svn-id: http://www.observium.org/svn/observer/trunk@1825 61d68cd4-352d-0410-923a-c4978735b2b8 --- includes/snmp.inc.php | 143 +++++++++++++++++++++++++++++++++++------- includes/syslog.php | 4 ++ 2 files changed, 125 insertions(+), 22 deletions(-) diff --git a/includes/snmp.inc.php b/includes/snmp.inc.php index 39a2eb3342..7e2e3db6c4 100644 --- a/includes/snmp.inc.php +++ b/includes/snmp.inc.php @@ -4,8 +4,17 @@ function snmp_get_multi($device, $oids, $options = "-OQUs", $mib = NULL, $mibdir { global $debug,$config,$runtime_stats,$mibs_loaded; - if (is_numeric($device['timeout'])) { $timeout = $device['timeout']; } elseif (isset($config['snmp']['timeout'])) { $timeout = $config['snmp']['timeout']; } - if (is_numeric($device['retries'])) { $retries = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $retries = $config['snmp']['retries']; } + if (is_numeric($device['timeout']) && $device['timeout'] > 0) { + $timeout = $device['timeout']; + } elseif (isset($config['snmp']['timeout'])) { + $timeout = $config['snmp']['timeout']; + } + + if (is_numeric($device['retries']) && $device['retries'] > 0) { + $retries = $device['retries']; + } elseif (isset($config['snmp']['retries'])) { + $retries = $config['snmp']['retries']; + } if ($config['snmp']['internal'] == true) { @@ -69,8 +78,17 @@ function snmp_get($device, $oid, $options = NULL, $mib = NULL, $mibdir = NULL) { global $debug,$config,$runtime_stats,$mibs_loaded; - if (is_numeric($device['timeout'])) { $timeout = $device['timeout']; } elseif (isset($config['snmp']['timeout'])) { $timeout = $config['snmp']['timeout']; } - if (is_numeric($device['retries'])) { $retries = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $retries = $config['snmp']['retries']; } + if (is_numeric($device['timeout']) && $device['timeout'] > 0) { + $timeout = $device['timeout']; + } elseif (isset($config['snmp']['timeout'])) { + $timeout = $config['snmp']['timeout']; + } + + if (is_numeric($device['retries']) && $device['retries'] > 0) { + $retries = $device['retries']; + } elseif (isset($config['snmp']['retries'])) { + $retries = $config['snmp']['retries']; + } if (strstr($oid,' ')) { @@ -125,8 +143,17 @@ function snmp_walk($device, $oid, $options = NULL, $mib = NULL, $mibdir = NULL) { global $debug,$config,$runtime_stats; - if (is_numeric($device['timeout'])) { $timeout = $device['timeout']; } elseif (isset($config['snmp']['timeout'])) { $timeout = $config['snmp']['timeout']; } - if (is_numeric($device['retries'])) { $retries = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $retries = $config['snmp']['retries']; } + if (is_numeric($device['timeout']) && $device['timeout'] > 0) { + $timeout = $device['timeout']; + } elseif (isset($config['snmp']['timeout'])) { + $timeout = $config['snmp']['timeout']; + } + + if (is_numeric($device['retries']) && $device['retries'] > 0) { + $retries = $device['retries']; + } elseif (isset($config['snmp']['retries'])) { + $retries = $config['snmp']['retries']; + } // php has no bulkwalk functionality, so use binary for this. if ($device['snmpver'] == 'v1' || $config['os'][$device['os']]['nobulk']) @@ -173,8 +200,17 @@ function snmpwalk_cache_cip($device, $oid, $array, $mib = 0) { global $config; - if (is_numeric($device['timeout'])) { $timeout = $device['timeout']; } elseif (isset($config['snmp']['timeout'])) { $timeout = $config['snmp']['timeout']; } - if (is_numeric($device['retries'])) { $retries = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $retries = $config['snmp']['retries']; } + if (is_numeric($device['timeout']) && $device['timeout'] > 0) { + $timeout = $device['timeout']; + } elseif (isset($config['snmp']['timeout'])) { + $timeout = $config['snmp']['timeout']; + } + + if (is_numeric($device['retries']) && $device['retries'] > 0) { + $retries = $device['retries']; + } elseif (isset($config['snmp']['retries'])) { + $retries = $config['snmp']['retries']; + } if ($device['snmpver'] == 'v1' || $config['os'][$device['os']]['nobulk']) { @@ -227,8 +263,17 @@ function snmp_cache_ifIndex($device) // FIXME: this has no internal version, and is not yet using our own snmp_* global $config; - if (is_numeric($device['timeout'])) { $timeout = $device['timeout']; } elseif (isset($config['snmp']['timeout'])) { $timeout = $config['snmp']['timeout']; } - if (is_numeric($device['retries'])) { $retries = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $retries = $config['snmp']['retries']; } + if (is_numeric($device['timeout']) && $device['timeout'] > 0) { + $timeout = $device['timeout']; + } elseif (isset($config['snmp']['timeout'])) { + $timeout = $config['snmp']['timeout']; + } + + if (is_numeric($device['retries']) && $device['retries'] > 0) { + $retries = $device['retries']; + } elseif (isset($config['snmp']['retries'])) { + $retries = $config['snmp']['retries']; + } if ($device['snmpver'] == 'v1' || $config['os'][$device['os']]['nobulk']) { @@ -355,8 +400,17 @@ function snmpwalk_cache_twopart_oid($device, $oid, $array, $mib = 0) { global $config; - if (is_numeric($device['timeout'])) { $timeout = $device['timeout']; } elseif (isset($config['snmp']['timeout'])) { $timeout = $config['snmp']['timeout']; } - if (is_numeric($device['retries'])) { $retries = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $retries = $config['snmp']['retries']; } + if (is_numeric($device['timeout']) && $device['timeout'] > 0) { + $timeout = $device['timeout']; + } elseif (isset($config['snmp']['timeout'])) { + $timeout = $config['snmp']['timeout']; + } + + if (is_numeric($device['retries']) && $device['retries'] > 0) { + $retries = $device['retries']; + } elseif (isset($config['snmp']['retries'])) { + $retries = $config['snmp']['retries']; + } if ($device['snmpver'] == 'v1' || $config['os'][$device['os']]['nobulk']) { @@ -393,8 +447,17 @@ function snmpwalk_cache_threepart_oid($device, $oid, $array, $mib = 0) { global $config, $debug; - if (is_numeric($device['timeout'])) { $timeout = $device['timeout']; } elseif (isset($config['snmp']['timeout'])) { $timeout = $config['snmp']['timeout']; } - if (is_numeric($device['retries'])) { $retries = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $retries = $config['snmp']['retries']; } + if (is_numeric($device['timeout']) && $device['timeout'] > 0) { + $timeout = $device['timeout']; + } elseif (isset($config['snmp']['timeout'])) { + $timeout = $config['snmp']['timeout']; + } + + if (is_numeric($device['retries']) && $device['retries'] > 0) { + $retries = $device['retries']; + } elseif (isset($config['snmp']['retries'])) { + $retries = $config['snmp']['retries']; + } if ($device['snmpver'] == 'v1' || $config['os'][$device['os']]['nobulk']) { @@ -434,8 +497,17 @@ function snmp_cache_slotport_oid($oid, $device, $array, $mib = 0) { global $config; - if (is_numeric($device['timeout'])) { $timeout = $device['timeout']; } elseif (isset($config['snmp']['timeout'])) { $timeout = $config['snmp']['timeout']; } - if (is_numeric($device['retries'])) { $retries = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $retries = $config['snmp']['retries']; } + if (is_numeric($device['timeout']) && $device['timeout'] > 0) { + $timeout = $device['timeout']; + } elseif (isset($config['snmp']['timeout'])) { + $timeout = $config['snmp']['timeout']; + } + + if (is_numeric($device['retries']) && $device['retries'] > 0) { + $retries = $device['retries']; + } elseif (isset($config['snmp']['retries'])) { + $retries = $config['snmp']['retries']; + } if ($device['snmpver'] == 'v1' || $config['os'][$device['os']]['nobulk']) { @@ -481,8 +553,17 @@ function snmp_cache_port_oids($oids, $port, $device, $array, $mib=0) { global $config; - if (is_numeric($device['timeout'])) { $timeout = $device['timeout']; } elseif (isset($config['snmp']['timeout'])) { $timeout = $config['snmp']['timeout']; } - if (is_numeric($device['retries'])) { $retries = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $retries = $config['snmp']['retries']; } + if (is_numeric($device['timeout']) && $device['timeout'] > 0) { + $timeout = $device['timeout']; + } elseif (isset($config['snmp']['timeout'])) { + $timeout = $config['snmp']['timeout']; + } + + if (is_numeric($device['retries']) && $device['retries'] > 0) { + $retries = $device['retries']; + } elseif (isset($config['snmp']['retries'])) { + $retries = $config['snmp']['retries']; + } foreach($oids as $oid) { @@ -515,8 +596,17 @@ function snmp_cache_portIfIndex($device, $array) { global $config; - if (is_numeric($device['timeout'])) { $timeout = $device['timeout']; } elseif (isset($config['snmp']['timeout'])) { $timeout = $config['snmp']['timeout']; } - if (is_numeric($device['retries'])) { $retries = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $retries = $config['snmp']['retries']; } + if (is_numeric($device['timeout']) && $device['timeout'] > 0) { + $timeout = $device['timeout']; + } elseif (isset($config['snmp']['timeout'])) { + $timeout = $config['snmp']['timeout']; + } + + if (is_numeric($device['retries']) && $device['retries'] > 0) { + $retries = $device['retries']; + } elseif (isset($config['snmp']['retries'])) { + $retries = $config['snmp']['retries']; + } $cmd = $config['snmpwalk'] . " -CI -m CISCO-STACK-MIB -O q -" . $device['snmpver'] . " -c " . $device['community'] . " "; $cmd .= " -M ".$config['install_dir']."/mibs/"; @@ -543,8 +633,17 @@ function snmp_cache_portName($device, $array) { global $config; - if (is_numeric($device['timeout'])) { $timeout = $device['timeout']; } elseif (isset($config['snmp']['timeout'])) { $timeout = $config['snmp']['timeout']; } - if (is_numeric($device['retries'])) { $retries = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $retries = $config['snmp']['retries']; } + if (is_numeric($device['timeout']) && $device['timeout'] > 0) { + $timeout = $device['timeout']; + } elseif (isset($config['snmp']['timeout'])) { + $timeout = $config['snmp']['timeout']; + } + + if (is_numeric($device['retries']) && $device['retries'] > 0) { + $retries = $device['retries']; + } elseif (isset($config['snmp']['retries'])) { + $retries = $config['snmp']['retries']; + } $cmd = $config['snmpwalk'] . " -CI -m CISCO-STACK-MIB -O Qs -" . $device['snmpver'] . " -c " . $device['community'] . " "; $cmd .= " -M ".$config['install_dir']."/mibs/"; diff --git a/includes/syslog.php b/includes/syslog.php index 58399dbdd5..0bda0ff332 100755 --- a/includes/syslog.php +++ b/includes/syslog.php @@ -12,6 +12,10 @@ function process_syslog ($entry, $update) } } + if(strstr($entry['msg'], "diskio.c: don't know how to handle") !== FALSE) { + $delete = 1; + } + $device_id_host = @mysql_result(mysql_query("SELECT device_id FROM devices WHERE `hostname` = '".$entry['host']."' OR `sysName` = '".$entry['host']."'"),0); if($device_id_host)