<?php // Polling of UniFi MIB AP for Ubiquiti Unifi Radios // based on Airfiber MIB work of Mark Gibbons // UBNT-UniFi-MIB echo ' UBNT-UniFi-MIB '; // $mib_oids (oidindex,dsname,dsdescription,dstype) $mib_oids = array('unifiRadioCuTotal.0' => array('', 'Radio0CuTotal', 'Radio0 Channel Utilized', 'GAUGE'), 'unifiRadioCuTotal.1' => array('', 'Radio1CuTotal', 'Radio1 Channel Utilized', 'GAUGE'), 'unifiRadioCuSelfRx.0' => array('', 'Radio0CuSelfRx', 'Radio0 Channel Utilized Rx', 'GAUGE'), 'unifiRadioCuSelfRx.1' => array('', 'Radio1CuSelfRx', 'Radio1 Channel Utilized Rx', 'GAUGE'), 'unifiRadioCuSelfTx.0' => array('', 'Radio0CuSelfTx', 'Radio0 Channel Utilized Tx', 'GAUGE'), 'unifiRadioCuSelfTx.1' => array('', 'Radio1CuSelfTx', 'Radio1 Channel Utilized Tx', 'GAUGE'), 'unifiRadioOtherBss.0' => array('', 'Radio0OtherBss', 'Radio0 Channel Utilized by Others', 'GAUGE'), 'unifiRadioOtherBss.1' => array('', 'Radio1OtherBss', 'Radio1 Channel Utilized by Others', 'GAUGE')); $mib_graphs = array('ubnt_unifi_RadioCu_0', 'ubnt_unifi_RadioCu_1'); unset($graph, $oids, $oid); poll_mib_def($device, 'UBNT-UniFi-MIB:UBNT', 'ubiquiti', $mib_oids, $mib_graphs, $graphs); // EOF
<?php /** * @copyright (C) 2015 Mark Gibbons * */ // Polling of AirFIBER MIB AP for Ubiquiti AirFIBER Radios // // UBNT-AirFIBER-MIB echo " UBNT-AirFIBER-MIB "; // $mib_oids (oidindex,dsname,dsdescription,dstype) $mib_oids = array('txFrequency' => array('1', 'txFrequency', 'Tx Frequency', 'GAUGE'), 'rxFrequency' => array('1', 'rxFrequency', 'Rx Frequency', 'GAUGE'), 'txPower' => array('1', 'txPower', 'Tx Power', 'GAUGE'), 'radioLinkDistM' => array('1', 'radioLinkDistM', 'Link Distance', 'GAUGE'), 'rxCapacity' => array('1', 'rxCapacity', 'Rx Capacity', 'GAUGE'), 'txCapacity' => array('1', 'txCapacity', 'Tx Capacity', 'GAUGE'), 'radio0TempC' => array('1', 'radio0TempC', 'Radio 0 Temp', 'GAUGE'), 'radio1TempC' => array('1', 'radio1TempC', 'Radio 1 Temp', 'GAUGE'), 'txOctetsOK' => array('1', 'txOctetsOK', 'Tx Octets OK', 'COUNTER'), 'rxOctetsOK' => array('1', 'rxOctetsOK', 'Rx Octets OK', 'COUNTER'), 'rxValidUnicastFrames' => array('1', 'rxValUnicastFrms', 'TODOa', 'COUNTER'), 'rxValidMulticastFrames' => array('1', 'rxValMulticastFrms', 'TODOa', 'COUNTER'), 'rxValidBroadcastFrames' => array('1', 'rxValBroadcastFrms', 'TODO', 'COUNTER'), 'txValidUnicastFrames' => array('1', 'txValUnicastFrms', 'TODO', 'COUNTER'), 'txValidMulticastFrames' => array('1', 'txValMulticastFrms', 'TODO', 'COUNTER'), 'txValidBroadcastFrames' => array('1', 'txValBroadcastFrms', 'TODO', 'COUNTER'), 'rxTotalOctets' => array('1', 'rxTotalOctets', 'TODO', 'COUNTER'), 'rxTotalFrames' => array('1', 'rxTotalFrms', 'TODO', 'COUNTER'), 'rx64BytePackets' => array('1', 'rx64BytePkts', 'TODO', 'COUNTER'), 'rx65-127BytePackets' => array('1', 'rx65-127BytePkts', 'TODO', 'COUNTER'), 'rx128-255BytePackets' => array('1', 'rx128-255BytePkts', 'TODO', 'COUNTER'), 'rx256-511BytePackets' => array('1', 'rx256-511BytePkts', 'TODO', 'COUNTER'), 'rx512-1023BytePackets' => array('1', 'rx512-1023BytePkts', 'TODO', 'COUNTER'), 'rx1024-1518BytesPackets' => array('1', 'rx1024-1518BytePkts', 'TODO', 'COUNTER'), 'rx1519PlusBytePackets' => array('1', 'rx1519PlusBytePkts', 'TODO', 'COUNTER'), 'txoctetsAll' => array('1', 'txoctetsAll', 'TODO', 'COUNTER'), 'txpktsAll' => array('1', 'txpktsAll', 'TODO', 'COUNTER'), 'rxoctetsAll' => array('1', 'rxoctetsAll', 'TODO', 'COUNTER'), 'rxpktsAll' => array('1', 'rxpktsAll', 'TODO', 'COUNTER')); $mib_graphs = array('ubnt_airfiber_RadioFreqs', 'ubnt_airfiber_TxPower', 'ubnt_airfiber_LinkDist', 'ubnt_airfiber_Capacity', 'ubnt_airfiber_RadioTemp', 'AF1', 'AF2', 'AF3', 'AF4', 'AF5', 'ubnt_airfiber_RFTotOctetsTx', 'ubnt_airfiber_RFTotPktsTx', 'ubnt_airfiber_RFTotOctetsRx', 'ubnt_airfiber_RFTotPktsRx'); unset($graph, $oids, $oid); poll_mib_def($device, 'UBNT-AirFIBER-MIB:UBNT', 'ubiquiti', $mib_oids, $mib_graphs, $graphs); // EOF
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);
<?php echo ' Sub10 Systems'; $mib_oids = array('sub10RadioLclTxPower' => array('0', 'sub10RadioLclTxPower', 'Transmit Power', 'GAUGE'), 'sub10RadioLclRxPower' => array('0', 'sub10RadioLclRxPower', 'Receive Power', 'GAUGE'), 'sub10RadioLclVectErr' => array('0', 'sub10RadioLclVectErr', 'Vector Error', 'GAUGE'), 'sub10RadioLclLnkLoss' => array('0', 'sub10RadioLclLnkLoss', 'Link Loss', 'GAUGE'), 'sub10RadioLclAFER' => array('0', 'sub10RadioLclAFER', 'Air Frame Error Rate', 'GAUGE'), 'sub10RadioLclDataRate' => array('0', 'sub10RadioLclDataRate', 'Data Rate on Airside interface', 'GAUGE')); $mib_graphs = array('sub10_sub10RadioLclTxPower', 'sub10_sub10RadioLclRxPower', 'sub10_sub10RadioLclVectErr', 'sub10_sub10RadioLclLnkLoss', 'sub10_sub10RadioLclAFER', 'sub10RadioLclDataRate'); unset($graph, $oids, $oid); poll_mib_def($device, 'SUB10SYSTEMS-MIB:sub10Systems', 'sub10', $mib_oids, $mib_graphs, $graphs);
<?php echo ' Siklu Wireless '; $mib_oids = array('rfAverageRssi' => array('1', 'rfAverageRssi', 'Signal Strength', 'GAUGE'), 'rfAverageCinr' => array('1', 'rfAverageCinr', 'Signal to noise ratio', 'GAUGE'), 'rfOperationalFrequency' => array('1', 'rfOperFreq', 'Operational Frequency', 'GAUGE')); $mib_graphs = array('siklu_rfAverageRssi', 'siklu_rfAverageCinr', 'siklu_rfOperationalFrequency'); unset($graph, $oids, $oid); poll_mib_def($device, 'RADIO-BRIDGE-MIB:siklu-wireless', 'siklu', $mib_oids, $mib_graphs, $graphs); // Poll interface statistics $mib_oids = array('rfInPkts' => array('1', 'rfInPkts', 'In Packets', 'DERIVE', '600:0:12500000000'), 'rfOutPkts' => array('1', 'rfOutPkts', 'Out Packets', 'DERIVE', '600:0:12500000000'), 'rfInGoodPkts' => array('1', 'rfInGoodPkts', 'Good Packets', 'DERIVE'), 'rfInErroredPkts' => array('1', 'rfInErroredPkts', 'Errored Packets', 'DERIVE'), 'rfInLostPkts' => array('1', 'rfInLostPkts', 'Lost Packets', 'DERIVE'), 'rfInOctets' => array('1', 'rfInOctets', 'In Packets', 'DERIVE', '600:0:12500000000'), 'rfOutOctets' => array('1', 'rfOutOctets', 'Out Packets', 'DERIVE', '600:0:12500000000'), 'rfInGoodOctets' => array('1', 'rfInGoodOctets', 'Good Packets', 'DERIVE'), 'rfInErroredOctets' => array('1', 'rfInErroredOctets', 'Errored Packets', 'DERIVE'), 'rfInIdleOctets' => array('1', 'rfInIdleOctets', 'Lost Packets', 'DERIVE'), 'rfOutIdleOctets' => array('1', 'rfOutIdleOctets', 'Lost Packets', 'DERIVE')); $mib_graphs = array('siklu_rfinterfacePkts', 'siklu_rfinterfaceOtherPkts', 'siklu_rfinterfaceOctets', 'siklu_rfinterfaceOtherOctets'); unset($graph, $oids, $oid); poll_mib_def($device, 'RADIO-BRIDGE-MIB:siklu-interface', 'siklu', $mib_oids, $mib_graphs, $graphs);
<?php echo ' SAF Tehnika '; $mib_oids = array('radioRxLevel' => array('local', 'radioRxLevel', 'RX Power', 'GAUGE'), 'radioTxPower' => array('local', 'radioTxPower', 'TX Power', 'GAUGE'), 'modemRadialMSE' => array('local', 'modemRadialMSE', 'Radial MSE', 'GAUGE'), 'modemACMtotalCapacity' => array('local', 'modemACMCapacity', 'ACM Capacity', 'GAUGE'), 'modemTotalCapacity' => array('local', 'modemTotalCapacity', 'Capacity', 'GAUGE')); $mib_graphs = array('saf_radioRxLevel', 'saf_radioTxPower', 'saf_modemRadialMSE', 'saf_modemCapacity'); unset($graph, $oids, $oid); poll_mib_def($device, 'SAF-IPRADIO:saf-modem-radio', 'saf', $mib_oids, $mib_graphs, $graphs);