Observium_CE/includes/discovery/sensors/wwp-leos-port-xcvr-mib.inc.php

109 lines
6.2 KiB
PHP

<?php
/**
* Observium
*
* This file is part of Observium.
*
* @package observium
* @subpackage discovery
* @copyright (C) Adam Armstrong
*
*/
echo(" (Bias) ");
$oids = snmpwalk_cache_oid($device, "wwpLeosPortXcvrBias", [], "WWP-LEOS-PORT-XCVR-MIB", mib_dirs(['wwp', 'ciena']));
$oids = snmpwalk_cache_oid($device, "wwpLeosPortXcvrHighBiasAlarmThreshold", $oids, "WWP-LEOS-PORT-XCVR-MIB", mib_dirs(['wwp', 'ciena']));
$oids = snmpwalk_cache_oid($device, "wwpLeosPortXcvrLowBiasAlarmThreshold", $oids, "WWP-LEOS-PORT-XCVR-MIB", mib_dirs(['wwp', 'ciena']));
foreach ($oids as $index => $entry) {
$entry['descr'] = dbFetchCell("SELECT `ifDescr` FROM `ports` WHERE `device_id` = ? AND `ifName` = ?", [$device['device_id'], $index]) . " Bias mA";
$entry['oid'] = ".1.3.6.1.4.1.6141.2.60.4.1.1.1.1.18." . $index;
$entry['current'] = $entry['wwpLeosPortXcvrBias'];
$options = ['limit_high' => $entry['wwpLeosPortXcvrHighBiasAlarmThreshold'],
'limit_low' => $entry['wwpLeosPortXcvrLowBiasAlarmThreshold'],
'entPhysicalIndex' => $index];
discover_sensor('current', $device, $entry['oid'], $index, 'ciena-dom', $entry['descr'], 1, $entry['current'], $options);
}
# WWP-LEOS-PORT-XCVR-MIB::wwpLeosPortXcvrRxDbmPower.11 = INTEGER: -10679 dBm
echo(" (RX) ");
$oids = snmpwalk_cache_oid($device, "wwpLeosPortXcvrRxDbmPower", [], "WWP-LEOS-PORT-XCVR-MIB", mib_dirs(['wwp', 'ciena']));
$oids = snmpwalk_cache_oid($device, "wwpLeosPortXcvrHighRxDbmPwAlarmThreshold", $oids, "WWP-LEOS-PORT-XCVR-MIB", mib_dirs(['wwp', 'ciena']));
$oids = snmpwalk_cache_oid($device, "wwpLeosPortXcvrLowRxDbmPwAlarmThreshold", $oids, "WWP-LEOS-PORT-XCVR-MIB", mib_dirs(['wwp', 'ciena']));
$scale = 0.0001;
foreach ($oids as $index => $entry) {
$entry['descr'] = dbFetchCell("SELECT ifDescr FROM `ports` WHERE `device_id` = ? AND `ifName` = ?", [$device['device_id'], $index]) . " Rx power";
$entry['oid'] = ".1.3.6.1.4.1.6141.2.60.4.1.1.1.1.105." . $index;
$entry['current'] = $entry['wwpLeosPortXcvrRxDbmPower'];
$options = ['limit_high' => $entry['wwpLeosPortXcvrHighRxDbmPwAlarmThreshold'] * $scale,
'limit_low' => $entry['wwpLeosPortXcvrLowRxDbmPwAlarmThreshold'] * $scale,
'entPhysicalIndex' => $index];
discover_sensor('dbm', $device, $entry['oid'], $index, 'ciena-dom-rx', $entry['descr'], $scale, $entry['current'], $options);
}
# WWP-LEOS-PORT-XCVR-MIB::wwpLeosPortXcvrTxDbmPower.11 = INTEGER: -10679 dBm
echo(" (TX) ");
$oids = snmpwalk_cache_oid($device, "wwpLeosPortXcvrTxDbmPower", [], "WWP-LEOS-PORT-XCVR-MIB", mib_dirs(['wwp', 'ciena']));
$oids = snmpwalk_cache_oid($device, "wwpLeosPortXcvrHighTxDbmPwAlarmThreshold", $oids, "WWP-LEOS-PORT-XCVR-MIB", mib_dirs(['wwp', 'ciena']));
$oids = snmpwalk_cache_oid($device, "wwpLeosPortXcvrLowTxDbmPwAlarmThreshold", $oids, "WWP-LEOS-PORT-XCVR-MIB", mib_dirs(['wwp', 'ciena']));
$scale = 0.0001;
foreach ($oids as $index => $entry) {
$entry['descr'] = dbFetchCell("SELECT `ifDescr` FROM `ports` WHERE `device_id` = ? AND `ifName` = ?", [$device['device_id'], $index]) . " Tx power";
$entry['oid'] = ".1.3.6.1.4.1.6141.2.60.4.1.1.1.1.106." . $index;
$entry['current'] = $entry['wwpLeosPortXcvrTxDbmPower'];
$options = ['limit_high' => $entry['wwpLeosPortXcvrHighTxDbmPwAlarmThreshold'] * $scale,
'limit_low' => $entry['wwpLeosPortXcvrLowTxDbmPwAlarmThreshold'] * $scale,
'entPhysicalIndex' => $index];
discover_sensor('dbm', $device, $entry['oid'], $index, 'ciena-dom-tx', $entry['descr'], $scale, $entry['current'], $options);
}
# WWP-LEOS-PORT-XCVR-MIB::wwpLeosPortXcvrTemperature (Transceiver temp)
# WWP-LEOS-PORT-XCVR-MIB::wwpLeosPortXcvrHighTempAlarmThreshold
# WWP-LEOS-PORT-XCVR-MIB::wwpLeosPortXcvrLowTempAlarmThreshold
echo(" (Temp) ");
$oids = snmpwalk_cache_oid($device, "wwpLeosPortXcvrTemperature", [], "WWP-LEOS-PORT-XCVR-MIB", mib_dirs(['wwp', 'ciena']));
$oids = snmpwalk_cache_oid($device, "wwpLeosPortXcvrHighTempAlarmThreshold", $oids, "WWP-LEOS-PORT-XCVR-MIB", mib_dirs(['wwp', 'ciena']));
$oids = snmpwalk_cache_oid($device, "wwpLeosPortXcvrLowTempAlarmThreshold", $oids, "WWP-LEOS-PORT-XCVR-MIB", mib_dirs(['wwp', 'ciena']));
foreach ($oids as $index => $entry) {
$entry['descr'] = dbFetchCell("SELECT `ifDescr` FROM `ports` WHERE `device_id` = ? AND `ifName` = ?", [$device['device_id'], $index]) . " DegC";
$entry['oid'] = ".1.3.6.1.4.1.6141.2.60.4.1.1.1.1.16." . $index;
$entry['current'] = $entry['wwpLeosPortXcvrTemperature'];
$options = ['limit_high' => $entry['wwpLeosPortXcvrHighTempAlarmThreshold'],
'limit_low' => $entry['wwpLeosPortXcvrLowTempAlarmThreshold'],
'entPhysicalIndex' => $index];
discover_sensor('temperature', $device, $entry['oid'], $index, 'ciena-dom-temp', $entry['descr'], 1, $entry['current'], $options);
}
# WWP-LEOS-PORT-XCVR-MIB::wwpLeosPortXcvrHighVccAlarmThreshold
# WWP-LEOS-PORT-XCVR-MIB::wwpLeosPortXcvrLowVccAlarmThreshold
# WWP-LEOS-PORT-XCVR-MIB::wwpLeosPortXcvrVcc
echo(" (Vcc) ");
$oids = snmpwalk_cache_oid($device, "wwpLeosPortXcvrVcc", [], "WWP-LEOS-PORT-XCVR-MIB", mib_dirs(['wwp', 'ciena']));
$oids = snmpwalk_cache_oid($device, "wwpLeosPortXcvrHighVccAlarmThreshold", $oids, "WWP-LEOS-PORT-XCVR-MIB", mib_dirs(['wwp', 'ciena']));
$oids = snmpwalk_cache_oid($device, "wwpLeosPortXcvrLowVccAlarmThreshold", $oids, "WWP-LEOS-PORT-XCVR-MIB", mib_dirs(['wwp', 'ciena']));
foreach ($oids as $index => $entry) {
$entry['descr'] = dbFetchCell("SELECT ifDescr FROM `ports` WHERE `device_id` = ? AND `ifName` = ?", [$device['device_id'], $index]) . " Volts";
$entry['oid'] = ".1.3.6.1.4.1.6141.2.60.4.1.1.1.1.17." . $index;
$entry['current'] = $entry['wwpLeosPortXcvrVcc'];
$options = ['limit_high' => $entry['wwpLeosPortXcvrHighVccAlarmThreshold'],
'limit_low' => $entry['wwpLeosPortXcvrLowVccAlarmThreshold'],
'entPhysicalIndex' => $index];
discover_sensor('voltage', $device, $entry['oid'], $index, 'ciena-dom-volt', $entry['descr'], 1, $entry['current'], $options);
}
// EOF