add Dell DRAC MIB, read DRAC hardware info, move humidity discovery to include_dir style, minor fixes

git-svn-id: http://www.observium.org/svn/observer/trunk@1392 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
Tom Laermans
2010-07-17 22:53:53 +00:00
parent 6baba81b49
commit ab28c90c3b
6 changed files with 1305 additions and 67 deletions

View File

@@ -292,5 +292,16 @@ function print_message($text)
echo('<table class="messagebox" cellpadding="3"><tr><td><img src="/images/16/tick.png" align="absmiddle">'.$text.'</td></tr></table>');
}
function devclass($device)
{
if (isset($device['status']) && $device['status'] == '0') { $class = "list-device-down"; } else { $class = "list-device"; }
if (isset($device['ignore']) && $device['ignore'] == '1') {
$class = "list-device-ignored";
if (isset($device['status']) && $device['status'] == '1') { $class = "list-device-ignored-up"; }
}
if (isset($device['disabled']) && $device['disabled'] == '1') { $class = "list-device-disabled"; }
return $class;
}
?>

View File

@@ -9,44 +9,7 @@ echo("Humidity : ");
$valid_humidity = array();
switch ($device['os'])
{
case "akcp":
case "minkelsrms":
$oids = snmp_walk($device, ".1.3.6.1.4.1.3854.1.2.2.1.16.1.4", "-Osqn", "");
if ($debug) { echo($oids."\n"); }
$oids = trim($oids);
if ($oids) echo("AKCP ");
foreach(explode("\n", $oids) as $data)
{
$data = trim($data);
if ($data)
{
list($oid,$status) = explode(" ", $data,2);
if ($status == 2) # 2 = normal, 0 = not connected
{
$split_oid = explode('.',$oid);
$humidity_id = $split_oid[count($split_oid)-1];
$descr_oid = ".1.3.6.1.4.1.3854.1.2.2.1.17.1.1.$humidity_id";
$humidity_oid = ".1.3.6.1.4.1.3854.1.2.2.1.17.1.3.$humidity_id";
$warnlimit_oid = ".1.3.6.1.4.1.3854.1.2.2.1.17.1.7.$humidity_id";
$limit_oid = ".1.3.6.1.4.1.3854.1.2.2.1.17.1.8.$humidity_id";
$warnlowlimit_oid = ".1.3.6.1.4.1.3854.1.2.2.1.17.1.9.$humidity_id";
$lowlimit_oid = ".1.3.6.1.4.1.3854.1.2.2.1.17.1.10.$humidity_id";
$descr = trim(snmp_get($device, $descr_oid, "-Oqv", ""),'"');
$humidity = snmp_get($device, $humidity_oid, "-Oqv", "");
$warnlimit = snmp_get($device, $warnlimit_oid, "-Oqv", "");
$limit = snmp_get($device, $limit_oid, "-Oqv", "");
$lowlimit = snmp_get($device, $lowlimit_oid, "-Oqv", "");
$warnlowlimit = snmp_get($device, $warnlowlimit_oid, "-Oqv", "");
discover_humidity($valid_humidity, $device, $humidity_oid, $humidity_id, "akcp", $descr, 1, $lowlimit, $warnlowlimit, $limit, $warnlimit, $humidity);
}
}
}
break;
}
include_dir("includes/discovery/humidity");
if($debug) { print_r($valid_humidity); }

View File

@@ -0,0 +1,42 @@
<?php
global $valid_humidity;
if ($device['os'] == 'akcp' || $device['os'] == 'minkelsrms')
{
$oids = snmp_walk($device, ".1.3.6.1.4.1.3854.1.2.2.1.16.1.4", "-Osqn", "");
if ($debug) { echo($oids."\n"); }
$oids = trim($oids);
if ($oids) echo("AKCP ");
foreach(explode("\n", $oids) as $data)
{
$data = trim($data);
if ($data)
{
list($oid,$status) = explode(" ", $data,2);
if ($status == 2) # 2 = normal, 0 = not connected
{
$split_oid = explode('.',$oid);
$humidity_id = $split_oid[count($split_oid)-1];
$descr_oid = ".1.3.6.1.4.1.3854.1.2.2.1.17.1.1.$humidity_id";
$humidity_oid = ".1.3.6.1.4.1.3854.1.2.2.1.17.1.3.$humidity_id";
$warnlimit_oid = ".1.3.6.1.4.1.3854.1.2.2.1.17.1.7.$humidity_id";
$limit_oid = ".1.3.6.1.4.1.3854.1.2.2.1.17.1.8.$humidity_id";
$warnlowlimit_oid = ".1.3.6.1.4.1.3854.1.2.2.1.17.1.9.$humidity_id";
$lowlimit_oid = ".1.3.6.1.4.1.3854.1.2.2.1.17.1.10.$humidity_id";
$descr = trim(snmp_get($device, $descr_oid, "-Oqv", ""),'"');
$humidity = snmp_get($device, $humidity_oid, "-Oqv", "");
$warnlimit = snmp_get($device, $warnlimit_oid, "-Oqv", "");
$limit = snmp_get($device, $limit_oid, "-Oqv", "");
$lowlimit = snmp_get($device, $lowlimit_oid, "-Oqv", "");
$warnlowlimit = snmp_get($device, $warnlowlimit_oid, "-Oqv", "");
discover_humidity($valid_humidity, $device, $humidity_oid, $humidity_id, "akcp", $descr, 1, $lowlimit, $warnlowlimit, $limit, $warnlimit, $humidity);
}
}
}
break;
}
?>

View File

@@ -4,28 +4,28 @@ global $valid_temp;
if ($device['os'] == "linux")
{
$oids = snmp_walk($device, "lmTempSensorsDevice", "-Osqn", "LM-SENSORS-MIB");
if ($debug) { echo($oids."\n"); }
$oids = trim($oids);
if ($oids) echo("LM-SENSORS ");
foreach(explode("\n", $oids) as $data)
$oids = snmp_walk($device, "lmTempSensorsDevice", "-Osqn", "LM-SENSORS-MIB");
if ($debug) { echo($oids."\n"); }
$oids = trim($oids);
if ($oids) echo("LM-SENSORS ");
foreach(explode("\n", $oids) as $data)
{
$data = trim($data);
if ($data)
{
$data = trim($data);
if ($data)
list($oid,$descr) = explode(" ", $data,2);
$split_oid = explode('.',$oid);
$temp_id = $split_oid[count($split_oid)-1];
$temp_oid = "1.3.6.1.4.1.2021.13.16.2.1.3.$temp_id";
$temp = snmp_get($device, $temp_oid, "-Ovq") / 1000;
$descr = str_ireplace("temp-", "", $descr);
$descr = trim($descr);
if($temp != "0" && $temp <= "1000")
{
list($oid,$descr) = explode(" ", $data,2);
$split_oid = explode('.',$oid);
$temp_id = $split_oid[count($split_oid)-1];
$temp_oid = "1.3.6.1.4.1.2021.13.16.2.1.3.$temp_id";
$temp = snmp_get($device, $temp_oid, "-Ovq") / 1000;
$descr = str_ireplace("temp-", "", $descr);
$descr = trim($descr);
if($temp != "0" && $temp <= "1000")
{
discover_temperature($valid_temp, $device, $temp_oid, $temp_id, "lmsensors", $descr, "1000", NULL, NULL, $temp);
}
discover_temperature($valid_temp, $device, $temp_oid, $temp_id, "lmsensors", $descr, "1000", NULL, NULL, $temp);
}
}
}
}
?>

View File

@@ -184,17 +184,6 @@ function device_traffic_image($device, $width, $height, $from, $to)
return "<img src='graph.php?device=" . $device . "&amp;type=device_bits&amp;from=" . $from . "&amp;to=" . $to . "&amp;width=" . $width . "&amp;height=" . $height . "&amp;legend=no' />";
}
function devclass($device)
{
if (isset($device['status']) && $device['status'] == '0') { $class = "list-device-down"; } else { $class = "list-device"; }
if (isset($device['ignore']) && $device['ignore'] == '1') {
$class = "list-device-ignored";
if (isset($device['status']) && $device['status'] == '1') { $class = "list-device-ignored-up"; }
}
if (isset($device['disabled']) && $device['disabled'] == '1') { $class = "list-device-disabled"; }
return $class;
}
function getImage($host)
{
global $config;

1233
mibs/DELL-RAC-MIB.mib Normal file
View File

File diff suppressed because it is too large Load Diff