Add temp polling for IBM Flexsystem switches

- Able to poll temps from IBM Flexsystem switches
- Convert temp response to digit
This commit is contained in:
Rosiak 2015-05-01 17:46:58 +02:00
parent d8da8d4212
commit 94381f9d4f
2 changed files with 28 additions and 0 deletions

View File

@ -0,0 +1,26 @@
<?php
if (strstr($device['sysDescr'], "IBM Flex System Fabric")) {
$check_oids = snmp_get($device, ".1.3.6.1.4.1.20301.2.5.1.3.1.22.0", "-OsqnU", "");
if ($check_oids) {
$index = 0;
echo("IBM Flex System Fabric ");
$temps = array();
$temps['1.3.6.1.4.1.20301.2.5.1.3.1.22.0'] = "Temperature Sensor 1";
$temps['1.3.6.1.4.1.20301.2.5.1.3.1.23.0'] = "Temperature Sensor 2";
$temps['1.3.6.1.4.1.20301.2.5.1.3.1.26.0'] = "Temperature Sensor 3";
$temps['1.3.6.1.4.1.20301.2.5.1.3.1.27.0'] = "Temperature Sensor 4";
if (strstr($device['hardware'], "EN4093R 10Gb Scalable Switch")) {
$temps['1.3.6.1.4.1.20301.2.5.1.3.1.36.0'] = "Temperature Sensor 5";
}
foreach ($temps as $obj => $descr) {
$oids = snmp_get($device, $obj, "-OsqnU", "");
list(,$current) = explode(' ',$oids);
$index = $obj;
$divisor = "1";
$multiplier = "1";
$type = "ibmnos";
discover_sensor($valid['sensor'], 'temperature', $device, $obj, $index, $type, $descr, $divisor, $multiplier, NULL, NULL, NULL, NULL, $current);
}
}
}

View File

@ -17,6 +17,8 @@ function poll_sensor($device, $class, $unit)
{
if ($debug) echo("Attempt $i ");
$sensor_value = trim(str_replace("\"", "", snmp_get($device, $sensor['sensor_oid'], "-OUqnv", "SNMPv2-MIB")));
preg_match("/[\d\.]+/",$sensor_value,$temp_response);
$sensor_value = $temp_response[0];
if (is_numeric($sensor_value) && $sensor_value != 9999) break; # TME sometimes sends 999.9 when it is right in the middle of an update;
sleep(1); # Give the TME some time to reset