Index: includes/definitions/mibs/waystream.inc.php =================================================================== --- includes/definitions/mibs/waystream.inc.php (revision 0) +++ includes/definitions/mibs/waystream.inc.php (working copy) @@ -0,0 +1,54 @@ + 'wsVersionString.0'); // WAYSTREAM-MIB::wsVersionString.0 = STRING: 6.1.9-ED-R + + +$config['mibs'][$mib]['sensor']['wsFantable']['tables'][] = array( + 'table' => 'wsFantable', + 'class' => 'fanspeed', + 'descr' => 'Fan %index%', + 'oid' => 'wsFanRPM', + 'oid_num' => '.1.3.6.1.4.1.9303.4.1.2.3.1.2', + 'mesured' => 'fan' +); + +$config['mibs'][$mib]['sensor']['wsTempTable']['tables'][] = array( + 'table' => 'wsTempTable', + 'class' => 'temperature', + 'descr' => 'Temp sensor %index%', + 'oid' => 'wsTempMeasured', + 'oid_num' => '.1.3.6.1.4.1.9303.4.1.2.1.1.2', + 'oid_limit_low' => 'wsTempThresholdLow', + 'oid_limit_high' => 'wsTempThresholdHigh', + 'scale' => 0.01 +); + +$config['mibs'][$mib]['status']['wsSFPTable']['tables'][] = array( + 'descr' => 'Port %index% SFP status', + 'oid' => 'wsSFPStatus', + 'oid_num' => '.1.3.6.1.4.1.9303.4.1.4.1.2', + 'measured' => 'port', + 'type' => 'wsSFPStatus' +); + +$type = 'wsSFPStatus'; +$config['mibs'][$mib]['states'][$type][0] = array('name' => 'ok', 'event' => 'ok'); +$config['mibs'][$mib]['states'][$type][1] = array('name' => 'missing', 'event' => 'exclude'); +$config['mibs'][$mib]['states'][$type][2] = array('name' => 'invalid', 'event' => 'alert'); + Index: includes/definitions/os.inc.php =================================================================== --- includes/definitions/os.inc.php (revision 9189) +++ includes/definitions/os.inc.php (working copy) @@ -3420,6 +3420,18 @@ $config['os'][$os]['sysDescr_regex'][] = '/(?[\w ]+?) +(?\d[\d\.]+) +\(build \S+\) +(?\w+)/'; $config['os'][$os]['mibs'][] = "PEAKFLOW-SP-MIB"; + +// Waystream +$os = "ibos"; +$config['os'][$os]['text'] = "Waystream iBOS"; +$config['os'][$os]['type'] = "network"; +$config['os'][$os]['vendor'] = "Waystream"; +$config['os'][$os]['sysObjectID'][] = ".1.3.6.1.4.1.9303.1"; +$config['os'][$os]['icon'] = "waystream"; +$config['os'][$os]['sysDescr_regex'][] = '/(?[^,]+), iBOS Version (?[^\s]+)/'; +$config['os'][$os]['mibs'][] = "WAYSTREAM-MIB"; + + // Broadcom /* Index: includes/discovery/sensors/waystream-mib.inc.php =================================================================== --- includes/discovery/sensors/waystream-mib.inc.php (revision 0) +++ includes/discovery/sensors/waystream-mib.inc.php (working copy) @@ -0,0 +1,55 @@ + $entry) +{ + $port = get_port_by_index_cache($device['device_id'], $index); + $options = array('wsSFPIndex' => $index); + if (is_array($port)) + { + $entry['ifDescr'] = $port['ifDescr']; + $options['measured_class'] = 'port'; + $options['measured_entity'] = $port['port_id']; + $options['wsSFPIndex_measured'] = $port['ifIndex']; + } else { + // Skip? + continue; + } + + $temperatureoid = '.1.3.6.1.4.1.9303.4.1.4.1.12.'.$index; + $voltageoid = '.1.3.6.1.4.1.9303.4.1.4.1.14.'.$index; + $rxpoweroid = '.1.3.6.1.4.1.9303.4.1.4.1.20.'.$index; + $txpoweroid = '.1.3.6.1.4.1.9303.4.1.4.1.18.'.$index; + + //Ignore optical sensors with temperature of zero or negative + if ($entry['wsSFPTemp'] > 1) + { + discover_sensor($valid['sensor'], 'temperature', $device, $temperatureoid, $index, 'waystream', $entry['ifDescr'] . ' Temperature', 1, $entry['wsSFPTemp'], $options); + discover_sensor($valid['sensor'], 'voltage', $device, $voltageoid, $index, 'waystream', $entry['ifDescr'] . ' Voltage', 0.001, $entry['wsSFPVolt'], $options); + + if ($entry['wsSFPRXPower'] >= 0) + { + discover_sensor($valid['sensor'], 'power', $device, $rxpoweroid, 'wsSFPRXPower.' . $index, 'waystream', $entry['ifDescr'] . ' Rx Power', 0.001, $entry['wsSFPRXPower'], $options); + discover_sensor($valid['sensor'], 'power', $device, $txpoweroid, 'wsSFPTXPower.' . $index, 'waystream', $entry['ifDescr'] . ' Tx Power', 0.001, $entry['wsSFPTXPower'], $options); + } + } + +} + +unset($entity_array); + +// EOF +