mirror of
https://github.com/librenms/librenms.git
synced 2024-09-28 22:06:25 +00:00
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:
parent
d8da8d4212
commit
94381f9d4f
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) {
|
||||
$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,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
|
||||
|
Loading…
Reference in New Issue
Block a user