mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Merge pull request #894 from Rosiak/master
Add temp polling for IBM Flexsystem switches
This commit is contained in:
26
includes/discovery/temperatures/ibmnos.inc.php
Normal file
26
includes/discovery/temperatures/ibmnos.inc.php
Normal 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 !== FALSE) {
|
||||
$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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -17,6 +17,10 @@ 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);
|
||||
if (!empty($temp_response[0])) {
|
||||
$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
|
||||
|
||||
Reference in New Issue
Block a user