mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
97 lines
3.0 KiB
PHP
97 lines
3.0 KiB
PHP
|
<?php
|
||
|
|
||
|
$features = explode(' ', $device[features]);
|
||
|
$num_radios = $features[0];
|
||
|
|
||
|
$mib_oids = array();
|
||
|
|
||
|
$radioNumber = 0;
|
||
|
$ifIndex = 0;
|
||
|
$ifIndex_array = array();
|
||
|
$ifIndex_array = explode("\n", snmp_walk($device, "ifIndex", "-Oqv", "IF-MIB"));
|
||
|
|
||
|
$snmp_get_oids = "";
|
||
|
foreach ($ifIndex_array as $ifIndex) {
|
||
|
$snmp_get_oids .= "ifDescr.$ifIndex ifName.$ifIndex ";
|
||
|
}
|
||
|
|
||
|
$ifDescr_array = array();
|
||
|
$ifDescr_array = snmp_get_multi($device, $snmp_get_oids, '-OQU', 'IF-MIB');
|
||
|
d_echo($ifDescr_array);
|
||
|
foreach ($ifIndex_array as $ifIndex) {
|
||
|
d_echo("\$ifDescr_array[$ifIndex]['IF-MIB::ifDescr'] = " . $ifDescr_array[$ifIndex]['IF-MIB::ifDescr'] . "\n");
|
||
|
$ifDescr = $ifDescr_array[$ifIndex]['IF-MIB::ifDescr'];
|
||
|
d_echo("\$ifDescr_array[$ifIndex]['IF-MIB::ifName'] = " . $ifDescr_array[$ifIndex]['IF-MIB::ifName'] . "\n");
|
||
|
$ifName = $ifDescr_array[$ifIndex]['IF-MIB::ifName'];
|
||
|
if (stristr($ifDescr, "Radio")) {
|
||
|
$radioNumber = $radioNumber+1;
|
||
|
|
||
|
$mib_oids["genEquipRfuStatusRxLevel.$ifIndex"] = array(
|
||
|
"",
|
||
|
"radio".$radioNumber."RxLevel",
|
||
|
$ifName." RX Level",
|
||
|
"GAUGE",
|
||
|
);
|
||
|
$mib_oids["genEquipRfuStatusTxLevel.$ifIndex"] = array(
|
||
|
"",
|
||
|
"radio".$radioNumber."TxPower",
|
||
|
$ifName." TX Power",
|
||
|
"GAUGE",
|
||
|
);
|
||
|
$mib_oids["genEquipRadioStatusMSE.$ifIndex"] = array(
|
||
|
"",
|
||
|
"radio".$radioNumber."MSE",
|
||
|
$ifName." MSE",
|
||
|
"GAUGE",
|
||
|
);
|
||
|
if ($num_radios > 1) {
|
||
|
$mib_oids["genEquipRadioStatusXPI.$ifIndex"] = array(
|
||
|
"",
|
||
|
"radio".$radioNumber."XPI",
|
||
|
$ifName." Cross Polarisation Interference",
|
||
|
"GAUGE",
|
||
|
);
|
||
|
}
|
||
|
$mib_oids["genEquipRadioStatusDefectedBlocks.$ifIndex"] = array(
|
||
|
"",
|
||
|
"radio".$radioNumber."DefectedBlocks",
|
||
|
$ifName." Defected Blocks",
|
||
|
"GAUGE",
|
||
|
);
|
||
|
$mib_oids["genEquipRadioMRMCCurrTxBitrate.$ifIndex"] = array(
|
||
|
"",
|
||
|
"radio".$radioNumber."TxRate",
|
||
|
$ifName." Tx Bit Rate",
|
||
|
"GAUGE",
|
||
|
);
|
||
|
$mib_oids["genEquipRadioMRMCCurrRxBitrate.$ifIndex"] = array(
|
||
|
"",
|
||
|
"radio".$radioNumber."RxRate",
|
||
|
$ifName." Rx Bit Rate",
|
||
|
"GAUGE",
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
if ($num_radios > 1) {
|
||
|
$mib_graphs = array(
|
||
|
"ceraos_RxLevel",
|
||
|
"ceraos_TxPower",
|
||
|
"ceraos_MSE",
|
||
|
"ceraos_XPI",
|
||
|
"ceraos_DefectedBlocks",
|
||
|
"ceraos_TxBitrate",
|
||
|
"ceraos_RxBitrate",
|
||
|
);
|
||
|
} else {
|
||
|
$mib_graphs = array(
|
||
|
"ceraos_RxLevel",
|
||
|
"ceraos_TxPower",
|
||
|
"ceraos_MSE",
|
||
|
"ceraos_DefectedBlocks",
|
||
|
"ceraos_TxBitrate",
|
||
|
"ceraos_RxBitrate",
|
||
|
);
|
||
|
}
|
||
|
poll_mib_def($device, "MWRM-RADIO-MIB:ceragon-radio", "ceraos", $mib_oids, $mib_graphs, $graphs);
|
||
|
unset($feature, $num_radios, $radioNumber, $ifIndex, $ifIndex_array, $ifName, $ifDescr, $mib_graphs, $mib_oids, $snmp_get_oids);
|