fix snmp retries/timeout typo, fix division by zero with broken mempools and don't discard lm-sensors fans faster than 500rpm - found by Corentin Chary

git-svn-id: http://www.observium.org/svn/observer/trunk@1779 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
Tom Laermans
2011-03-02 15:03:05 +00:00
parent 44b02603a3
commit b4fcb6eb5d
3 changed files with 21 additions and 13 deletions

View File

@@ -20,7 +20,7 @@ if ($device['os'] == "linux")
$oid = "1.3.6.1.4.1.2021.13.16.3.1.3.". $index;
$current = snmp_get($device, $oid, "-Oqv", "LM-SENSORS-MIB");
$descr = trim(str_ireplace("fan-", "", $descr));
if($current > '0' && $current < '500') {
if($current > '0') {
discover_sensor($valid_sensor, 'fanspeed', $device, $oid, $index, 'lmsensors', $descr, '1', '1', NULL, NULL, NULL, NULL, $current);
}
}

View File

@@ -34,7 +34,14 @@ while($mempool = mysql_fetch_array($mempool_data)) {
### Do we need a generic mempool poller?
}
$percent = round($mempool['used'] / $mempool['total'] * 100, 2);
if ($mempool['total'])
{
$percent = round($mempool['used'] / $mempool['total'] * 100, 2);
}
else
{
$percent = 0;
}
echo($percent."% ");

View File

@@ -70,10 +70,11 @@ function snmp_get_multi($device, $oids, $options = "-OQUs", $mib = NULL, $mibdir
return $array;
}
function snmp_get($device, $oid, $options = NULL, $mib = NULL, $mibdir = NULL) {
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'])) { $timeout = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $timeout = $config['snmp']['retries']; }
if (is_numeric($device['retries'])) { $timeout = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $retries = $config['snmp']['retries']; }
if ($config['snmp']['internal'] == true)
{
if ($mib && $mibdir && !$mibs_loaded[$mib])
@@ -115,7 +116,7 @@ function snmp_get($device, $oid, $options = NULL, $mib = NULL, $mibdir = NULL) {
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'])) { $timeout = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $timeout = $config['snmp']['retries']; }
if (is_numeric($device['retries'])) { $timeout = $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']) {
$snmpcommand = $config['snmpwalk'];
@@ -153,7 +154,7 @@ function snmp_walk($device, $oid, $options = NULL, $mib = NULL, $mibdir = NULL)
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'])) { $timeout = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $timeout = $config['snmp']['retries']; }
if (is_numeric($device['retries'])) { $timeout = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $retries = $config['snmp']['retries']; }
if ($device['snmpver'] == 'v1' || $config['os'][$device['os']]['nobulk']) {
$snmpcommand = $config['snmpwalk'];
}
@@ -195,7 +196,7 @@ function snmp_cache_ifIndex($device)
{
global $config;
if (is_numeric($device['timeout'])) { $timeout = $device['timeout']; } elseif (isset($config['snmp']['timeout'])) { $timeout = $config['snmp']['timeout']; }
if (is_numeric($device['retries'])) { $timeout = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $timeout = $config['snmp']['retries']; }
if (is_numeric($device['retries'])) { $timeout = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $retries = $config['snmp']['retries']; }
if ($device['snmpver'] == 'v1' || $config['os'][$device['os']]['nobulk'])
{
$snmpcommand = $config['snmpwalk'];
@@ -306,7 +307,7 @@ 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'])) { $timeout = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $timeout = $config['snmp']['retries']; }
if (is_numeric($device['retries'])) { $timeout = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $retries = $config['snmp']['retries']; }
if ($device['snmpver'] == 'v1' || $config['os'][$device['os']]['nobulk'])
{
$snmpcommand = $config['snmpwalk'];
@@ -338,7 +339,7 @@ function snmpwalk_cache_twopart_oid($device, $oid, $array, $mib = 0)
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'])) { $timeout = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $timeout = $config['snmp']['retries']; }
if (is_numeric($device['retries'])) { $timeout = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $retries = $config['snmp']['retries']; }
if ($device['snmpver'] == 'v1' || $config['os'][$device['os']]['nobulk'])
{
$snmpcommand = $config['snmpwalk'];
@@ -371,7 +372,7 @@ function snmpwalk_cache_threepart_oid($device, $oid, $array, $mib = 0) {
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'])) { $timeout = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $timeout = $config['snmp']['retries']; }
if (is_numeric($device['retries'])) { $timeout = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $retries = $config['snmp']['retries']; }
if ($device['snmpver'] == 'v1' || $config['os'][$device['os']]['nobulk'])
{
$snmpcommand = $config['snmpwalk'];
@@ -411,7 +412,7 @@ function snmp_cache_oid($oid, $device, $array, $mib = 0)
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'])) { $timeout = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $timeout = $config['snmp']['retries']; }
if (is_numeric($device['retries'])) { $timeout = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $retries = $config['snmp']['retries']; }
foreach($oids as $oid){
$string .= " $oid.$port";
}
@@ -439,7 +440,7 @@ function snmp_cache_port_oids($oids, $port, $device, $array, $mib=0) {
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'])) { $timeout = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $timeout = $config['snmp']['retries']; }
if (is_numeric($device['retries'])) { $timeout = $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/";
if (isset($timeout)) { $cmd .= " -t " . $timeout; }
@@ -461,7 +462,7 @@ function snmp_cache_portIfIndex ($device, $array) {
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'])) { $timeout = $device['retries']; } elseif (isset($config['snmp']['retries'])) { $timeout = $config['snmp']['retries']; }
if (is_numeric($device['retries'])) { $timeout = $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/";
if (isset($timeout)) { $cmd .= " -t " . $timeout; }