mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
73 lines
3.0 KiB
PHP
73 lines
3.0 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @copyright (C) 2015 Mark Gibbons
|
|
*
|
|
*/
|
|
|
|
// Polling of Airmax MIB AP for Ubiquiti Airmax Radios
|
|
//
|
|
// UBNT-AirMAX-MIB
|
|
|
|
echo(" UBNT-AirMAX-MIB ");
|
|
|
|
// Check If It Is A Device that supports latest Airmax MIB By Trying To Read Frequency
|
|
//if (substr($device['version'],0,3) == "5.6")
|
|
if (is_numeric(snmp_get($device, "ubntRadioFreq.1", "-OUqnv", "UBNT-AirMAX-MIB", $config['mib_dir'])))
|
|
{
|
|
|
|
// $mib_oids (oidindex,dsname,dsdescription,dstype)
|
|
|
|
$mib_oids = array(
|
|
'ubntRadioFreq' => array('1', 'RadioFreq', 'Frequency', 'GAUGE'),
|
|
'ubntRadioTxPower' => array('1', 'RadioTxPower', 'Tx Power', 'GAUGE'),
|
|
'ubntRadioDistance' => array('1', 'RadioDistance', 'Distance', 'GAUGE'),
|
|
'ubntRadioRssi.1.1' => array('', 'RadioRssi_0', 'RSSI Chain 0', 'GAUGE'),
|
|
'ubntRadioRssi.1.2' => array('', 'RadioRssi_1', 'RSSI Chain 1', 'GAUGE'),
|
|
'ubntWlStatSignal' => array('1', 'WlStatSignal', 'Signal', 'GAUGE'),
|
|
'ubntWlStatRssi' => array('1', 'WlStatRssi', 'Overall RSSI', 'GAUGE'),
|
|
'ubntWlStatCcq' => array('1', 'WlStatCcq', 'Transmit CCQ', 'GAUGE'),
|
|
'ubntWlStatNoiseFloor' => array('1', 'WlStatNoiseFloor', 'Noise Floor', 'GAUGE'),
|
|
'ubntWlStatTxRate' => array('1', 'WlStatTxRate', 'Tx Rate', 'GAUGE'),
|
|
'ubntWlStatRxRate' => array('1', 'WlStatRxRate', 'Rx Rate', 'GAUGE'),
|
|
'ubntWlStatStaCount' => array('1', 'WlStatStaCount', 'Sta Count', 'GAUGE'),
|
|
'ubntAirMaxQuality' => array('1', 'AirMaxQuality', 'AirMax Quality', 'GAUGE'),
|
|
'ubntAirMaxCapacity' => array('1', 'AirMaxCapacity', 'AirMax Capacity', 'GAUGE'),
|
|
);
|
|
|
|
$mib_graphs = array();
|
|
|
|
// Build Graph List Array
|
|
|
|
if (1 == 1)
|
|
{
|
|
|
|
// Is It An AP
|
|
if (stristr(snmp_get($device, "ubntRadioMode.1", "-OUqnv", "UBNT-AirMAX-MIB", $config['mib_dir']),"ap"))
|
|
{
|
|
// Yes - Add Station Count Graph
|
|
array_push($mib_graphs, 'ubnt_airmax_WlStatStaCount');
|
|
}
|
|
|
|
// Add Common Graphs
|
|
array_push($mib_graphs, 'ubnt_airmax_RadioFreq', 'ubnt_airmax_RadioTxPower', 'ubnt_airmax_RadioDistance', 'ubnt_airmax_RadioRssi_0', 'ubnt_airmax_RadioRssi_1',
|
|
'ubnt_airmax_WlStatSignal', 'ubnt_airmax_WlStatRssi', 'ubnt_airmax_WlStatCcq', 'ubnt_airmax_WlStatNoiseFloor', 'ubnt_airmax_WlStatTxRate',
|
|
'ubnt_airmax_WlStatRxRate');
|
|
// Is Airmax Enabled?
|
|
if (snmp_get($device, "ubntAirMaxEnabled.1", "-OUqnv", "UBNT-AirMAX-MIB", $config['mib_dir']) == 'true')
|
|
{
|
|
// Check To See If It Is An AC Device - Returns Airmax Capacity of 0
|
|
if (snmp_get($device, "ubntAirMaxCapacity.1", "-OUqnv", "UBNT-AirMAX-MIB", $config['mib_dir']) != 0)
|
|
{
|
|
//No - Not AC - add AirMax Graphs
|
|
array_push($mib_graphs, 'ubnt_airmax_AirMaxQuality', 'ubnt_airmax_AirMaxCapacity');
|
|
}
|
|
}
|
|
}
|
|
}
|
|
unset($graph, $oids, $oid);
|
|
|
|
poll_mib_def($device, 'UBNT-AirMAX-MIB:UBNT', 'ubiquiti', $mib_oids, $mib_graphs, $graphs);
|
|
|
|
// EOF
|